CAN Bus
Integration with onboard vehicle computers (ECU) through CAN protocol.
What is it for?
| Use case | Description |
|---|---|
| 🚛 Fleet telemetry | RPM, speed, consumption, engine temperature |
| ⛽ Fuel control | Tank level, instantaneous consumption, odoliter |
| 🔧 Diagnostics | Fault codes (DTC), engine status |
| 🚌 Public transportation | Integration with buses and heavy vehicles |
| 🏗️ Machinery | Engine 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:
| Command | Name | Description |
|---|---|---|
| CAN00 | Engine Report (ER) | J1939 parameters - Engine and consumption |
| CAN01 | Engine Quick (EQ) | OBD-II parameters with VIN |
| CAN02 | EBS Report | Trailer brake system |
| CAN03 | CAN Data | Fixed width format for Ux |
| CAN05 | MAF Report | FuelRate and airflow |
Individual Reading
| Command | Description |
|---|---|
| ECU | Flexible reading of any CAN variable |
Configuration Commands
| Command | Description |
|---|---|
| CXCAN | CAN protocol, speed and enablement |
| CXECU | Custom parsers for CAN data |
Supported Protocols
| Protocol | Typical Speed | Vehicles |
|---|---|---|
| J1939 | 250 kbps | Trucks, buses, machinery |
| J1850 | 10.4/41.6 kbps | Old American vehicles |
| OBD-II | 500 kbps | Light vehicles post-1996 |
| ISO 15765 | 250/500 kbps | European vehicles |
How to Report CAN Data to Server
To send CAN data to your tracking platform you have two strategies:
| Strategy | Method | Ideal for |
|---|---|---|
| 🚀 Fast | EQ / ER reports | Integrations with Wialon, RedGPS, existing platforms |
| ⭐ Optimized | Ux + UC + ECU | New 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<| Advantages | Limitations |
|---|---|
| ✅ 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.
Method 2: Custom User Reports (Ux + UC + ECU) ⭐ Recommended
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<| Advantages | Considerations |
|---|---|
| ✅ Only the parameters you need | Requires 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?
| Element | Function |
|---|---|
$RHQ | ”RHQ” prefix to identify report type |
# | Inserts the event number that triggered the report |
QHQ,5 | Includes HQ report (position + odometer) from character 5 |
$;PA= | Adds separator and text “;PA=“ |
$c0: | Adds text “c0:” as label |
QECU00,7 | Reads 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 kPaStep 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:
| Field | Value | Description |
|---|---|---|
RHQ00 | 00 | Event number 00 |
311225161305 | 31/12/25 16:13:05 | Date and time |
-2778104 | -27.78104° | Latitude |
-06425850 | -64.25850° | Longitude |
0003 | 3 km/h | Speed |
48 | 48° | Heading |
FF | 0xFF | Digital inputs (all active) |
00 | 0x00 | Digital outputs |
125 | 12.5V | Battery voltage |
;PA= | Additional CAN Parameters: | |
c0:1850 | 1850 RPM | Engine revolutions |
c2:72 | 72% | Fuel level |
c4:15230.00 | 15.230 L | Total consumption (odoliter) |
c6:89 | 89°C | Engine temperature |
c7:420 | 420 kPa | Oil pressure |
Comparison of Both Methods
| Criteria | EQ/ER (Method 1) | Ux+UC+ECU (Method 2) |
|---|---|---|
| Configuration | None | Requires SUC |
| Parameters | Fixed (all) | Selectable |
| Frame size | ~200+ characters | ~145 characters |
| Field names | Numeric IDs (2010, 5000…) | Custom (c0, c2…) |
| Server parsing | Complex | Simple |
| Compatibility | Wialon, RedGPS | Custom development |
| Recommended for | Legacy integrations | New 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
- CXCAN Command - Bus configuration
- UC Command - User reports
- Ux Command - Extended reports