——可实时传输CAN总线或OBD2数据(基于Wireshark)
虹科CAN总线记录仪
您需要一个低成本的CAN连接器将CAN或OBD2数据传输到PC端吗?
在这个简介中,我们将展示如何基于CLX000来让您的实时数据通过USB传输到PC端,以及会介绍产品的使用案例以及产品的特点。
最重要的是,我们将会说明为什么与Wireshark配合的CLX000会成为最流行的CAN连接器之一。
如何进行CAN总线数据传输?
使用CLX000,可以在任何基于CAN设备(汽车,卡车,轮船,机器等)的网络上传输数据。下面以汽车数据传输为例。
传输原始CAN或者 OBD2数据涉及到4个步骤:
1. 配置您的CLX000(例如,请求OBD2 PID)
2. 通过OBD2转换线将CLX000连接到汽车
3. 通过USB线将CLX000连接到PC端
4. 通过免费的软件进行数据传输
更多详细信息,请联系虹科~
借助虹科CAN总线记录仪及配套软件对汽车CAN数据进行逆向工程
使用CLX000以及Wireshark进行数据传输的四大好处
使用CLX000和Wireshark进行CAN或OBD2数据传输具有以下主要优点:
更快速的逆向工程
CLX000可在快速逆向工程中作为Wireshark中的“CAN嗅探器(CAN sniffer)”,例如为了获取特殊的CAN参数或OBD2的PID。
实时问题诊断
通过Wireshark中的实时数据流,可以对报文进行过滤和着色,以快速放大特定模型然后进行快速诊断。
实时查看物理值
Wireshark支持对数据进行实时的OBD2和DBC(例如J1939)解析,从而简化了对卡车和汽车等的实时分析。
基于图像的立即反馈
可以绘制物理值的图像,从而以图像的形式显示车速或RPM,这能更容易发现物理变化所产生的影响。
CLX000是CAN或OBD2记录仪以及连接器
CLX000是一款低成本CAN总线数据记录仪和连接器,具有强大的功能,主要有以下六个功能及特点:
即插即用
两分钟内可以完成配置,可由CAN连接器供电,并能自动检测波特率(需为标准波特率)
支持脱机模式
可将CAN数据记录到8-32GB的SD卡上,无需PC端
免费的软件CANvas
可配置您的CLXOOO、传输数据以及保存为可回放的记录文件
实时传输
利用Wireshark可轻松传输原始数据以及基于.dbc文件对CAN或OBD2数据进行解析
小巧
一只手便能轻松拿起(6.6 x 4.3 x 2.4 cm^3),重量小于50g
成本低
CLX000的性价比十分高
示例:在Wireshark中传输CAN或OBD2数据
下面,我们会以图片的形式告诉您数据流具体是怎么样的
传输原始CAN数据
通过将CLX000连接到汽车,可以通过USB实时传输原始CAN数据。如果您想查看数据,那您需通过CANvas打开Wireshark,便可查看到传入的原始CAN报文,包括时间戳(timestamp)、CAN ID以及数据字节。
解析OBD2数据
如果将CLX000设置为请求OBD2 PID,那么您就可以在原始数据流中看到汽车OBD2 PID的响应(通常会使用CAN ID 7E8)。右键单击后选择“ Decode As / OBD-II(CSS Electronics)” ,则可以将原始的OBD2数据解析为人类可读的数据,例如实时地显示车速。
Wireshark中8个实用的CAN传输功能
下面,我们列出了一些Wireshark在配合CLX000以及一些免费插件时较为强大的功能:
1. 加载CAN .dbc文件
利用Wireshark的插件,可以使用自己的.dbc文件(包括支持J1939的.dbc文件)来实时解析原始CAN数据。这是一项十分强大的功能,因为您将能够实时分析或以图像的形式展示汽车、卡车、拖拉机或机器上的物理值。更多信息,请联系虹科~
2. 启用“CAN Live”记录视图
对于逆向工程和汽车黑客工程,Wireshark的插件可启用功能强大的“ CAN Live”记录视图。每个CAN ID会显示为一行,并能实时为每个ID的数据字节着色。它提供了一个出色的工具,可将CAN ID连接到物理事件,并能识别出用于放CAN信号的几个位或字节。更多信息,看参见上方超链接的视频或联系虹科~
3. 可自定义的列
您可以轻松调整Wireshark中列的结构。如要删除列,只需右键并单击“Remove Columns”;如要将数据字段添加为列,在详细信息窗中右键单击它,然后选择“Apply as Column”。这对于添加具有OBD2或DBC物理值、最小值、最大值、名称等的列十分有帮助。您也可以以您自己的喜欢将列重命名。
4. 绘制物理图像
要以图形的方式实时绘制解析后的OBD2数据,可以使用OBD2解析数据并关联到“Statistics/IO Graph”。在这里最多可以添加5个图表。首先,在X轴下启用“'View as time of day”。在Y轴下,将单位设置为“"Advanced...”。在“计算”字段中,选择“ AVG(*) ”,然后在右侧的字段中输入“ obd-ii.mode01_”,这样会打开一个下拉列表,从中可以选择各种模式01参数。选择一个后,点击“Graph”将其绘制。这也适用于J1939 .dbc文件,您可以在其中实时绘制解析后的CAN总线信号。
5. 数据着色
您还可以添加条件。如果您需要快速发现数据流中特定的CAN报文或物理值的出现,此时着色功能就非常好用了。通过右键单击窗口中间部分的字段,您可以在CAN报文包含特定范围数据字节时将出现的所有信息标红。例如,在OBD2数据中,当解析后的值超过50 km / h时,可以将车速涂成黄色,而当超过60 km / h时,则将其涂成红色(参见上图)。
6. 添加过滤器
过滤器能够真正获得对数据流的控制。要添加过滤器,最快的方法是右键单击详细信息窗格中的数据字段,然后选择“Apply as Filter”。这将更新左上方的文本字段,那就可以编辑详细信息以适合我们的需求。假设我们正在传输OBD2的请求(ID 7DF)和响应(ID 7E8),但现在您只想看到响应报文,只需在过滤器中写入“can.id == 0x000007e8”。如果它变成绿色,就表明它是有效的,便可以单击Enter,voila(手动滑稽)!点击“Expression...(表达式)”,您还可以使用各种关系运算符构建更高级的过滤器。
7. 将数据以各种自定义格式导出
利用Wireshark,可以将传输数据记录文件保存为各种自定义格式(包括.csv、.txt、.json、.pcap、.c、.ps文件等)。另外,您可以将过滤器应用于数据,并且仅保存可见的选择。
8. 加载CLX000记录文件
使用该插件,可以加载脱机模式时保存的CLX000记录文件。这可以让我们在CLX000记录文件上应用所有的Wireshark功能,包括OBD2或DBC转换。结合导出自定义格式的功能,这会非常有用。