Advertisements
車用總線技術 | CAN接口——實時串流傳輸CAN總線和OBD2數據
蓋世汽車快訊 童郜 2021-06-23 07:49:06
您是否需要低成本的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轉換。這個功能結合導出為自定義格式的功能也非常有用。
本文地址:https://auto.gasgoo.com/news/202106/23I70260643C103.shtml
0
好文章,需要你的鼓勵
來源:蓋世汽車
大家都在玩的社團☞熱門大爆料☜加入社團和大家一起交流