2013-02-27 82 views

回答

13

你真的想知道什麼?

對於ELM327,協議相當簡單。您只需發送一個ASCII碼的PID,然後您將收到一個ASCII碼答案。它基於投票。所以你會收到1個請求的答案。只要你不發送,你就不會收到。

對於轉換和發送的命令,請檢查我提供的鏈接。

一些更多的鏈接:

AT Commands
OBD-II Commands

+0

更新了AT命令鏈接。 https://www.sparkfun.com/datasheets/Widgets/ELM327_AT_Commands.pdf – 2016-08-09 06:58:00

+1

按照建議編輯完成的答案。 – 2016-08-09 09:33:56

3

如果你想使用這個庫,你應該下載的源代碼。源代碼是不言自明的。還有一個示例應用程序的源代碼。我試圖運行示例應用程序,但它對我無效。但是,我看了一下源代碼,它幫助了我的應用程序。

在這個庫中,你會發現已經實現並易於使用的主查詢。我只在ObdResetCommand類中發現錯誤。這個類實現了超類ObdCommand和它覆蓋readResult方法是這樣的:

@Override 
public void readResult(InputStream in) throws IOException { 
    // do nothing 
    return; 
} 

要使其工作,你應該爲了使用超類中的一個消除這種壓倒一切的方法。如果不這樣做,則不會讀取響應,並會在以下命令中讀取響應,以便每個響應都會延遲一個查詢。

我希望它有幫助。

+0

可以請你看看這個問題http://stackoverflow.com/questions/18528792/unable-to-send-atz-command-to-elm-327-after-establishing-connection-with-elm327 – 2013-09-11 05:15:09