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是我們資料分析和風控建模中很重要乙個元素,後續的很多資料操作都要以此為基礎。我們的資...