Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Aceptar automáticamente la confirmación de emparejamiento Bluetooth en una Pi 3 sin pantalla

Aceptar automáticamente la confirmación de emparejamiento Bluetooth en una Pi 3 sin pantalla

Resuelto 4 3

Traducido del Türkçe por IA ·

Pi 3B+, Bookworm Lite, en campo dentro de un panel, sin pantalla ni teclado. En la instalación, el técnico se conecta con una tableta por Bluetooth serie (SPP) e introduce algunos ajustes: datos de Wi-Fi y el token de acceso de Hermetry. Probándolo en la mesa con pantalla no hay problema, pero en campo, durante el emparejamiento, bluetoothctl espera esto:

[agent] Confirm passkey 482913 (yes/no):

Como no hay pantalla, nadie puede escribir «yes» y el emparejamiento caduca por tiempo de espera. ¿Hay alguna forma de aceptarlo automáticamente? Además, en el lado SPP abrí getty con rfcomm, pero no llega nada cuando la tableta se conecta.

♥ 0

Traducido del Türkçe por IA ·

Si la aceptas automáticamente, cualquiera al alcance puede emparejarse, así que ten cuidado. El Bluetooth atraviesa las paredes incluso si el panel está bloqueado.

♥ 1

Traducido del Türkçe por IA ·

Yo hice lo mismo en el laboratorio, hay dos problemas separados.Para el emparejamiento, ejecuta bt-agent del paquete bluez-tools en modo NoInputNoOutput. En este modo no se pide ningún passkey:

sudo apt install bluez-tools
# /etc/systemd/system/bt-agent.service
[Service]
ExecStart=/usr/bin/bt-agent -c NoInputNoOutput
Restart=always
[Install]
WantedBy=multi-user.target

Por lo que dijo Sra. Derya, no dejé el dispositivo siempre visible. Hay un pequeño script que, al pulsar un botón del panel, ejecuta bluetoothctl discoverable on y pairable on durante 2 minutos, y cuando se acaba el tiempo desactiva ambos.La razón por la que getty no aparece en el lado de SPP es muy probablemente que bluetoothd no esté funcionando en modo de compatibilidad. En Bookworm el perfil SPP no se registra por defecto. Inicia bluetoothd con -C y luego añade el puerto serie:

# /etc/systemd/system/bluetooth.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/libexec/bluetooth/bluetoothd -C

sudo sdptool add SP
sudo rfcomm watch hci0 1 getty rfcomm0 115200 vt100

Después de introducir el token, no lo dejes en la pantalla. Y si quedó en la tableta de un técnico, es buena idea rotarlo después desde Hermetry.

Solución aceptada♥ 5

Traducido del Türkçe por IA ·

Creé el servicio bt-agent más una ventana de 2 minutos activada con un botón, y ahora el emparejamiento funciona sin problemas. El problema de getty fue exactamente como dijiste: faltaba el -C, y rfcomm daba un error «sdp», yo buscaba el error en el lugar equivocado. Gracias.

♥ 1

Traducido del Türkçe por IA ·

La idea del botón es buena, nosotros también lo pusimos dentro de la tapa del panel, así no se puede pulsar sin abrir la tapa.

♥ 2
Viendo 5 entradas – de la 1 a la 5 (de un total de 5)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir