Stream Real-Time DBC Decoded CAN Data (Wireshark, J1939)
Want to stream human-readable CAN bus data in real-time?
This intro shows how you can use the CLX000 CAN interface to stream 'physical values'. The real-time CAN data is decoded in Wireshark using CAN DBC files (e.g. a J1939 DBC).
Note: The CLX000 now also supports streaming via the popular SavvyCAN tool.
What is a CAN DBC file?
A CAN DBC file (CAN database) is a text file that contains information for decoding raw CAN data from an application to 'physical values' (human-readable form).
By default, a CAN logger records raw CAN data - see e.g. below CAN frame (HEX):
CAN ID Data bytes 0CF00400 FF FF FF 68 13 FF FF FF
If you have a CAN DBC that contains decoding rules for this CAN ID, you can 'extract' parameters (signals) from the data - e.g. the info and physical value for EngineSpeed:
Message Signal Value Unit EEC1 EngineSpeed 621 rpm
For details, see our intro to CAN DBC files.
The CLX000 CAN bus logger & interface
In the next section, we show how the CLX000 can be used to stream raw CAN data, which you can decode in real-time.
The CLX000 is a low cost CAN bus data logger & interface, which can be used for real-time CAN streaming with Wireshark:
Configure in 2 min. Power via CAN connector. Auto-detect bit-rate
Log CAN data to 8-32GB SD card for months - no pc needed
Configure your CLX000, stream data & convert log files
Easily stream raw & DBC converted CAN/OBD2 data in Wireshark
Fits the palm of your hand (6.6 x 4.3 x 2.4 CM) and weighs <50g
The value/cost of the CLX000 is unbeatable
Example: Decode J1939 in real-time via Wireshark
Our Wireshark plugin lets you load CAN DBC files in Wireshark to decode raw data streams. Below we show how it can be used.
For a general intro to streaming CAN bus data with the CLX000, see our CAN interface intro.
You can try out the below steps by installing Wireshark and our free plugin as outlined here. Once installed, you can load a CLX000 sample file with J1939 data and a J1939 DBC sample and follow the steps.
When you've connected the CLX000 to your CAN application and started the streaming in Wireshark, you can load your DBC file and decode your data.
Once you've done this, you will be streaming human-readable CAN bus data in real-time from your CAN application.
The default view above is called 'Message View' and shows 1 row per CAN Message.
For some use cases, you may prefer the alternative 'Signal View' - which shows 1 row per CAN Signal:
To enable Signal View, check "Signal per row" in the preferences, re-start Wireshark and re-enable your decoding. You can also add new column fields by selecting a field from the details window and clicking "Apply as Column".
4 cool Wireshark DBC features
Streaming your CAN data via the CLX000 in Wireshark offers a range of powerful DBC-related features.
Data plots are easily done in Wireshark - also in real-time!
Simply go to Statistics/IO Graph. Here, you can start by setting the X-axis to show "Time of day" and the Y-axis unit to "Advanced...". Next, set the Calc field to "AVG(*)" and to the right enter "can-dbc." in the field. This brings up a drop-down to scroll through messages/signals of the DBC file. Select one and click the Graph button to plot it. You can adjust the interval frequency for resampling.
Wireshark offers great filter options to simplify your views.
These are set up in the Expressions tab in the upper right corner. For example, you can add the filter, "!can-dbc.signal_max && !can-dbc.signal_min" and hit enter to filter out invalid Signals when in Signal View. You can also right-click any field in the details pane and add it as a filter.
You can easily export data to other formats in Wireshark. Simply go to File/Export Packet Dissections to select format (*.txt, *.ps, *.csv, *.psml, *pdml, *.c, *.json) and settings.
You can export all frames, a selected range or the displayed frames based on filters. Under "Packet Format", we recommend to include the Packet summary line, column headings and packet bytes, while excluding the rest. You can export either raw CAN data or the dissected version.
You can load CLX000 log files into Wireshark. This lets you convert, plot and export the data via Wireshark. For large or multiple log files, we recommend using CANvas as it is more efficient for log file conversion. However, for smaller log files the Wireshark solution offers a quick way to get an overview of your logged data.
Ready to stream your DBC-decoded CAN data in real-time?
Get your CLX000 today!