
Resumo
- A maioria dos rastreadores já faz túnel de bytes RS-232/485 para a nuvem, então você recebe ASCII ou HEX bruto, não valores já interpretados.
- IoT Logic transforma esse fluxo bruto em métricas utilizáveis com um fluxo visual, você decodifica em Initiate Attribute (JEXL e operações bit a bit), mantém um histórico de 12 leituras, ramifica com IF/THEN e distribui resultados em paralelo, sem backend sob medida.
- O Monitor de Fluxo de Dados torna o diagnóstico simples, você observa cargas brutas e campos calculados em tempo real e sempre vê as últimas 12 leituras válidas como um raio-X.
- Na prática é plug and play, você analisa pares chave-valor da Technoton via Teltonika, extrai IDs de motorista dos túneis da Queclink, decodifica quadros 0x9B da Concox, obtém RPM e contagem de passageiros da Digital Matter ou Streamax, e então dispara alertas, imobiliza ou aciona relés.
- Reutilize expressões simples, máscaras de bits, deltas entre valor atual e anterior e verificações conscientes do tempo com srvTime ou genTime, para amortecer ruído, detectar tendências, manter agnosticismo de fornecedor e publicar dashboards de sensores sem novos projetos de backend.
Imagine isto. Seu rastreador está online e reportando bem, mas o sensor “diferentão” ligado à porta RS-232 — uma sonda de combustível, um leitor RFID, talvez até um contador de passageiros — não fala a mesma língua que seu aplicativo na nuvem. Em vez disso, ele só cospe quadros brutos: 79 79 … 9B … 0D 0A ou uma linha críptica como can_tot_fuel_used=2076.4139.

O dispositivo GPS, a dashcam ou o MDVR não tentam interpretar nada. Eles apenas funcionam como um gateway, encapsulando esses bytes e enviando-os à nuvem intactos. Essa flexibilidade é ótima para conectar sensores raros ou de nicho, mas pode assustar quando o cliente espera dashboards e alertas no mesmo dia.
É exatamente para esse cenário que o IoT Logic da Navixy foi criado. Ele permite capturar esses bytes, separar bits e campos com um fluxo visual simples, reutilizar expressões baseadas em JEXL (sim, incluindo operações bit a bit), raciocinar sobre as últimas 12 leituras, ramificar com IF/THEN e exibir, encaminhar ou até enviar comandos de volta aos dispositivos sem precisar de backend personalizado.
Na indústria inteira, os modos “transparentes” ou “pass-through” estão por toda parte:
Teltonika (FMB/FMC): configure RS-232/485 para TCP ASCII/Binário e tudo que o periférico envia vai direto para seu servidor, encapsulado como Codec 12; uploads em buffer — e quando a opção de timestamp está ativada — usam Codec 13. ASCII aguarda <CR><LF>; Binário envia após ~30 ms de silêncio. Nada de parsing no dispositivo.
Queclink (GV/GL): o protocolo @Track inclui +RESP:GTDAT para tunelamento serial ASCII; você também pode enviar comandos com AT+GTDAT. Para cargas seriais binárias/hex, os fabricantes costumam usar o relatório GTDTT.
Jimi/Concox: o pacote 0x9B de “Transmissão Transparente” encapsula dados RS-232 (ASCII/HEX) com um pequeno cabeçalho/CRC para o servidor decodificar.
Ruptela: o Canal Transparente usa o Comando 14/114 para mover bytes seriais brutos para cima/baixo. Ele até registra a hora de chegada dos dados no lado RS-232.
Suntech/STLab: os relatórios da família ST300 incluem campos de dados RS-232 de usuário (centenas de bytes por mensagem) — encaminhados para a plataforma.
Digital Matter (G120/G150): modo explícito de pass-through RS-232; gateways BLE encaminham dados de tags/sensores.
Streamax (MDVR/dashcams): os MDVR expõem RS-232/RS-485 para periféricos (contadores de passageiros, painéis de LED etc.), encaminhando eventos/valores junto com telemetria de vídeo.
O IoT Logic oferece um pipeline de arrastar e soltar:

Você decodifica, enriquece e roteia — tudo no mesmo lugar.
Initiate Attribute é o seu bloco decodificador. Você cria atributos nomeados e transforma cargas brutas com a Linguagem de Expressões da Navixy (baseada em JEXL), indo de splits de string a matemática e máscaras de bits.
Outro recurso matador: o IoT Logic armazena o valor atual e até 12 valores anteriores por parâmetro. Em uma expressão, value('sensor', N, 'valid') permite buscar “agora” (índice 0) ou voltar por 12 posições de histórico limpo e válido. Você também pode pedir a hora do dispositivo (gen) ou do servidor para cada valor com genTime() / srvTime(). Isso torna triviais o debouncing, as verificações de delta e a lógica de tendências — sem banco de dados.
Quando você quer decidir, o nó Logic avalia uma expressão booleana e divide o fluxo (IF/THEN). E quando é hora de agir, o nó Action pode enviar comandos de volta aos dispositivos ou chamar sistemas externos. Para distribuir resultados, o nó Output Endpoint envia em paralelo para a interface da Navixy e/ou para seus próprios apps/serviços.
Para solucionar em tempo real, o Monitor de Fluxo de Dados mostra a entrada bruta do dispositivo e seus atributos calculados conforme fluem — com aquelas últimas 12 leituras visíveis de relance. É um raio-X do seu pipeline.
Um adaptador Technoton em RS-232 transmite dados ASCII em pares chave-valor:
can_ign=1;can_speed=54;can_tot_fuel_used=2076.4139
No modo TCP ASCII da Teltonika o rastreador encaminha cada linha após <CR><LF> diretamente ao servidor como Codec 12/13. O Initiate Attribute do IoT Logic analisa os pares, salva can_speed como número e registra a taxa de variação de fuel_used usando o valor válido anterior no índice 1. Se speed > 0 enquanto um bit de “porta aberta” está ativo, o nó Logic gera um alerta; se uma queda rápida de combustível é detectada com ignição desligada, o Action pode acionar um relé ou enviar um comando.
O relatório +RESP:GTDAT da Queclink é literalmente um túnel de texto serial; o servidor pode enviar AT+GTDAT para falar com o periférico. Para cargas binárias, GTDTT carrega hex. No IoT Logic você divide ou decodifica hex uma vez e depois mantém campos como driver_id como atributos de primeira classe. A partir daí é fácil: se o ID do cartão não estiver na lista branca, ramifique para “não autorizado” e o Action envia um comando de imobilização.
Rastreadores Concox encapsulam bytes de periféricos em pacotes 0x9B. Exemplo de estrutura de pacote:
79 79 … 9B 03 … 02 31 42 30 30 31 33 46 37 37 37 38 38 03 … 0D 0A
Esses bytes internos decodificam para uma string RFID; o IoT Logic a armazena, compara com o valor anterior (índice 1) para filtrar duplicatas e só emite mudanças. Se for uma sonda de combustível, mapeamos bytes para litros, suavizamos com a janela de 12 valores e publicamos.
A definição oficial de “transmissão transparente” para 0x9B também é pública, se quiser os detalhes on-wire.
Os G120/G150 da Digital Matter suportam pass-through RS-232; o sensor de tambor Dingtek DZ300, por exemplo, reporta RPM do tambor (+/– indica direção). Você eleva isso a um atributo e depois ramifica pelo estado do PTO para flagrar betoneira parada.
Para transporte de pessoas, MDVRs da Streamax carregam contadores via RS-232/RS-485; o IoT Logic combina “IN/OUT” com uma tag BLE de temperatura e liga um ventilador auxiliar se a cabine estiver cheia e quente.
Tem um pacote de bits de status OBD/CAN ou flags de portas? Dá para extrair só o que interessa:
(value('status_flags', 0, 'valid') & 0x10) != 0
Isso verifica se o bit 4 está definido e roteia apenas quando for verdadeiro.
Precisa capturar picos ou quedas repentinas? Compare a última leitura com a anterior:
value('fuel_l', 0, 'valid') - value('fuel_l', 1, 'valid')
Some um limiar e você tem antirruído instantâneo ou filtro de oscilação do combustível — sem malabarismos em SQL.
Às vezes não é só o valor, mas por quanto tempo ele fica lá. Exemplo: gerar alerta se a temperatura ficar acima de 26 °C por três minutos:
srvTime('temp', 0, 'valid') - srvTime('temp', 1, 'valid') > 180000
&& value('temp', 0, 'valid') > 26
Seus fluxos permanecem limpos e legíveis porque o nó Logic só precisa de um sim/não. O nó Initiate Attribute faz o serviço pesado (renomear, escalar, mascarar) e o nó Action decide o que fazer em seguida: acionar um relé, atualizar a interface ou enviar o evento para o MQTT ou para seu app.
Com o IoT Logic, você não precisa subir um novo serviço de backend toda vez que surge um sensor novo no campo. Você decodifica uma vez no Initiate Attribute, reutiliza em vários dispositivos e permanece agnóstico de fornecedor — venha o dado da Teltonika, Ruptela, Concox, de uma dashcam ou de uma tag BLE.
Ao mesmo tempo, o Monitor de Fluxo de Dados dá visibilidade instantânea dos valores brutos e processados, enquanto as saídas seguem em paralelo para os painéis da Navixy e para seus próprios sistemas. Menos código sob medida, menos dores de suporte e nenhum embate orçamentário por “só mais um sensor”.
Pronto para transformar bytes brutos em métricas claras e acionáveis? Deixe-nos mapear seu fluxo para resultados e depois fale com nosso time de Vendas para planejar a implantação.