Comando CXBTH - Configuración Bluetooth BLE
Configura el modo de uso del módulo Bluetooth (BLE).
¿Para qué sirve?
| Caso de uso | Descripción |
|---|---|
| 📱 Configuración inalámbrica | Enviar comandos desde smartphone |
| 🔧 Diagnóstico | Acceder al equipo sin cables |
| 📊 Descarga de datos | Obtener logs vía Bluetooth |
| 📡 Destino de reportes | Enviar reportes a dispositivo BLE |
Descripción
Es muy importante actualizar el dispositivo con la versión adecuada que incluya esta funcionalidad. Se puede actualizar vía FOTA, reemplazando la extensión del archivo de actualización por .nimble.ota.
Habilitando al dispositivo a conectarse vía BLE en modo SPP, con un dispositivo maestro. Este dispositivo maestro podrá enviar y recibir comandos a través del puerto serial virtual generado como si fuese un puerto serial más del dispositivo.
Comandos
Configurar
SCXBTHa,nombre,pin,timeout,peerConsultar
QCXBTHRespuesta
RCXBTHa,nombre,pin,timeout,peerParámetros
| Campo | Descripción | Valores |
|---|---|---|
| a | Habilitación | 0=Deshabilitado, 1=Habilitado |
| nombre | Nombre del dispositivo BLE (mostrado) | Hasta 16 caracteres |
| pin | PIN de acceso Bluetooth | Hasta 16 caracteres |
| timeout | Segundos para autenticar antes de cerrar la sesión | 0 = 10 s (por defecto) |
| peer | Equipo remoto al que conectarse como maestro | Hasta 16 caracteres. Vacío = esclavo (comportamiento clásico) |
Los campos son acumulativos: un SCXBTH de menos campos no toca los que no envía. >SCXBTH1,Nombre,1234< deja el timeout y el peer como estaban.
Ejemplos
Habilitar el módulo Bluetooth
>SCXBTH1,MiDispositivo,1234<Habilita el módulo Bluetooth para que sea habilitado, muestre el nombre MiDispositivo, y permita la conexión de dispositivos utilizando el PIN 1234.
Deshabilitar lectura
>SCXBTH0<Enlace entre dos equipos (modo maestro)
Desde firmware v1.09.26 un equipo puede conectarse activamente a otro equipo por BLE, en vez de esperar a que un celular o gateway se conecte a él. Sirve para que un equipo sin conexión propia reporte a través de otro que sí la tiene.
Ejemplo típico: un equipo instalado en una tolva mide ángulos con el acelerómetro y no tiene SIM. Se enlaza por BLE al equipo del tractor, que reenvía los datos a la plataforma por su canal celular.
El rol lo define la configuración
peer | Rol | Comportamiento |
|---|---|---|
| Vacío | Esclavo | Anuncia y espera conexiones (comportamiento de siempre) |
| Con un nombre | Maestro | Busca ese equipo y se conecta a él |
El peer se configura en un solo lado del par. Ambos equipos deben tener el mismo PIN: el maestro lo usa para autenticarse contra el esclavo.
El peer admite hasta 16 caracteres, contando el * del modo itinerante.
// En el equipo del tractor (esclavo): sin peer
>SCXBTH1,TRACTOR_01,1234,10,<
// En el equipo de la tolva (maestro): apunta al tractor
>SCXBTH1,TOLVA_07,1234,10,TRACTOR_01<El maestro busca el nombre, se conecta, se autentica y queda enlazado. Si el enlace se corta —por distancia, por un reinicio del otro equipo o por una actualización— reconecta solo.
Fijación del equipo remoto
En la primera autenticación exitosa el maestro memoriza la dirección física del equipo remoto. A partir de ahí sólo reconecta a ese equipo, aunque otro anuncie el mismo nombre. La memoria se borra al reconfigurar el peer.
Esto evita que un equipo ajeno con el mismo nombre capture el enlace. Conviene hacer el primer enlace durante la instalación, con los dos equipos cerca.
Modo itinerante
Si el equipo remoto cambia —por ejemplo una tolva que trabaja con distintos tractores— se antepone * al nombre:
>SCXBTH1,TOLVA_07,1234,10,*TRACTOR<Con * no se fija la dirección física: el maestro se conecta al equipo con ese nombre y mejor señal, que es el que lo está remolcando. Todos los equipos de la flota comparten nombre y PIN. Como el * ocupa un lugar, el nombre puede tener hasta 15 caracteres.
El modo itinerante no fija el equipo remoto, así que no protege contra un equipo ajeno que anuncie el mismo nombre. Usarlo sólo cuando el remoto realmente cambia.
Acceso al equipo maestro mientras está enlazado
En los equipos que admiten una sola conexión BLE simultánea, mientras el maestro está enlazado deja de anunciarse: no vas a poder conectarte a él con el celular ni con la app de configuración. Vuelve a anunciarse solo cuando el enlace se cae y está reintentando. Para configurarlo con el enlace en pie, hacelo por otro canal (serie, celular) o borrá el peer primero.
Reportes a través del enlace
Con el enlace activo, el destino BTH funciona igual que siempre: los reportes dirigidos a ;@BTH viajan al equipo remoto. Si el enlace está caído, quedan encolados y bajan solos al reconectar — no se pierden.
En el equipo receptor, lo que llega puede capturarse con un capturador CXXB de medio B (Bluetooth) y reenviarse a la plataforma como reporte de usuario. Cada trama viaja con el ID del equipo que la generó, así que la plataforma distingue el origen.
Estado del enlace
QBTH expone el rol y el estado del enlace en sus campos 8 y 9.
Destino BTH para Reportes
Cuando se habilita el módulo BTH, también se habilita el destino BTH para poder generar reportes a ese destino.
Por ejemplo, el comando:
>SG1CQ000,BTH<Generará un reporte CQ hacia el dispositivo maestro.
Variable de Conexión
La variable BTH_CONNECTED estará disponible para ser utilizada en el motor de eventos. Cuando sea verdadera indicará una conexión en curso.
Compatibilidad
Ver También
- Comando BTH (IOT) - Estado de la conexión y del enlace entre equipos
- Comando BS (IOT) - Escaneo BLE
- Comando BE (IOT) - Beacons BLE