Comandos CANxx
Família de comandos para leitura de parâmetros CAN da ECU do veículo.
Para que serve?
| Caso de uso | Descrição |
|---|---|
| 🚛 Veículos pesados | CAN00/CAN03 para caminhões e ônibus com protocolo J1939 |
| 🚗 Veículos leves | CAN01 para carros com protocolo OBD-II/J1850 |
| 🚚 Trailers e reboques | CAN02 existe mas está depreciado: o ramo não retorna dados |
| ⛽ Consumo de combustível | CAN05 para leitura de FuelRate e sensor MAF |
| 📋 Integração com relatórios | CAN03 em formato de largura fixa para relatórios Ux |
Descrição Geral
Os comandos CANxx permitem obter informações do veículo através do barramento CAN. Cada variante está otimizada para diferentes protocolos e formatos de dados:
| Comando | Protocolo | Uso Principal |
|---|---|---|
| CAN00 | J1939 | Veículos comerciais/pesados |
| CAN01 | J1850/OBD-II | Veículos leves |
| CAN02 | — (depreciado) | Não retorna dados: ramo vazio no firmware |
| CAN03 | J1939 (largura fixa) | Integração com relatórios Ux |
| CAN05 | Genérico | FuelRate e consumo |
Antes de usar estes comandos, configure o barramento CAN através de CXCAN.
CAN00 - Parâmetros J1939
Leitura de parâmetros padrão usando protocolo J1939 para veículos comerciais e pesados.
Consulta
QCAN00Resposta
RCAN00 2010=value,5000=value,1030=value,4201=value,1020=value,1010=value,2012=value,2013=value,2020=value,3010=valueParâmetros
| ID | Parâmetro | Formato |
|---|---|---|
2010 | RPM | Decimal, 2 decimais (%.2f) |
5000 | Posição acelerador (%) | Decimal, 2 decimais (%.2f) |
1030 | Odolitro (L) | Decimal, 2 decimais (%.2f) |
4201 | Nível combustível (%) | Decimal, 2 decimais (%.2f) |
1020 | Odômetro (Km) | Decimal, 2 decimais (%.2f) |
1010 | Velocidade roda (Km/h) | Decimal, 2 decimais (%.2f) |
2012 | Temp. refrigerante (ºC) | Decimal, 2 decimais (%.2f) |
2013 | Pressão óleo (kPa) | Decimal, 2 decimais (%.2f) |
2020 | Tempo motor ON (h) | Decimal, 2 decimais (%.2f) |
3010 | Combustível trip (L) | Decimal, 2 decimais (%.2f) |
Exemplo
>RCAN00 2010=1000.00,5000=0.00,1030=10000.00,4201=50.00,1020=20000.00,1010=60.00,2012=15.00,2013=100.00,2020=13.00,3010=0.13<CAN01 - Parâmetros OBD-II
Leitura usando protocolo J1850/OBD-II para veículos leves.
Consulta
QCAN01Resposta
RCAN01 1=value,2=value,3=value,B=value,14=value,15=value,2A=value,2C=valueParâmetros
| ID | Parâmetro | Formato |
|---|---|---|
1 | VIN | 16 dígitos ASCII |
2 | RPM | Inteiro, sem decimais (%.0f) |
3 | Velocidade roda (Km/h) | Inteiro, sem decimais (%.0f) |
B | Odômetro (Km) | Inteiro, sem decimais (%.0f) |
14 | Odolitro (L) | Inteiro, sem decimais (%.0f) |
15 | Nível combustível (%) | Inteiro, sem decimais (%.0f) |
2A | Temp. refrigerante (ºC) | Inteiro, sem decimais (%.0f) |
2C | Pressão óleo (kPa) | Inteiro, sem decimais (%.0f) |
Exemplo
>RCAN01 1=2SA23000L2,2=1000,3=60,B=20000,14=100000,15=50,2A=15,2C=100<CAN02 - Reservado para Trailer ABS/EBS (depreciado)
O comando existe e responde CMDOK, mas engineGetAscii(type==2) é um ramo vazio marcado // EBS DEPRECATED no firmware: não monta nenhum campo. RCAN02 não traz nenhum dado — os campos red, amber, axle_load, whell_speed, vehicle_speed, dtc_0 e dtc_1 não existem na resposta real.
Consulta
QCAN02Resposta
RCAN02Não use CAN02 para ler dados de trailer ABS/EBS: o ramo está depreciado e não retorna campos. Se você precisar desses parâmetros, consulte o suporte técnico sobre qual banco os substitui na sua versão de firmware.
CAN03 - Formato de Largura Fixa
Leitura em formato de largura fixa, ideal para integração com relatórios de usuário Ux.
Consulta
QCAN03Resposta
RCAN03 aaaabbbcccddddddddeeefffggghhhhhhhiiiiiiiijjjjjjjjkkParâmetros
| Campo | Tamanho | Parâmetro | Formato | Unidade |
|---|---|---|---|---|
aaaa | 4 | Engine Speed | Decimal | RPM |
bbb | 3 | Accel PCT | Decimal | % |
ccc | 3 | Fuel PCT | Decimal | % |
dddddddd | 8 | Odometer Total | Hex | metros |
eee | 3 | Speed | Decimal | Km/h |
fff | 3 | Engine Temp | Decimal | °C |
ggg | 3 | Oil Press | Decimal | kPa |
hhhhhhh | 7 | Time Engine On | Hex | horas |
iiiiiiii | 8 | Fuel Trip | Hex | litros |
jjjjjjjj | 8 | Odoliter Total | Hex | litros |
kk | 2 | Age | Hex | segundos |
Os campos hexadecimais devem ser convertidos para decimal. Por exemplo, se dddddddd = 0001E240, o odômetro é 123456 metros.
Exemplo
>RCAN03 15000350500001E240060015100000012300012345006780010A<CAN05 - FuelRate
Leitura de taxa de consumo de combustível (FuelRate).
Consulta
QCAN05Resposta
RCAN05 FR_HW=value,FR_SW=value,MAF=valueParâmetros
| Campo | Parâmetro | Descrição | Unidade |
|---|---|---|---|
FR_HW | FuelRate Hardware | Leitura direta do sensor | L/h |
FR_SW | FuelRate Software | Cálculo baseado em MAF | L/h |
MAF | Mass Air Flow | Sensor de fluxo de ar | g/s |
Exemplo
>RCAN05 FR_HW!3,FR_SW=89.60,MAF=300.00;ID=869084063093789;*5A<O FR_SW é calculado a partir do sensor MAF quando não está disponível o valor direto por hardware.
Códigos de Erro
Comuns a todos os comandos CANxx:
| Código | Descrição |
|---|---|
=value | Valor válido |
= (vazio após o igual) | Parâmetro não lido, apenas no CAN01 (ex. 15=) |
!3 | Sem informação disponível (dado vencido), no CAN00 e CAN05 |
O firmware só gera o código !3; geralmente indica que o veículo não suporta o parâmetro ou que há um problema de conexão física com o barramento CAN. Os códigos !1 e !2 não existem em nenhuma versão atual do firmware.
Compatibilidade
O Rinho Zero IoT não tem transceptor CAN: nesse modelo esses comandos respondem
NA. Para ler o barramento do veículo é preciso usar Spider IoT ou Smart IoT.
Ver Também
- Comando CXCAN - Configuração do barramento CAN
- Comando ECU - Leitura flexível de variáveis CAN
- Comando CXECU - Configuração ECU
- Comando Ux - Relatórios de usuário personalizados