Rinho no Wialon
Esta nota reúne tudo o que é necessário para cadastrar e aproveitar um equipamento Rinho no Wialon : qual tipo de dispositivo escolher, como apontar o equipamento, com que nome aparece cada dado no Wialon e como adicionar dados próprios sem pedir mudanças na plataforma.
Os nomes de parâmetros, o mapeamento CAN e o comportamento do campo AP desta nota foram
medidos no Wialon Hosting em 10/11/2026 com um Spider IoT e um Zero IoT com firmware
1.09.28.T63, enviando tramas com valores conhecidos e lendo o que o Wialon publicou.
1. Duas formas de conectar
| Protocolo Rinho TAIP | Wialon IPS | |
|---|---|---|
| Tipo de dispositivo no Wialon | Um por modelo (Rinho Zero IoT, Rinho SPIDER IoT, …) | Rinho IPS, o mesmo para todos os modelos |
| Transporte | UDP | TCP |
| O que decodifica | As tramas Rinho (CQ, ER, EQ, …), CAN incluído, mais o campo AP | Posição, altitude, HDOP, entradas, saídas, tensões e os parâmetros do template do equipamento |
| Configuração do equipamento | A de sempre: o mesmo equipamento pode reportar ao Wialon e a outra plataforma com a mesma trama | Protocolo W, senha e template de relatório |
| Template WLP | O do modelo | O mesmo que em TAIP |
| Recomendado para | Frotas que já trabalham com TAIP, CAN, todos os modelos | Integradores que já trabalham tudo em Wialon IPS |
Na maioria dos casos convém TAIP: é o protocolo nativo do equipamento, o Wialon o decodifica completo e com o campo AP é possível publicar qualquer dado adicional sem mudar de protocolo. Com os templates desta nota, os dois protocolos publicam os dados com os mesmos nomes: é possível passar de um para o outro sem mexer no Wialon.
2. Tipos de dispositivo e portas
Tipos Rinho disponíveis no Wialon Hosting:
| Modelo | Tipo de dispositivo no Wialon | Porta |
|---|---|---|
| Rinho Zero IoT | Rinho Zero IoT | 22912 |
| Rinho Spider IoT | Rinho SPIDER IoT | 22496 |
| Rinho Smart IoT | Rinho SMART IoT | 22499 |
| Rinho C5 Plus | Rinho C5 Plus | 21757 |
| Rinho C3 | Rinho C3 | 22497 |
| Rinho Ultralite | Rinho Ultralite | 22498 |
| Qualquer modelo IoT com Wialon IPS | Rinho IPS | 22500 |
- Servidor do Wialon Hosting: o que o Wialon indica para cada tipo de dispositivo. Os equipamentos
de teste desta nota reportam a
nl.gpsgsm.org. No Wialon Local ou em um servidor de um integrador, o host e a porta são definidos por quem administra esse servidor. - ID único da unidade: o que o equipamento envia no campo
ID=de cada trama. Nos modelos IoT é o IMEI. Consulta-se com>QID<. - Todos os modelos usam o mesmo protocolo: o tipo de dispositivo define a porta e o nome do modelo no Wialon, mas os dados são decodificados igual (Spider e Zero publicaram exatamente o mesmo em todos os testes).
3. Receita: cadastrar um equipamento no Wialon
Com o protocolo Rinho TAIP (recomendado)
1. No Wialon, criar a unidade:
| Campo | Valor |
|---|---|
| Tipo de dispositivo | O do modelo (tabela da seção 2) |
| ID único | O IMEI do equipamento (>QID<) |
| Senha | Vazia (TAIP não a usa) |
2. No equipamento, apontá-lo para a porta do tipo de dispositivo (exemplo para um Zero IoT):
>SIP0"nl.gpsgsm.org",22912< // servidor principal
>SIP1"nl.gpsgsm.org",22912< // servidor principal redundante
>SCXIPPP5< // TAIP por UDP no canal principal e no de backup3. Template de relatório: o relatório de usuário padrão com campo AP (vem na configuração Wialon do configurador). No Spider IoT e no Smart IoT, para os dados do motor, a regra periódica precisa gerar um relatório ER (J1939) ou EQ (OBD-II).
4. Importar o template WLP do modelo (seção 10).
5. Verificar: no Wialon aparecem mensagens novas, e no equipamento >QBU< responde
RBUOK00000 (nada esperando confirmação).
Com Wialon IPS
1. No Wialon, criar a unidade com tipo de dispositivo Rinho IPS, ID único = IMEI. A
senha pode ficar vazia ou ter uma: o equipamento precisa enviar a mesma (passo 2).
2. No equipamento (exemplo para um Zero IoT):
>SCXIPWP5< // Wialon IPS no canal principal, TAIP UDP no de backup
>SIP0"nl.gpsgsm.org",22500< // porta do tipo "Rinho IPS"
>SIP1"nl.gpsgsm.org",22500<
>SWLNA< // unidade sem senha no Wialon: NA. Se tiver, SWL<a senha>
>SUC00 QWD0| $rep_num:1:| #| $,cel_level:1:'CSQ',pwr_int:2:'V/100'<Para Spider IoT e Smart IoT, o template com os dados do motor:
>SUC00 QWD0| $rep_num:1:| #| $,cel_level:1:'CSQ',pwr_int:2:'V/100',rpm:1:'ECU(0;0)',fuel_lvl:2:'ECU(2;0)',odometer:2:'ECU(3;0)',odoliter:2:'ECU(4;0)',refr_temp:1:'ECU(6;0)',oil_press:1:'ECU(7;0)',trip_time:2:'ECU(10;0)'<As regras que o equipamento já tem não são alteradas: continuam gerando o relatório de usuário
GU0…, que agora sai em Wialon IPS.
3. Importar o mesmo template WLP do modelo (seção 10):
não há um template separado para Rinho IPS. Os templates de equipamento acima usam os mesmos
nomes de parâmetros que TAIP, então os sensores são os mesmos.
4. Verificar: >QBU< em RBUOK00000 e >QDL< sem pendentes (o segundo número em 00000).
Senha: com SWL vazio o equipamento envia #L#<IMEI>; e o Wialon rejeita o login sem
avisar: a unidade não recebe nenhuma mensagem. Sem senha no Wialon é preciso carregar >SWLNA<.
Mudar de protocolo com o equipamento instalado
Os relatórios que o equipamento já tem na fila ficaram montados para o protocolo anterior e o
servidor novo não os confirma: travam todos os que vêm atrás. Antes de mudar, revisar
>QBU< e >QDL<. Se ficarem pendentes e puderem ser descartados, depois da mudança:
>CBU< // esvazia a fila de envio
>SDLC< // esvazia o datalogNotas
- Transporte: TAIP usa UDP (o de fábrica). Wialon IPS usa TCP.
- Confirmação (TAIP): o Wialon responde
>ACK;#<nro>;ID=<id>;*<checksum><a cada trama. O equipamento reenvia até recebê-la e só então descarrega sua fila: sem cobertura não se perde nada. Desde abril de 2025 o Wialon confirma também as tramas com data e hora em zero. - Keep-alive: se estiver configurado (
>SKA120,B<, por exemplo), cada keep-alive usa um número de mensagem. Por isso no Wialonmess_num“pula” um número de vez em quando: não é uma trama perdida.
4. O que o Wialon decodifica de cada trama
| Trama | O que o Wialon publica |
|---|---|
| CQ | Posição e os campos base |
| ER | Campos base + os 10 dados CAN J1939 |
| EQ | Campos base + os dados OBD-II (sem o VIN) |
| BQ | Campos base. A bateria interna não é publicada |
| HQ | Campos base. A bateria interna e o horímetro não são publicados |
| HV | Campos base. Bateria interna, horímetro e temperaturas não são publicados |
| CV | Campos base. As temperaturas não são publicadas |
Relatórios de usuário (GU…) | O mesmo que a trama que imitam, se começam com $RCQ, $RER, etc. |
O que o Wialon não publica de BQ, HQ, HV e CV pode ser enviado mesmo assim: no campo AP de qualquer trama, com o nome que se queira.

5. Parâmetros base
Todas as tramas publicam:
| Parâmetro no Wialon | Campo Rinho | Significado |
|---|---|---|
msg_type | Cabeçalho | Tipo de trama: RCQ, RER, REQ, RBQ, RHQ, RHV, RCV |
rep_num | AA | Número do evento. Ver número do evento |
pwr_int | JJJ | Tensão de alimentação principal (V) |
odo | KKKKKKKK | Odômetro do equipamento (m) |
gps_status | L | GPS ligado (1) ou desligado (0) |
gps_fix | M | 2 = fix 2D, 3 = fix 3D |
pdop | NN | PDOP |
pwr_status | Q | Modem ligado (1) ou desligado (0) |
gsm_status | R | Registro na rede celular (0 a 5) |
cel_level | SS | Sinal celular CSQ (0 a 30, 99 = sem sinal) |
mess_num | #nnnn | Número de mensagem (o que o ACK confirma) |
Além disso, o Wialon obtém da trama a velocidade, o rumo, a quantidade de satélites e as
entradas e saídas. As tramas TAIP não trazem altitude: no Wialon aparece 0.
Entradas e saídas
O byte de entradas da trama (HH) é publicado tal qual nas entradas do Wialon, e o de
saídas (II) nas saídas:
| Wialon | Equipamento Rinho |
|---|---|
in1 … in7 | IN0 … IN6 |
in8 | Ignição (IGN) |
out1 | XP0 |
out2 | XP1 |
Verificado com uma trama com entradas A5 e saídas 02: o Wialon mostrou entradas 165 (in1,
in3, in6, in8) e saídas 2 (out2). Para um sensor de ignição no Wialon usa-se in8.
6. CAN: nomes no Wialon
ER — CAN J1939
| Campo Rinho | Dado | Parâmetro no Wialon |
|---|---|---|
2010 | RPM | rpm |
5000 | Posição do acelerador (%) | acc |
1030 | Combustível total consumido (L) | odoliter |
4201 | Nível de combustível (%) | fuel_lvl |
1020 | Odômetro do veículo (km) | odometer |
1010 | Velocidade da ECU (km/h) | speed_sub |
2012 | Temperatura do líquido de arrefecimento (°C) | refr_temp |
2013 | Pressão de óleo (kPa) | oil_press |
2020 | Horas de motor (h) | trip_time |
3010 | Combustível da viagem (L) | l_cons_trip |
As horas de motor (2020) chegam ao Wialon com o nome trip_time. Para um sensor de
horas de motor no Wialon é preciso usar esse parâmetro. Os campos que a ECU não informa (!3) não são
publicados.
EQ — OBD-II
| Campo Rinho | Dado | Parâmetro no Wialon |
|---|---|---|
1 | VIN | Não é publicado |
2 | RPM | rpm |
3 | Velocidade da ECU (km/h) | wh_speed |
B | Odômetro (km) | odometer |
14 | Combustível total consumido (L) | odoliter |
15 | Nível de combustível (%) | fuel_lvl |
2A | Temperatura do líquido de arrefecimento (°C) | refr_temp |
2C | Pressão de óleo (kPa) | oil_press |
Para qualquer outro dado da ECU (consumo instantâneo, torque, etc.) usa-se um relatório de usuário
com ECU dentro do campo AP.
7. Dados próprios: o campo AP
O Wialon decodifica um campo opcional AP (parâmetros adicionais) em qualquer trama TAIP,
com o mesmo esquema do Wialon IPS. Cada parâmetro aparece no Wialon com o nome que o equipamento
lhe dá: serve para sensores BLE, contadores, horímetro, bateria interna, temperaturas ou qualquer
valor de EVAL, sem pedir mudanças no
parser.
>RCQ00…<dados do relatório>;AP=temp1:2:25.50,door:1:1,driver:3:JUAN;#0017;ID=865413053386354;*26<| Parte | Formato |
|---|---|
| Localização | No final dos dados, antes de ;#<nro>. No ER vai depois do bloco CAN |
| Cada parâmetro | nome:tipo:valor, separados por vírgula |
| Nome | Letras, números e sublinhado, de 1 a 32 caracteres |
| Tipo | 1 inteiro, 2 decimal, 3 texto |
| Valor | Sem ; , : < > * |
Como o Wialon se comporta
| Caso | Resultado |
|---|---|
| Inteiro, decimal, texto, negativos | São publicados com seu tipo |
O nome coincide com um parâmetro base (ex. pwr_int) | Prevalece o valor do AP |
Valor que não coincide com o tipo (abc em um inteiro) | Esse parâmetro é descartado; o resto é publicado |
Valor vazio (fl1:1:) | Não é publicado |
| Tipo diferente de 1, 2 ou 3 | É descartado |
| Nome com mais de 32 caracteres | É descartado |
| Nome repetido na mesma trama | Fica o último valor |
| 15 parâmetros em uma trama | Chegam todos |
Etiqueta diferente de AP (ex. PA=) | É ignorada sem erro |
| Trama sem AP | É interpretada igual a sempre |
Montar o AP no equipamento
O AP é montado com um relatório de usuário
que copia uma trama nativa e lhe adiciona o campo. O padrão serve para qualquer família
($RCQ| #| QCQ,5,100, $RER| #| QER,5,200, $RBQ| #| QBQ,5,120, …):
// UC00: trama CQ com sinal, tensão, velocidade, entrada 0 e canal de envio
>SUC00 $RCQ| #| QCQ,5,100| $;AP=rpt:1:| $'RNU'| $,csq:1:| $'CSQ'| $,vcc:1:| $'V'| $,in0:1:| $'IN(0)'| $,pwr:2:| $'V/100'| $,vel:2:| $'VEL'| $,canal:3:| $'CHN'<
// Relatório cada vez que TD00 vence com a ignição ligada
>SRL00E;TRG=TD00+;CND=IGN;ACC={GU000L;@LOG}<No Wialon aparecem rpt, csq, vcc, in0, pwr, vel e canal (WIFI ou GPRS).
Cada expressão entre aspas simples ('CSQ', 'V/100') precisa ir dentro de um trecho $.
Solta, o equipamento a interpreta como comando e o relatório sai cortado. Um template com mais de ~220
caracteres pode ser rejeitado sem resposta: verificar com >QUC00< que ficou salvo.
Exemplos prontos no configurador: o nível das réguas de combustível BLE
(;AP=fl1:1:2997,ag1:1:3,…) e o resto das receitas que reportam ao Wialon.
8. Wialon IPS em detalhe
Os modelos IoT (Zero, Spider e Smart) falam também Wialon IPS: login #L#, dados #D# e
dados curtos #SD#, por TCP. Está disponível desde o firmware 1.09.19; recomenda-se 1.09.24
ou superior, que completa os comandos SWL, QWL e QWD. A receita está na
seção 3.
Porta e login
Respostas do Wialon Hosting ao login de um equipamento cadastrado como Rinho IPS sem senha:
| Porta | Login enviado | Resposta |
|---|---|---|
22500 | #L#<IMEI>;NA | #AL#1: aceito |
22500 | #L#<IMEI>; (senha vazia) | #AL#0: rejeitado |
22500 | #L#<IMEI>;outra | #AL#01: senha incorreta |
20332 | #L#<IMEI>;NA | #AL#0: rejeitado |
- A porta é a do tipo de dispositivo:
22500paraRinho IPS. A20332é a do tipo genéricoWialon IPSe rejeita uma unidade cadastrada comoRinho IPS. - Sem senha no Wialon, o equipamento precisa enviar
NA(>SWLNA<). Com senha, a mesma nos dois lados. - Um login rejeitado não deixa rastro no Wialon: a unidade simplesmente não recebe mensagens. No
equipamento percebe-se porque
>QBU<ou>QDL<não baixam. Depois de 5 tentativas o equipamento espera 60 segundos e tenta pelo outro canal (WiFi ou celular).
O que o Wialon publica
Do pacote #D#, sempre:
| No Wialon | Dado |
|---|---|
| Posição, velocidade, rumo, altitude, satélites | GPS |
hdop | HDOP |
Entradas in1 … in8 | O mesmo byte que em TAIP: in8 é a ignição |
Saídas out1, out2 | XP0, XP1 |
adc1 | Tensão principal (V) |
adc2 | Bateria de backup (V) |
E os parâmetros do template, com o nome que se lhes dê. Os templates desta nota
usam os mesmos nomes que o Wialon dá ao TAIP (rep_num, cel_level, pwr_int, rpm,
fuel_lvl, …): o mesmo template WLP serve para os dois protocolos, e é possível mudar de
protocolo sem mexer nos sensores.
O template do equipamento
QWD0 monta o pacote #D# completo e termina em NA;. O que segue nos trechos $ são os
parâmetros, com o formato nome:tipo:valor do campo AP:
>SUC00 QWD0| $rep_num:1:| #| $,cel_level:1:'CSQ',pwr_int:2:'V/100'<
#D#101126;140806;2746.8504;S;06415.5070;W;0;358;199;12;0.1;131;0;11.73,3.91;NA;rep_num:1:00,cel_level:1:99,pwr_int:2:11.67| Detalhe | Comportamento verificado |
|---|---|
# (número do evento) | Sai como está escrito na regra: o evento 31 chega como 31 |
Eventos com letras (1E, 0A) | Não são um inteiro válido: o Wialon descarta rep_num. Usar eventos 00 a 99 |
'ECU(n;0)' sem barramento CAN | Chega 0, não vazio |
'OT' (odômetro do equipamento) | Em metros |
'CHN' (canal de envio) | Não é resolvido em Wialon IPS: chega o texto 'CHN'. Só funciona em TAIP |
| Comprimento | Um template com mais de ~220 caracteres pode ser rejeitado sem resposta. Verificar com >QUC00< que ficou salvo |
Para ver a trama que o equipamento enviaria, sem enviá-la:
>QWD0<.
9. Número do evento
O Wialon não lê o número do evento da mesma forma em todas as tramas:
| Trama | Como o lê | Exemplo: evento 31 |
|---|---|---|
| CQ, EQ | Hexadecimal | rep_num = 49 |
| BQ, ER, HQ, HV, CV | Decimal | rep_num = 31 |
| Wialon IPS (templates desta nota) | Tal como foi escrito | rep_num = 31 |
Em TAIP ocorre com e sem AP, e já foi informado ao Wialon. Enquanto isso:
- Para eventos do
00ao09não há diferença. - Ao traduzir eventos no Wialon (sensor sobre
rep_num), carregar o valor conforme a família de trama: em CQ e EQ, o número lido em hexadecimal.
10. Templates WLP por modelo
Templates de unidade para importar no Wialon (Propriedades da unidade → Importar de WLP).
Cada um serve para TAIP e para Wialon IPS (com os templates de equipamento da
seção 3): uma unidade Rinho IPS usa o mesmo template que uma TAIP do
mesmo modelo.
| Modelo | Template (TAIP e Rinho IPS) | Sensores |
|---|---|---|
| Zero IoT | rinho-zero-iot.wlp | Ignição, tensão, bateria de backup, IN0-IN1, XP0, sinal, evento |
| Spider IoT | rinho-spider-iot.wlp | O anterior com IN0-IN2 e XP0-XP1, mais os 8 sensores CAN |
| Smart IoT | rinho-smart-iot.wlp | O anterior com IN0-IN6, mais os 8 sensores CAN |
| Sensor | Tipo no Wialon | Parâmetro |
|---|---|---|
| Ignição | Ignição | in8 |
| Tensão principal | Voltagem | pwr_int |
| Bateria de backup | Voltagem | adc2 (só chega em Wialon IPS) |
| Entrada IN0, IN1, … | Digital | in1, in2, … |
| Saída XP0, XP1 | Digital | out1, out2 |
| Sinal celular | Personalizado | cel_level |
| Evento | Personalizado | rep_num |
| RPM | Tacômetro | rpm |
| Nível de combustível | Nível de combustível | fuel_lvl |
| Temperatura do motor | Temperatura | refr_temp |
| Pressão de óleo | Personalizado | oil_press |
| Odômetro do veículo | Quilometragem | odometer |
| Horas de motor | Horas de motor | trip_time |
| Combustível consumido | Consumo absoluto de combustível | odoliter |
| Acelerador | Personalizado | acc (só em TAIP: o template IPS não o inclui por comprimento) |
Os templates foram testados no Wialon Hosting:
- TAIP, em uma unidade Spider IoT: com uma trama ER de valores conhecidos, o Wialon calculou RPM 1234, combustível 50 %, temperatura 85 °C, pressão 300 kPa, odômetro 20000 km, horas de motor 1500 e consumo 10000 L.
- Wialon IPS, em uma unidade Rinho IPS: ignição, tensão, bateria de backup, entradas, sinal, evento e os sensores CAN calcularam com os templates de equipamento da seção 3.
Notas:
- Saídas: a trama traz XP0 e XP1, por isso os templates do Spider e do Smart incluem duas.
- O sensor Evento vai sem tabela de textos: os números de evento dependem de como cada equipamento esteja configurado. Carregá-los conforme as regras do equipamento e a nota sobre o número do evento.
- Os demais parâmetros do campo AP (sensores BLE, contadores…) são adicionados como sensores novos com o nome que o relatório de usuário do equipamento usar.
11. Comandos a partir do Wialon
O Wialon pode enviar comandos ao equipamento, em TAIP e em Wialon IPS: são definidos na unidade
como mensagem personalizada (custom_msg) com o comando Rinho completo, por exemplo >QVR<.
Verificado nos dois protocolos com um comando >STAG…< enviado a partir do Wialon, que mudou a
etiqueta do equipamento.
Os templates incluem dois comandos de consulta: Versão do equipamento (>QVR<) e Posição
atual (>QCQ<).
- Em TAIP (UDP) o comando sai quando o equipamento volta a se comunicar (com o próximo relatório ou keep-alive): um equipamento que reporta a cada poucos segundos o recebe logo.
- O Wialon registra o envio do comando, mas não guarda a resposta do equipamento (
RVR…) como mensagem. Para lê-la, usar o configurador ou uma regra que envie a informação em um relatório.
Um comando que aciona uma saída (corte de motor >SSSXP0011<, por exemplo) é executado assim que
chega, com o veículo na condição em que estiver. Para cortes de motor convém uma regra no equipamento
que só corte em baixa velocidade, e que o comando do Wialon ative essa regra em vez da saída.
12. Se algo não aparece no Wialon
- Não chega nada (TAIP):
>QIP0<e>QCXIP<. A porta precisa ser a do tipo de dispositivo da unidade, e o ID único o que o equipamento envia emID=(>QID<). - Não chega nada (Wialon IPS): quase sempre é o login.
>QWL<precisa devolver a senha da unidade, ouNAse não tiver; a porta,22500paraRinho IPS. - A fila não baixa (
>QBU<ou>QDL<com pendentes): o servidor não confirma. Se acabou de mudar de protocolo, ver mudar de protocolo. - Chegam tramas repetidas ou com atraso: o equipamento não recebe a confirmação e reenvia. Revisar o tipo de dispositivo da unidade e que a porta seja a desse tipo.
- Falta um parâmetro: ver a tabela da seção 4. O que o Wialon não publica é enviado no campo AP.
- Um parâmetro AP não aparece: valor vazio, tipo errado ou nome com mais de 32 caracteres.
- O evento não coincide: ver número do evento.
- Para ver a trama exata:
>QWD0<em Wialon IPS;>QCQ<,>QER<, etc. em TAIP.
Veja Também
- Relatório CQ - Formato da trama base
- Relatório ER - CAN J1939
- Relatório EQ - OBD-II
- Relatórios de usuário - Montar o campo AP
- Confirmação de recepção - ACK
- Comando WL - Senha do Wialon IPS