您是否需要低成本的CAN接口将CAN / OBD2数据流传输到PC吗?在本简介中,我们将展示虹科CLX000如何让您通过USB实时传输数据,以及相关用例。并且我们还会解释为什么与Wireshark集成后使CLX000成为最流行的CAN接口之一。
1、CAN / OBD2串流传输如何工作?
使用CLX000,可以从任何基于CAN的应用场景(汽车,卡车,轮船,机器等)中串流式传输CAN总线数据。下面以汽车串流式传输为例。
传输原始CAN / OBD2数据涉及4个步骤:
1、配置CLX000(例如,请求OBD2 PID)
2、通过OBD2适配器将CLX000连接到汽车
3、通过USB线将CLX000连接到PC
4、通过免费软件开始串流式传输
有关详细信息,可以查看CLX000简介。
2、使用CLX000和Wireshark进行数据串流传输的四大好处
使用CLX000和Wireshark进行CAN / OBD2数据串流传输具有以下优点:
2.1 快速逆向工程
CLX000可用作Wireshark中的“CAN嗅探器”,用于执行快速反向工程,例如专有的CAN参数或OBD2 PID。
2.2 实时问题诊断
通过Wireshark中的实时数据流,可以对数据进行过滤和着色以快速放大特定模式然后进行快速诊断。
2.3 实时查看物理值
Wireshark支持对数据进行实时OBD2和DBC(例如J1939)解码,从而简化了对卡车和汽车等的实时分析。
2.4 通过图像立即反馈
可以绘制物理值图像,从而以图形方式显示速度/ RPM使其更容易查看物理值的变化。
3、CLX000 CAN / OBD2记录器和接口
CLX000是一款低成本CAN总线数据记录器和接口,具有强大的功能,主要有以下六个功能及特点:
3.1 即插即用
两分钟内完成配置,通过CAN连接器供电,自动检测比特率。
3.2 独立设备
将CAN数据记录到8-32GB SD卡——无需PC
3.3 免费软件
配置CLXOOO,记录数据并转化数据文件
3.4 实时传播
在Wireshark中轻松串流式传输原始数据以及DBC转换的CAN / OBD2数据
3.5 紧凑
小巧易携带(6.6 x 4.3 x 2.4 CM),重量<50g
3.6 低成本
CLX000的性价比高
以下是CLX000的图片:
4、示例:在Wireshark中串流式传输CAN / OBD2数据
下面将说明一下数据流是以什么形式呈现的:
4.1 串流传输原始CAN数据
将CLX000连接到汽车,可以通过USB实时传输原始CAN数据,然后通过CANvas打开Wireshark,以查看原始输入所显示的CAN帧,其中包括时间戳(timestamp)、CAN ID和数据字节。
4.2 解码OBD2数据
如果将CLX000设置为请求OBD2 PID,则可以在原始数据流中查看汽车OBD2 PID响应(通常是CAN ID 7E8)。通过右键单击并选择'Decode As / OBD-II’,则可以将原始的OBD2数据转换为易于理解的格式,例如实时显示车速。
5、8个实用的Wireshark功能
下面我们列出了使用CLX000和免费插件Wireshark中一些强大的可用功能:
5.1 加载CAN DBC文件
利用Wireshark插件,可以使用自己的DBC文件(包括支持J1939 DBC文件)实时转换原始CAN数据。这是一项强大的功能,因为这将能够使我们实时分析/绘制汽车,卡车,拖拉机或机器上的物理值。有关更多信息,可以参考Wireshark DBC转换指南。
5.2 启用“CAN live”跟踪视图
对于逆向工程和汽车黑客,Wireshark插件启用了功能强大的“ CAN Live”跟踪视图。这将为每个CAN ID显示一行,并实时为每个ID的数据字节着色。它提供了一个极好的工具,可将CAN ID连接到物理事件,并识别专有CAN总线信号的位或者字节位置。有关更多信息,可以参考CAN总线嗅探器简介。
5.3 自定义列
我们可以轻松调整Wireshark的列结构。要删除列,只需右键单击并单击“Remove Columns”。要将数据字段添加为列,请在详细信息窗格中右键单击它,然后选择“Apply as Column”。这对于添加具有OBD2 / DBC物理值、最小值、最大值、名称等的列十分有用,我们也可以将列重命名为“Column Preferences”。
5.4 绘制数据图像
要以图形方式实时绘制转换后的OBD2数据,可以使用OBD2解码数据并转到“Statistics/IO Graph”,最多可以添加5个图表。首先,在X轴下启用“'View as time of day”。在Y轴下,将单位设置为“"Advanced...”。在计算字段中,选择“ AVG(*)”,然后在右侧的字段中输入“ obd-ii.mode01_”,这样会打开一个下拉列表,从中可以选择各种模式和参数。选择一个后,点击“Graph”将其绘制。这也适用于以下情况:例如在J1939 DBC文件中,可以在其中实时绘制转换后的CAN总线信号。
5.5 数据着色
还可以轻松添加条件格式。例如,如果需要快速发现串流中特定CAN报文或物理值,此时着色功能非常好用。通过右键单击窗口中间部分的字段,可以将所有出现的事件涂成红色,其中特定的CAN消息包含特定范围的数据字节。如下图所示,在OBD2数据中,当“Converted value”超过50 km / h时,可以将车速涂成黄色,而当超过60 km / h时,则将其涂成红色。
5.6 添加过滤器
过滤器能够更好的让我们控制数据流。要添加过滤器,最快的方法是右键单击详细信息窗格中的数据字段,然后选择“'Apply as Filter”。这将更新左上方的文本字段,接下来就可以编辑详细信息以适合我们的需求。假设我们正在串流式传输OBD2的“requests”(ID 7DF)和“responses”(ID 7E8),并且只想看响应报文?只需在过滤器中写入“ can.id == 0x000007e8”。它会变成绿色,表明它是有效的,可以单击Enter,使用“Expression...”按钮,当然还可以使用各种关系运算符构建更高级的过滤器。
5.7 以自定义格式导出数据
利用Wireshark,可以轻松地以各种自定义格式(包括* .CSV,*。TXT,*。JSON,*。PCAP,*。C,*。PS等)保存数据流。此外,可以将过滤器应用于数据,并且仅保存可见的选择。
5.8 加载CLX000日志文件
使用该插件,可以加载以独立模式(例如没有PC的时候)记录的CLX000日志文件。这让我们可以使用CLX000日志文件上的所有Wireshark功能,包括OBD2 / DBC转换。这个功能结合导出为自定义格式的功能也非常有用。