OBD資料讀取

2021-08-07 09:17:32 字數 1326 閱讀 9711

1、obd完整協議----

我國採用了eobd相同的要求即iso15031-5(道路車輛-車輛與排放診斷相關裝置通訊標準-5排放有關的診斷服務)協議。所以只要該車支援iso15031-5的obd2標準協議中所有項,則可以通過obd介面讀取出ecu中所有資訊;若該車支援標準協議中部分項,則讀取出支援項資訊。

在iso15031-5協議中,油耗不能讀取,只能讀取燃油液位輸入 (讀出油箱剩餘油量與油箱容量的百分比)。在車上通過燃油液位感測器實現對剩餘油量檢測。

里程獲取辦法:

1、雖然不能直接獲得總里程,但可以總里程=安裝前里程數+故障燈點亮後行駛的里程數+消除故障後行駛的里程數。

2、obd2協議中無法直接讀取儀表上資料,只有通過購買汽車廠家的obd2協議的擴充套件,可獲得汽車儀表系統資料獲取,肯定能獲取汽車總里程和車門窗資訊。由於成本太高,所以不現實。

3、在車輪處安裝及車輪轉過圈數的感測器

4、還有通過gps獲取總里程。

在iso15031-5的obd協議中不支援讀取和控制車門窗的狀態資訊。讀取資訊是從iso15031-5協議中分析出來:

我們關注輸出資訊有:

系統輸出的每個引數都對應乙個使用16進製表示的pid(parameter 2、 3、 4、 注:pid:obdidentification),即引數標識。

pid$01 故障碼清除之後的監測狀態

pid$05 發動機冷卻液溫度

pid$0c 發動機轉速 可以讀取實時轉速或者故障時轉速。

資料型別:data/4 rpm (0pid$0d 車速 可以讀取實時車速或者故障時車速。

資料型別:data km/h (0pid$2f 燃油液位輸入 讀出油箱剩餘油量與油箱容量的百分比

讀取詳細obd資料流見下面二。

三、資料讀取(以iso15765-4的can匯流排協議為例)

1、硬體接線

硬體上接線:

can_h-----接obd介面第6引腳

can_l-----接obd介面第14引腳

電源正端---接obd介面第16引腳

公共地-----------接obd介面第4引腳

訊號地------接obd介面第5引腳

2、軟體協議

下面以讀取mode1實時車速為例:外面裝置--------》can-----------》汽車ecu

傳送格式:can的id pci mode pid

標準:7df 01 01 0d 00 00 00 00 00 擴充套件:18db33f101 01 0d 00 00 00 00 00

資料域:pci+mode+pid,其中pci表示協議控制資訊的位元組數量· 01----mode 1: 請求動力系當前資料; pid 0d----車速

什麼是OBD?為什麼要引入OBD?

obd open bufferdefinition 檔案是一種簡化的介面定義語言,用於描述 open broker 中介軟體介面的資料型別和 open boss 後台服務相互呼叫的資料型別,並盡量簡化和規範應用中資料型別的寫法,使程式更集中於解決業務邏輯。obd檔案不能直接使用到程式設計中,工具ob...

車載診斷系統 OBD

obd是英文on board diagnostic的縮寫,中文翻譯為 車載診斷系統 這個系統隨時監控發動機的執行狀況和尾氣後處理系統的工作狀態,一旦發現有可能引起排放超標的情況,會馬上發出警示。當系統出現故障時,故障燈 mil 或檢查發動機 check engine 警告燈亮,同時obd系統會將故障...

中讀取資料 讀取資料

對資料庫有一定了解的同學應該都知道資料表這個東西。資料表一般是以行列來儲存和展示資料的。每一列就是乙個資料字段,代表每一行資料的屬性。在python裡面也有類似表概念的東西,叫做dataframe。dataframe是我們資料分析和風控建模中很重要乙個元素,後續的很多資料操作都要以此為基礎。我們的資...