上篇博客介紹了車聯網OBD的一個整體效果圖http://www.cnblogs.com/enjoyeclipse/p/3453750.html
這篇就重點說說汽車的內部通訊方式和項目的整體架構吧。
一.汽車的USB-OBD和汽車的大腦-ECU
說到這里,咱還是回頭再看看OBD的概念,OBD是英文On-Board Diagnostic的縮寫,中文翻譯為“車載診斷系統”。汽車方向盤的左下方一般都有這么一個16針的接口,這個接口最早是用來檢測排放廢氣的,也用來故障診斷。
OBD接口
那ECU是什么呢?這塊我們團隊也還沒有深入研究,只是理解到ECU就是汽車的大腦。現在的電子技術在汽車運用得越來越多,很多汽車的數據都是存儲在ECU上的。如果汽車出現了什么問題(故障碼),就會存儲在ECU上。
ECU板
OBD和ECU的關系我的理解就是USB和電腦核心系統(芯片,內存,硬盤)的關系。在這個領域中的極客,都是可以通過OBD去刷ECU的數據而提高汽車動力性能的。有點類似於刷系統,當然難度也是很高的,主要是OBD一般都是讀取的發動機轉速、速度、水溫、油耗等通用數據,協議也相對通用。真正每個汽車廠商的核心數據是各不相同的。
二.汽車的總線:K總線和CAN總線
但是OBD和ECU是如何通信的呢?原理和普通電腦一樣,是靠總線連接的,目前家用車多采用K總線和CAN總線兩種,你只要知道,CAN總線是相對高級的總線就行了。只是這一塊如上文所說,中間是有非常復雜的網絡協議,有點類似於TCP/IP那種。當然總線不僅僅是連接OBD,還會將汽車上的很多傳感器串聯起來。也就是說,汽車本身就是一台電腦,也可以理解為一個局域網。
總線示意圖
三.總體架構
前面隨便說了下汽車內部的通訊方式,下面聊聊整體的架構吧,從圖上看真的很簡單,包含四層。不過真正做起來的時候,從用戶界面到異常處理,到多OBD的適配,到藍牙的自動連接,好多細節需要處理,以后的文章再慢慢說吧。
1.ECU-------OBD(我們不用關心,OBD硬件廠商一般都做好了)
2.OBD--------Android終端PP(采用OBD解析協議,通過藍牙方式傳輸,下篇博客會重點描述)
3.Android終端APP-------服務器+數據庫(采用自定義的Webservice)
4.PC瀏覽器-------服務器+數據庫(網站技術)