2011-03-22 101 views
8

我想開始在基於iOS/Objective-C的基於ELM327的汽車OBD-II藍牙適配器進行編碼。有關於如何開始的指南/入門指南?是否有ELM327/obdkey OBD-II適配器Objective-C編程指南?

我會想象ELM327適配器是一個串行設備...我可能想出如何建立與手機的藍牙連接,但我不知道從哪裏開始發送/接收OBD-II消息往返於它。

此設備是否有預先存在的API?

+1

我知道你問了這個問題已經有3年多了,但是你有沒有遇到這種情況?我想開發一個iOS應用程序,通過WiFi與基於ELM327的設備進行通話,並希望避免重新發明OBD-II通信設備。 – CharlesA 2014-05-30 17:28:24

+1

我有一個基本的基於無線的AT通信設置工作在這個項目在這裏,可以作爲一個體面的起點,任何人想要做到這一點:https://github.com/jeffmcfadden/CarDash – Jeff 2015-06-27 01:08:55

回答

6

如果您需要某些OBDKey特定命令,請告訴我。作爲一個例子,來訪問RPM數據,發出以下命令

ATZ\r 
ATSP0\r 
0100\r 
010C\r 

這些說明將初始化OBDKey接口,設置爲自動協議搜索,初始化communcations與發動機同治ECU和發送模式1 PID 0C命令來請求發動機轉速(RPM)數據。響應010C命令返回的值實際上是實際發動機轉速值的四倍。

在iOS/Objective-C中使用套接字和流是設置與OBDKey WLAN(默認IP地址爲192.168.0.74,端口23)通信的最佳方式。

3

elm327 odb2設備使用ATODB命令。
AT命令與您在調制解調器上使用的命令相同,它們始終以AT開頭。

當設備初始化它發送

ELM327 v2.1 
> 

如果您發送

ATZ

這將重置設備,它會發出 「ELM327 V2.1」 和>再次提示。

AT命令用於管理elm327設備。

ODB命令在子囊十六進制如上面的例子

01 0C

得到rpm或

以獲得冷卻液溫度

http://www.elmelectronics.com/obdic.html有更多詳細信息的數據表pdf文件。
您也可以搜索ituns for「elm327」,並獲得有關這個主題的2本免費書籍。

我只是爲我的通用elm327 wifi設備啓動相同的項目,所以我沒有任何細節。
一旦我學到有用的東西,我會盡快添加評論。