Skip to Content
GuiasSensores BLE

📡 Sensores BLE — Leitura de Dados sem Fio

Guia para configurar a leitura de sensores BLE em dispositivos Rinho IoT.

Este guia aborda a leitura de sensores BLE (temperatura, umidade, combustível, presença). Para configurar um terminal serial sem fio para enviar comandos do celular, consulte o guia de Vinculação BLE (SPP).


🤔 Para que serve a leitura de sensores BLE?

O módulo BLE permite conectar sensores sem fio ao dispositivo GPS:

  • 🌡️ Temperatura e umidade — Cadeia de frio com sensores Rinho Condition (L02S)
  • Combustível — Nível do tanque com Escort TD BLE
  • 🚪 Portas — Abertura/fechamento com sensor magnético (Hall)
  • 🏷️ Presença — Detecção de motorista, ferramenta ou reboque com iBeacon
  • 🆘 Pânico — Botão de emergência sem fio com pulseira MoKo W6

É possível configurar até 4 sensores BLE simultâneos (BS00 a BS03), cada um vinculado a um sensor específico pelo endereço MAC.


🔧 Pré-requisitos

Antes de começar:

RequisitoDetalhe
DispositivoSpider IoT, Smart IoT ou Zero IoT
Sensor BLERinho Condition (L02S), Escort TD, iBeacon ou outro compatível
App no celularCargando...
Terminal serialCabo USB ou Cargando...

🔄 Escolher e carregar firmware BLE

Spider IoT / Smart IoT

O ESP32 possui duas partições de firmware intercambiáveis. Para usar BLE, o firmware Nimble deve estar carregado:

BLE e WiFi não podem coexistir na mesma partição do Spider / Smart IoT. Se ambos forem necessários, carregue cada firmware em uma partição diferente e alterne com >SFRMCP0< / >SFRMCP1<.

Zero IoT

O Zero IoT possui um firmware único que inclui BLE e WiFi. Não é necessário trocar de firmware, mas ambas as funcionalidades não podem estar ativas simultaneamente:

// Usar BLE: desligar WiFi >SSSWIFPWR00< // Usar WiFi: desligar BLE >SSSBTHPWR00<
SinalLigarDesligarFunção
WIFPWR>SSSWIFPWR11<>SSSWIFPWR00<Controla o módulo WiFi
BLEPWR>SSSBTHPWR11<>SSSBTHPWR00<Controla o módulo BLE

O Zero IoT não requer firmware especial. Basta desligar o WiFi com >SSSWIFPWR00< para usar BLE, e vice-versa.

Carregar firmware Nimble no Spider / Smart IoT

Definir URL de download

Iniciar download via WiFi ou celular

>SFRMM1< // Via WiFi (mais rápido) >SFRMM2< // Via dados móveis (se não houver WiFi)

Aguardar a atualização

O dispositivo baixa, instala e reinicia automaticamente. Pode levar de 2 a 5 minutos via dados móveis.

Verificar firmware

>QVR<

A resposta deve incluir NIMBLE:

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

Partições de firmware (Spider / Smart): Se o WiFi estiver em uma partição e o BLE for desejado na outra, use >SFRMCP0< ou >SFRMCP1< para alternar entre partições sem perder nenhuma. Depois reinicie com >SRST<.


🌡️ Caso 1: Sensor de temperatura e umidade — Rinho Condition (L02S)

O sensor mais utilizado com dispositivos Rinho. Mede temperatura, umidade e possui sensor magnético (Hall) para detecção de portas.

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

Passo 0: Ligar o sensor

O sensor vem desligado de fábrica:

  1. Desparafuse a tampa inferior do sensor (sentido anti-horário)
  2. Remova a tampa para acessar o interior
  3. Pressione o botão interno por 3 segundos até o LED piscar
  4. Recoloque a tampa

Uma vez ligado, o sensor começa a transmitir via BLE automaticamente. Para desligar: mantenha o botão pressionado por 10 segundos.

Passo 1: Configurar o sensor com BeaconX Pro

Instalar o app

Cargando...

Conectar ao sensor

  1. Abra o BeaconX Pro e escaneie os dispositivos
  2. Toque no sensor Rinho Condition (L02S) para conectar

Configurar Slot 2 como Sensor Info

O sensor possui 3 “slots” (canais de transmissão). Para que o dispositivo Rinho leia os dados corretamente:

  1. Vá para Slot 2 (SLOT2)
  2. Altere o tipo para Sensor Info
  3. Salve as alterações

Anotar o endereço MAC

Na tela principal do sensor conectado, anote o endereço MAC (ex.: AC233FA24B16). Será necessário para configurar o BS.

Configurar sensor magnético Hall (se usar detecção de porta)

Passo crítico se estiver usando o sensor de efeito Hall (detecção de porta). Muitos usuários não veem mudanças no estado magnético porque pulam este passo.

Por padrão, o sensor tem o modo “Magnet On/Off” ativado, que liga/desliga o sensor com um ímã em vez de reportar o estado magnético. Para usá-lo como sensor de porta, é necessário desativar esta funcionalidade:

  1. No BeaconX Pro, vá para a seção Sensor
  2. Encontre a opção “Magnet On/Off”
  3. Desative “Magnet On/Off”
  4. Salve as alterações

O sensor agora reportará continuamente o estado do campo magnético no atributo mag_st (0 = fechado, 1 = aberto).

Passo 2: Configurar BS no dispositivo

>SBS00E,AC233FA24B16,10,60,0,INVALID<
ParâmetroValorDescrição
00ÍndicePosição do sensor (00 a 03)
EHabilitarE=Habilitar, D=Desabilitar
AC233FA24B16MACEndereço MAC do sensor (sem :)
10Tipo10 = Rinho Condition / Sensor Info (MK)
60TimeoutSegundos sem sinal para considerar desconectado
0Distância0 = sem filtro de distância
INVALIDValor inválidoTexto quando não há leitura válida

Passo 3: Verificar leitura

Consulte os atributos do sensor com o comando QBS:

>QBS00< // Status geral do sensor >QBS00.temp< // Temperatura (ex.: 23.5) >QBS00.hum< // Umidade (ex.: 65) >QBS00.mag< // Magnético (0=fechado, 1=aberto) >QBS00.batt< // Bateria do sensor (%) >QBS00.rssi< // Intensidade do sinal BLE

Resposta completa típica:

>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=...

Atributos disponíveis para tipo 10 (MK): mag_st (magnético), mot_st (movimento), mag_cnt, mot_cnt, x, y, z, temp, hum, batt, tag, rssi.


⛽ Caso 2: Sensor de combustível (Escort TD BLE)

O Escort TD é um sensor de nível de combustível sem fio instalado no tanque.

Configurar BS

>SBS01E,A1B2C3D4E5F6,30,60,10,INVALID<
ParâmetroValorDescrição
01ÍndiceBS01 (pode ser qualquer de 00-03)
30Tipo30 = Escort TD (Combustível)
A1B2C3D4E5F6MACMAC do Escort TD

Consultar nível

>QBS01.fuel_lvl< // Nível de combustível >QBS01.battery< // Bateria do sensor >QBS01.temp< // Temperatura

Resposta:

>432;ID=... // 432 = nível de combustível (unidade depende do sensor)

🏷️ Caso 3: iBeacon para presença e pânico

iBeacons são beacons simples que transmitem sua identidade. Útil para saber se um motorista, ferramenta ou reboque está próximo.

Configurar BS com iBeacon

>SBS02E,AABBCCDDEEFF,2,30,5,0<
ParâmetroValorDescrição
02ÍndiceBS02
2Tipo2 = Eddystone UID / iBeacon presença
30Timeout30 segundos sem sinal = ausente
5Distância5 metros máximo

Usar sinais em regras

Cada sensor BS gera sinais automáticos que podem ser usados no motor de eventos:

SinalSignificado
BS02+Beacon foi detectado (entrou no alcance)
BS02-Beacon foi perdido (saiu do alcance ou timeout)

Exemplo de regra: Reportar quando o motorista embarca ou sai do veículo:

// Regra: quando o beacon do motorista é detectado, reportar >SRL00E;TRG=BS02+;ACC={GCQ00H}< // Regra: quando o beacon é perdido, reportar >SRL01E;TRG=BS02-;ACC={GCQ00H}<

🔍 BSW: Auto-detecção para cenários dinâmicos

O sistema BSW (Bluetooth Smart Wildcard) detecta sensores automaticamente sem conhecer o MAC previamente. Filtra por UUID, Major e Minor do iBeacon.

Quando usar BSW em vez de BS?

CenárioUsar
Sensor fixo, sempre o mesmoBS (com MAC)
Semirreboque intercambiávelBSW (sem MAC, filtra por UUID)
Múltiplos sensores idênticos em rotaçãoBSW
Frota com reboques alternando entre tratoresBSW

Exemplo: Trator conectando-se a diferentes reboques

Cada reboque tem um beacon com o mesmo UUID mas Major diferente. O trator detecta automaticamente qual reboque está acoplado:

// BSW00 captura beacons com UUID específico e injeta no BS00 >SBSW00E,00,2F234454CF6D4A0FADF2F4911BA9FFA6,0,0,30,5<
ParâmetroValorDescrição
00Índice BSWBSW00
EHabilitar
00DestinoInjeta o MAC capturado no BS00
2F23...FFA6UUIDUUID do beacon do reboque
0Major0 = qualquer Major
0Minor0 = qualquer Minor
30Timeout30 segundos
5Distância5 metros máximo

Consultar status do BSW

>QBSW00<

Resposta com 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 com múltiplos destinos

Para monitorar temperatura em 4 zonas de um reboque refrigerado, com um sensor por zona:

// BSW00 captura sensores com Major 1-4 e distribui para BS00-BS03 >SBSW00E,00:01:02:03,2F234454CF6D4A0FADF2F4911BA9FFA6,1,4,60,0<

O intervalo Major 1 a 4 faz o BSW capturar até 4 sensores diferentes e atribuí-los a BS00, BS01, BS02 e BS03 respectivamente.


📊 Integrar dados BLE nos relatórios

Para que a plataforma receba dados dos sensores BLE, configure um relatório de usuário (SUC) que inclua tokens QBS:

Exemplo: Relatório com temperatura e umidade

>SUC04 $RCQ| #| QCQ,5,64| $;PA=temp:2:| QBS00.temp| $;PA=hum:2:| QBS00.hum| $;PA=mag:1:| QBS00.mag<
TokenDescrição
$RCQCabeçalho do relatório
#Número de sequência
QCQ,5,64Posição GPS padrão
$;PA=temp:2:Parâmetro adicional “temp” tipo float (2)
QBS00.tempValor de temperatura do BS00
$;PA=hum:2:Parâmetro adicional “hum” tipo float (2)
QBS00.humValor de umidade do BS00
$;PA=mag:1:Parâmetro adicional “mag” tipo inteiro (1)
QBS00.magValor magnético do BS00

Tipos de dados para parâmetros PA

CódigoTipoExemplo
1Inteiromag:1:0
2Floattemp:2:23.5
3Stringtag:3:MK

Gerar o relatório

>GCQ04H< // Gera um relatório SUC04 e envia

Consulte o comando G para mais opções de geração.

Resposta do dispositivo:

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

🔗 Criar regras com sensores BLE

Os sinais BS podem ser usados para criar automações com regras (RL) e disparadores de usuário (UV):

Exemplo 1: Alerta de temperatura alta

Primeiro crie um disparador de usuário (UV) que monitora a temperatura e ativa quando ultrapassar 35 graus:

// UV00: monitora QBS00.temp (float), ativa quando valor está entre 350 e 9999 // (o sensor reporta temp x10, então 350 = 35.0 graus) >SUV00FQBS00.temp,0,10,350,9999< // Regra: se UV00 ativa (temp alta), gerar relatório >SRL02E;TRG=UV00+;ACC={GCQ04H}< // Regra: se UV00 desativa (temp normal), gerar relatório >SRL03E;TRG=UV00-;ACC={GCQ04H}<
Parâmetro SUVValorDescrição
00ÍndiceDisparador UV00
FTipoFloat (ponto flutuante)
QBS00.tempComandoValor a monitorar
0InícioPosição do primeiro caractere
10ComprimentoNúmero de caracteres a extrair
350MínimoValor mínimo para ativar (35.0 graus)
9999MáximoValor máximo

Exemplo 2: Alerta de porta aberta (sensor magnético)

// UV01: monitora estado magnético, ativa quando mag é 1 ou mais >SUV01FQBS00.mag,0,10,1,2< // Regra: porta aberta (magnético = 1) >SRL04E;TRG=UV01+;ACC={GCQ04H}< // Regra: porta fechada (magnético = 0) >SRL05E;TRG=UV01-;ACC={GCQ04H}<

Exemplo 3: Presença do motorista (sinal BS direto)

// BS02 tem o iBeacon do motorista // Regra: reportar quando motorista embarca (beacon detectado) >SRL06E;TRG=BS02+;ACC={GCQ00H}< // Regra: reportar quando motorista sai (beacon perdido) >SRL07E;TRG=BS02-;ACC={GCQ00H}<

🐛 Depuração BLE

Quando um sensor não aparece ou os dados estão incorretos, habilite o debug BLE:

Ver frames BLE brutos

Use o comando DB para habilitar o debug BLE:

>SDB0+BLX<

Isso mostra no console de debug todos os pacotes BLE recebidos pelo dispositivo, incluindo MACs, tipos e dados brutos. Útil para:

  • Verificar se o sensor está transmitindo
  • Confirmar o endereço MAC
  • Checar se o tipo de sensor está correto
  • Diagnosticar sensores desconhecidos

Desabilitar debug BLE

>SDB0-BLX<

Habilitar debug geral

>SDB1< // Nível 1: mensagens principais >SDB2< // Nível 2: mais detalhes

🔧 Solução de problemas

ProblemaCausa provávelSolução
QVR não mostra NIMBLE ou BLEFirmware incorreto (Spider/Smart)Carregar firmware Nimble (ver seção de firmware)
Sensor não detectadoMAC incorretoVerificar MAC com BeaconX Pro
QBS00 retorna INVALIDSensor fora de alcance ou desligadoAproximar sensor, verificar bateria
Temperatura sempre 0Configuração de slot erradaConfigurar Slot 2 como Sensor Info no BeaconX Pro
WiFi parou de funcionar (Spider/Smart)BLE e WiFi compartilham partiçãoNormal: usar partições (>SFRMCP<)
WiFi parou de funcionar (Zero)BLE e WiFi mutuamente exclusivosDesligar BLE com >SSSBTHPWR00< antes de usar WiFi
Hall sempre 0Modo “Magnet On/Off” ativoDesativar no BeaconX Pro, seção Sensor
Dispositivo mais lentoEscaneamento BLE usa recursosNormal, considerar intervalos de escaneamento
Sensor funciona intermitentementeSinal fraco ou interferênciaVerificar >QBS00.rssi<, aproximar sensor

📱 Apps úteis

AppPlataformaUso
Cargando...Android/iOSConfigurar sensores MoKo (slots, intervalos, Hall)
Cargando...AndroidEnviar comandos ao dispositivo Rinho via BLE
Cargando...Android/iOSEscanear e depurar dispositivos BLE genéricos

📝 Exemplo completo

Configuração típica de um dispositivo com sensor de temperatura Rinho Condition (L02S) e beacon de presença do motorista:

// 1. Verificar firmware BLE >QVR< >RVR RINHO IOT v1.09.16 SP EG915U LC86G 16MB NIMBLE ...;ID=... // 2. Configurar sensor de temperatura no BS00 >SBS00E,AC233FA24B16,10,60,0,INVALID< >RBS00E,AC233FA24B16,10,60,0,INVALID;... // 3. Verificar leitura de temperatura >QBS00.temp< >23.5;ID=... // 4. Configurar beacon do motorista no BS02 >SBS02E,DDEEFF112233,2,30,5,0< >RBS02E,DDEEFF112233,2,30,5,0;... // 5. Criar relatório com temperatura >SUC04 $RCQ| #| QCQ,5,64| $;PA=temp:2:| QBS00.temp| $;PA=hum:2:| QBS00.hum< // 6. Regra: reportar quando motorista embarca/sai >SRL00E;TRG=BS02+;ACC={GCQ04H}< >SRL01E;TRG=BS02-;ACC={GCQ04H}< // 7. Regra: alerta de temperatura alta >SUV00FQBS00.temp,0,10,350,9999< >SRL02E;TRG=UV00+;ACC={GCQ04H}< // 8. Testar relatório manual >GCQ04H< >RCQ04...;PA=temp:2:23.5;PA=hum:2:65;ID=...

📖 Resumo de comandos

ComandoFunçãoReferência
>SBS00E,MAC,tipo,...<Configurar sensor BLEBS IoT
>QBS00<Status do sensorBS IoT
>QBS00.temp<Ler atributo específicoBS IoT
>SBSW00E,...<Configurar auto-detecçãoBSW IoT
>QBSW00<Status do wildcardBSW IoT
>SUV00F...<Disparador de usuárioUV
>SRL00E;TRG=...;ACC={...}<Regra do motor de eventosRL
>SUC04 ...<Relatório de usuárioRelatórios de usuário
>GCQ04H<Gerar relatórioG
>SDB0+BLX<Debug BLEDB
>SFRMM1< / >SFRMM2<Atualizar firmware
>SFRMCP0< / >SFRMCP1<Alternar partição
>SSSWIFPWR00<Desligar WiFi (Zero IoT)
>SSSBTHPWR00<Desligar BLE (Zero IoT)

🎯 Próximos passos

Última atualização