Skip to Content
GuíasSensores BLE

📡 Sensores BLE — Lectura de datos inalámbricos

Guía para configurar la lectura de sensores Bluetooth Low Energy en dispositivos Rinho IoT.

Esta guía cubre la lectura de sensores BLE (temperatura, humedad, combustible, presencia). Si necesita configurar un terminal serie inalámbrico para enviar comandos desde el celular, consulte la guía de Vinculación BLE (SPP).


🤔 ¿Para qué sirve la lectura de sensores BLE?

El módulo BLE permite conectar sensores inalámbricos al equipo GPS:

  • 🌡️ Temperatura y humedad — Cadena de frío con sensores Rinho Condition (L02S)
  • Combustible — Nivel de tanque con Escort TD BLE
  • 🚪 Puertas — Apertura/cierre con sensor magnético (Hall)
  • 🏷️ Presencia — Detección de choferes, herramientas o remolques con iBeacon
  • 🆘 Pánico — Botón de emergencia inalámbrico con pulsera MoKo W6

Se pueden configurar hasta 4 sensores BLE simultáneos (BS00 a BS03), cada uno vinculado a un sensor específico por su dirección MAC.


🔧 Requisitos previos

Antes de empezar se necesita:

RequisitoDetalle
EquipoSpider IoT, Smart IoT o Zero IoT
Sensor BLERinho Condition (L02S), Escort TD, iBeacon u otro compatible
App celularCargando...
Terminal serieCable USB o Cargando...

🔄 Elegir y cargar el firmware BLE

Spider IoT / Smart IoT

El ESP32 tiene dos particiones de firmware intercambiables. Para usar BLE es necesario cargar el firmware Nimble:

BLE y WiFi no pueden coexistir en la misma partición del Spider / Smart IoT. Si se necesitan ambos, cargar cada firmware en una partición diferente y cambiar con >SFRMCP0< / >SFRMCP1<.

Zero IoT

El Zero IoT posee un único firmware que incluye BLE y WiFi. No es necesario cambiar de firmware, pero ambas funcionalidades no pueden estar activas al mismo tiempo:

// Usar BLE: apagar WiFi >SSSWIFPWR00< // Usar WiFi: apagar BLE >SSSBTHPWR00<
SeñalComando encenderComando apagarFunción
WIFPWR>SSSWIFPWR11<>SSSWIFPWR00<Controla el módulo WiFi
BLEPWR>SSSBTHPWR11<>SSSBTHPWR00<Controla el módulo BLE

En el Zero IoT no hace falta descargar firmware especial. Solo hay que desactivar WiFi con >SSSWIFPWR00< cuando se quiera usar BLE, y viceversa.

Cargar firmware Nimble en Spider / Smart IoT

Configurar URL de descarga

Iniciar descarga por WiFi o celular

>SFRMM1< // Por WiFi (más rápido) >SFRMM2< // Por celular (si no hay WiFi)

Esperar la actualización

El equipo descarga, instala y reinicia automáticamente. Puede tardar 2-5 minutos por celular.

Verificar firmware

>QVR<

La respuesta debe incluir NIMBLE:

>RVR RINHO IOT v1.09.16 SP EG915U LC86G 16MB NIMBLE 2025-01-15 10:30:00;ID=...

Particiones de firmware (Spider / Smart): Si se tiene WiFi en una partición y se desea BLE en la otra, usar >SFRMCP0< o >SFRMCP1< para cambiar entre particiones sin perder ninguna. Luego reiniciar con >SRST<.


🌡️ Caso 1: Sensor de temperatura y humedad — Rinho Condition (L02S)

El sensor más usado en los equipos Rinho. Mide temperatura, humedad y tiene un sensor magnético (Hall) para detectar apertura de puertas.

📦 Ficha técnica del Rinho Condition · Cargando...

Paso 0: Encender el sensor

El sensor viene apagado de fábrica:

  1. Desenroscar la tapa inferior del sensor (giro antihorario)
  2. Retirar la tapa para acceder al interior
  3. Presionar el botón interno durante 3 segundos hasta que el LED parpadee
  4. Volver a enroscar la tapa

Una vez encendido, el sensor comienza a transmitir por BLE automáticamente. Para apagar: mantener presionado el botón 10 segundos.

Paso 1: Configurar el sensor con BeaconX Pro

Instalar la app

Cargando...

Conectar al sensor

  1. Abrir BeaconX Pro y escanear dispositivos
  2. Tocar el sensor Rinho Condition (L02S) para conectar

Configurar Slot 2 como Sensor Info

El sensor tiene 3 “slots” (canales de broadcasting). Para que el equipo Rinho lea los datos correctamente:

  1. Ir a Slot 2 (SLOT2)
  2. Cambiar el tipo a Sensor Info
  3. Guardar los cambios

Anotar la dirección MAC

En la pantalla principal del sensor conectado, anotar la MAC address (ej: AC233FA24B16). Se necesitará para configurar el BS.

Configurar sensor magnético Hall (si se usa detección de puerta)

Paso crítico si se necesita usar el sensor de efecto Hall (detección de puerta). Muchos usuarios no ven cambios en el estado magnético porque omiten este paso.

Por defecto, el sensor tiene habilitado el modo “Magnet On/Off” que apaga/enciende el sensor con un imán, en vez de reportar el estado magnético. Para usarlo como sensor de puerta, hay que desactivar esa función:

  1. En BeaconX Pro, ir a la sección Sensor
  2. Buscar la opción “Magnet On/Off”
  3. Desactivar “Magnet On/Off”
  4. Guardar los cambios

Ahora el sensor reportará continuamente el estado del campo magnético en el atributo mag_st (0 = cerrado, 1 = abierto).

Paso 2: Configurar BS en el equipo

>SBS00E,AC233FA24B16,10,60,0,INVALID<
ParámetroValorDescripción
00ÍndicePosición del sensor (00 a 03)
EHabilitarE=Habilitar, D=Deshabilitar
AC233FA24B16MACDirección MAC del sensor (sin :)
10Tipo10 = Rinho Condition / Sensor Info (MK)
60TimeoutSegundos sin señal para considerar desconectado
0Distancia0 = sin filtro de distancia
INVALIDValor inválidoTexto cuando no hay lectura válida

Paso 3: Verificar lectura

Consultar los atributos del sensor con el comando QBS:

>QBS00< // Estado general del sensor >QBS00.temp< // Temperatura (ej: 23.5) >QBS00.hum< // Humedad (ej: 65) >QBS00.mag< // Magnético (0=cerrado, 1=abierto) >QBS00.batt< // Batería del sensor (%) >QBS00.rssi< // Intensidad de señal BLE

Respuesta típica completa:

>RBS00E,AC233FA24B16,10,60,0,INVALID;mag_st:0,mot_st:0,mag_cnt:5,mot_cnt:0,x:0,y:0,z:0,temp:23.5,hum:65,batt:95,tag:MK,rssi:-52;ID=...

Los atributos disponibles para tipo 10 (MK) son: mag_st (magnético), mot_st (movimiento), mag_cnt, mot_cnt, x, y, z, temp, hum, batt, tag, rssi.


⛽ Caso 2: Sensor de combustible (Escort TD BLE)

El Escort TD es un sensor de nivel de combustible wireless que se instala en el tanque.

Configurar BS

>SBS01E,A1B2C3D4E5F6,30,60,10,INVALID<
ParámetroValorDescripción
01ÍndiceBS01 (puede ser cualquiera de 00-03)
30Tipo30 = Escort TD (Combustible)
A1B2C3D4E5F6MACMAC del Escort TD

Consultar nivel

>QBS01.fuel_lvl< // Nivel de combustible >QBS01.battery< // Batería del sensor >QBS01.temp< // Temperatura

Respuesta:

>432;ID=... // 432 = nivel de combustible (unidad según sensor)

🏷️ Caso 3: iBeacon para presencia y pánico

Los iBeacon son balizas simples que transmiten su identidad. Sirven para saber si un chofer, herramienta o remolque está cerca.

Configurar BS con iBeacon

>SBS02E,AABBCCDDEEFF,2,30,5,0<
ParámetroValorDescripción
02ÍndiceBS02
2Tipo2 = Eddystone UID / iBeacon presencia
30Timeout30 segundos sin señal = ausente
5Distancia5 metros máximo

Usar señales en reglas

Cada sensor BS genera señales automáticas que se pueden usar en el motor de eventos:

SeñalSignificado
BS02+El beacon fue detectado (entró en rango)
BS02-El beacon fue perdido (salió de rango o timeout)

Ejemplo de regla: Reportar cuando un chofer sube o baja del vehículo:

// Regla: cuando el beacon del chofer es detectado, reportar >SRL00E;TRG=BS02+;ACC={GCQ00H}< // Regla: cuando el beacon se pierde, reportar >SRL01E;TRG=BS02-;ACC={GCQ00H}<

🔍 BSW: Auto-detección para escenarios dinámicos

El sistema BSW (Bluetooth Smart Wildcard) detecta automáticamente sensores sin conocer su MAC previamente. Filtra por UUID, Major y Minor del iBeacon.

¿Cuándo usar BSW en vez de BS?

EscenarioUsar
Sensor fijo, siempre el mismoBS (con MAC)
Semi-remolque intercambiableBSW (sin MAC, filtra por UUID)
Múltiples sensores iguales rotandoBSW
Flota con semis que cambian de tractorBSW

Ejemplo: Tractor que conecta distintos semis

Cada semi tiene un beacon con el mismo UUID pero distinto Major. El tractor detecta automáticamente cuál semi está enganchado:

// BSW00 captura beacons con UUID específico y los inyecta en BS00 >SBSW00E,00,2F234454CF6D4A0FADF2F4911BA9FFA6,0,0,30,5<
ParámetroValorDescripción
00Índice BSWBSW00
EHabilitar
00TargetInyectar MAC capturada en BS00
2F23...FFA6UUIDUUID del beacon del semi
0Major0 = cualquier Major
0Minor0 = cualquier Minor
30Timeout30 segundos
5Distancia5 metros máximo

Consultar estado BSW

>QBSW00<

Respuesta con dispositivo detectado:

>RBSW00E,00,2F234454CF6D4A0FADF2F4911BA9FFA6,0,0,30,5;detects:1,active:1,mac:AA:BB:CC:DD:EE:FF,rssi:-45,distance:1.50,age:3;ID=...

BSW con múltiples targets

Para monitorear temperatura en 4 zonas de un semi frigorífico, con un sensor por zona:

// BSW00 captura sensores con Major 1-4 y los distribuye en BS00-BS03 >SBSW00E,00:01:02:03,2F234454CF6D4A0FADF2F4911BA9FFA6,1,4,60,0<

El rango Major 1 a 4 hace que BSW capture hasta 4 sensores diferentes y los asigne a BS00, BS01, BS02 y BS03 respectivamente.


📊 Integrar datos BLE en reportes

Para que la plataforma reciba los datos de los sensores BLE, configurar un reporte de usuario (SUC) que incluya los tokens QBS:

Ejemplo: Reporte con temperatura y humedad

>SUC04 $RCQ| #| QCQ,5,64| $;PA=temp:2:| QBS00.temp| $;PA=hum:2:| QBS00.hum| $;PA=mag:1:| QBS00.mag<
TokenDescripción
$RCQEncabezado de reporte
#Número de secuencia
QCQ,5,64Posición GPS estándar
$;PA=temp:2:Parámetro adicional “temp” tipo float (2)
QBS00.tempValor de temperatura del BS00
$;PA=hum:2:Parámetro adicional “hum” tipo float (2)
QBS00.humValor de humedad del BS00
$;PA=mag:1:Parámetro adicional “mag” tipo integer (1)
QBS00.magValor magnético del BS00

Tipos de dato para parámetros PA

CódigoTipoEjemplo
1Integermag:1:0
2Floattemp:2:23.5
3Stringtag:3:MK

Generar el reporte

>GCQ04H< // Genera un reporte SUC04 y lo envía

Ver comando G para más opciones de generación.

Respuesta del equipo:

>RCQ04...;PA=temp:2:23.5;PA=hum:2:65;PA=mag:1:0;ID=...

🔗 Crear reglas con sensores BLE

Es posible aprovechar las señales BS para crear automatizaciones con reglas (RL) y disparadores de usuario (UV):

Ejemplo 1: Alerta de temperatura alta

Primero creamos un disparador de usuario (UV) que monitoree la temperatura y se active cuando supere 35 grados:

// UV00: monitorea QBS00.temp (float), se activa cuando valor esta entre 350 y 9999 // (el sensor reporta temp x10, entonces 350 = 35.0 grados) >SUV00FQBS00.temp,0,10,350,9999< // Regla: si UV00 se activa (temp alta), generar reporte >SRL02E;TRG=UV00+;ACC={GCQ04H}< // Regla: si UV00 se desactiva (temp normal), generar reporte >SRL03E;TRG=UV00-;ACC={GCQ04H}<
Parámetro SUVValorDescripción
00ÍndiceDisparador UV00
FTipoFloat (punto flotante)
QBS00.tempComandoValor a monitorear
0InicioPosición del primer carácter
10LargoCantidad de caracteres a extraer
350MínimoValor mínimo para activar (35.0 grados)
9999MáximoValor máximo

Ejemplo 2: Alerta de puerta abierta (sensor magnético)

// UV01: monitorea el estado magnético, se activa cuando mag vale 1 o mas >SUV01FQBS00.mag,0,10,1,2< // Regla: puerta abierta (magnético = 1) >SRL04E;TRG=UV01+;ACC={GCQ04H}< // Regla: puerta cerrada (magnético = 0) >SRL05E;TRG=UV01-;ACC={GCQ04H}<

Ejemplo 3: Presencia de chofer (señal directa BS)

// BS02 tiene el iBeacon del chofer // Regla: reportar cuando se sube (beacon detectado) >SRL06E;TRG=BS02+;ACC={GCQ00H}< // Regla: reportar cuando se baja (beacon perdido) >SRL07E;TRG=BS02-;ACC={GCQ00H}<

🐛 Depuración BLE

Cuando un sensor no aparece o los datos son incorrectos, activar el debug BLE:

Ver frames BLE crudos

Usar el comando DB para activar el debug BLE:

>SDB0+BLX<

Esto muestra en la consola de debug todos los paquetes BLE que recibe el equipo, incluyendo MACs, tipos y datos crudos. Útil para:

  • Verificar que el sensor está transmitiendo
  • Confirmar la MAC address
  • Ver si el tipo de sensor es correcto
  • Diagnosticar sensores desconocidos

Desactivar debug BLE

>SDB0-BLX<

Activar debug general

>SDB1< // Nivel 1: mensajes principales >SDB2< // Nivel 2: más detalle

🔧 Solución de problemas

ProblemaCausa posibleSolución
QVR no muestra NIMBLE ni BLEFirmware incorrecto (Spider/Smart)Cargar firmware Nimble (ver sección firmware)
Sensor no se detectaMAC incorrectaVerificar MAC con BeaconX Pro
QBS00 devuelve INVALIDSensor fuera de rango o apagadoAcercar sensor, verificar batería
Temperatura siempre 0Slot del sensor mal configuradoConfigurar Slot 2 como Sensor Info en BeaconX Pro
WiFi dejó de funcionar (Spider/Smart)BLE y WiFi comparten particiónEs normal: usar particiones (>SFRMCP<)
WiFi dejó de funcionar (Zero)BLE y WiFi mutuamente excluyentesApagar BLE con >SSSBTHPWR00< antes de usar WiFi
Hall siempre en 0Modo “Magnet On/Off” activoDesactivar en BeaconX Pro, sección Sensor
Equipo más lentoEscaneo BLE consume recursosEs normal, considerar intervalos de escaneo
Sensor funciona intermitenteSeñal débil o interferenciaVerificar >QBS00.rssi<, acercar sensor

📱 Apps útiles

AppPlataformaUso
Cargando...Android/iOSConfigurar sensores MoKo (slots, intervalos, Hall)
Cargando...AndroidEnviar comandos al equipo Rinho por BLE
Cargando...Android/iOSEscanear y debuggear dispositivos BLE genéricos

📝 Ejemplo completo

Configuración típica de un equipo con sensor de temperatura Rinho Condition (L02S) y beacon de presencia de chofer:

// 1. Verificar firmware BLE >QVR< >RVR RINHO IOT v1.09.16 SP EG915U LC86G 16MB NIMBLE ...;ID=... // 2. Configurar sensor de temperatura en BS00 >SBS00E,AC233FA24B16,10,60,0,INVALID< >RBS00E,AC233FA24B16,10,60,0,INVALID;... // 3. Verificar lectura de temperatura >QBS00.temp< >23.5;ID=... // 4. Configurar beacon de chofer en BS02 >SBS02E,DDEEFF112233,2,30,5,0< >RBS02E,DDEEFF112233,2,30,5,0;... // 5. Crear reporte con temperatura >SUC04 $RCQ| #| QCQ,5,64| $;PA=temp:2:| QBS00.temp| $;PA=hum:2:| QBS00.hum< // 6. Regla: reportar cuando chofer sube/baja >SRL00E;TRG=BS02+;ACC={GCQ04H}< >SRL01E;TRG=BS02-;ACC={GCQ04H}< // 7. Regla: alerta temperatura alta >SUV00FQBS00.temp,0,10,350,9999< >SRL02E;TRG=UV00+;ACC={GCQ04H}< // 8. Probar reporte manual >GCQ04H< >RCQ04...;PA=temp:2:23.5;PA=hum:2:65;ID=...

📖 Resumen de comandos

ComandoFunciónReferencia
>SBS00E,MAC,tipo,...<Configurar sensor BLEBS IoT
>QBS00<Estado del sensorBS IoT
>QBS00.temp<Leer atributo específicoBS IoT
>SBSW00E,...<Configurar auto-detecciónBSW IoT
>QBSW00<Estado de wildcardBSW IoT
>SUV00F...<Disparador de usuarioUV
>SRL00E;TRG=...;ACC={...}<Regla del motor de eventosRL
>SUC04 ...<Reporte de usuarioReportes de usuario
>GCQ04H<Generar reporteG
>SDB0+BLX<Debug BLEDB
>SFRMM1< / >SFRMM2<Actualizar firmware
>SFRMCP0< / >SFRMCP1<Cambiar partición
>SSSWIFPWR00<Apagar WiFi (Zero IoT)
>SSSBTHPWR00<Apagar BLE (Zero IoT)

🎯 Próximos pasos

Última actualización