Skip to Content
CommandsStatesCAN BusIntroduction

CAN Bus

Integration with onboard vehicle computers (ECU) through CAN protocol.


What is it for?

Use caseDescription
🚛 Fleet telemetryRPM, speed, consumption, engine temperature
Fuel controlTank level, instantaneous consumption, odoliter
🔧 DiagnosticsFault codes (DTC), engine status
🚌 Public transportationIntegration with buses and heavy vehicles
🏗️ MachineryEngine hours, load, hydraulic pressure

Description

Rinho Telematics devices are equipped with an integrated CAN transceiver, which allows them to connect and communicate with onboard vehicle computers (ECU). Through this connection, it is possible to obtain detailed information about the vehicle’s status and telemetry.

To configure CAN protocol, connection speed and capture control, use the CXCAN command.


Reading Commands

Preformatted Reports (QCAN)

Commands that return multiple parameters in specific formats:

CommandNameDescription
CAN00Engine Report (ER)J1939 parameters - Engine and consumption
CAN01Engine Quick (EQ)OBD-II parameters with VIN
CAN02EBS ReportTrailer brake system
CAN03CAN DataFixed width format for Ux
CAN05MAF ReportFuelRate and airflow

Individual Reading

CommandDescription
ECUFlexible reading of any CAN variable

Configuration Commands

CommandDescription
CXCANCAN protocol, speed and enablement
CXECUCustom parsers for CAN data

Supported Protocols

ProtocolTypical SpeedVehicles
J1939250 kbpsTrucks, buses, machinery
J185010.4/41.6 kbpsOld American vehicles
OBD-II500 kbpsLight vehicles post-1996
ISO 15765250/500 kbpsEuropean vehicles

How to Report CAN Data to Server

To send CAN data to your tracking platform you have two strategies:

StrategyMethodIdeal for
🚀 FastEQ / ER reportsIntegrations with Wialon, RedGPS, existing platforms
OptimizedUx + UC + ECUNew projects, data optimization

Method 1: Preset Reports (EQ / ER)

The EQ and ER reports are extended reports that automatically include all CAN01 and CAN00 data respectively.

// Generate ER report (Extended + CAN00 for J1939) >GER00H< // Response includes all CAN data at the end >RER00090719144856-2778101-06425853000214FF00115000...;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;ID=037222;*5A<
AdvantagesLimitations
✅ Immediate implementation❌ Fixed parameter set (cannot be chosen)
✅ Compatible with Wialon, RedGPS❌ Longer frame (more data = more cost)
✅ No additional configuration❌ Format with numeric IDs difficult to interpret

When to use EQ/ER? When you need quick integration with platforms that already support these formats (Wialon, RedGPS, etc.) and you don’t care about frame size.


The combination of user reports Ux, UC configuration and individual ECU readings allows creating optimized and clear reports for each application.

You choose which parameters to include and how to name them.

// Configure U0 report: HQ position + only the CAN parameters I need >SUC00 $RHQ| #| QHQ,5| $;PA=| $c0:| QECU00,7|$c2:| QECU02,7|$c4:| QECU04,7|$c6:| QECU06,7|$c7:| QECU07,7< // Result: compact frame with descriptive names >RHQ00311225161305-2778104-06425850000348FF00125000000A3030105FFFF1120315000081DF;PA=c0:1850,c2:72,c4:15230.00,c6:89,c7:420;ID=865413053386354;*44<
AdvantagesConsiderations
Only the parameters you needRequires initial configuration
Custom field names (c0, c2, etc.)Needs parser development on server
Shorter frames (less data cost)
Easy to parse on server

Recommendation: For new projects, use this method. It allows you to optimize data consumption and have a clear and easy-to-process format.


Complete Example: Custom Report for Heavy Vehicles

Step 1: Configure UC00 report

>SUC00 $RHQ| #| QHQ,5| $;PA=| $c0:| QECU00,7|$c2:| QECU02,7|$c4:| QECU04,7|$c6:| QECU06,7|$c7:| QECU07,7<

What does each part do?

ElementFunction
$RHQ”RHQ” prefix to identify report type
#Inserts the event number that triggered the report
QHQ,5Includes HQ report (position + odometer) from character 5
$;PA=Adds separator and text “;PA=“
$c0:Adds text “c0:” as label
QECU00,7Reads RPM and takes from character 7 (value only)
Repeats for each CAN parameter

Step 2: Test with simulated values

>SECU00,1850< // RPM = 1850 >SECU02,72< // Fuel = 72% >SECU04,15230< // Odoliter = 15230 L >SECU06,89< // Temperature = 89°C >SECU07,420< // Oil pressure = 420 kPa

Step 3: Query the report

>QU0<

Result

>RHQ00311225161305-2778104-06425850000348FF00125000000A3030105FFFF1120315000081DF;PA=c0:1850,c2:72,c4:15230.00,c6:89,c7:420;ID=865413053386354;*44<

Frame interpretation:

FieldValueDescription
RHQ0000Event number 00
31122516130531/12/25 16:13:05Date and time
-2778104-27.78104°Latitude
-06425850-64.25850°Longitude
00033 km/hSpeed
4848°Heading
FF0xFFDigital inputs (all active)
000x00Digital outputs
12512.5VBattery voltage
;PA=Additional CAN Parameters:
c0:18501850 RPMEngine revolutions
c2:7272%Fuel level
c4:15230.0015.230 LTotal consumption (odoliter)
c6:8989°CEngine temperature
c7:420420 kPaOil pressure

Comparison of Both Methods

CriteriaEQ/ER (Method 1)Ux+UC+ECU (Method 2)
ConfigurationNoneRequires SUC
ParametersFixed (all)Selectable
Frame size~200+ characters~145 characters
Field namesNumeric IDs (2010, 5000…)Custom (c0, c2…)
Server parsingComplexSimple
CompatibilityWialon, RedGPSCustom development
Recommended forLegacy integrationsNew projects

CAN Query Commands (for diagnostics)

The QCAN00-QCAN05 commands allow direct CAN value queries, useful for diagnostics and verification:

>QCAN00< >RCAN00 2010=1500,5000=25,1030=15000.00,4201=75,...<

See documentation for each command: CAN00, CAN01, CAN02, CAN03, CAN05.


See Also

Last updated