AndroidからElm327/OBD2プロトコル(WIFI診断の問題)にコマンドを送信しようとしています。APIまたはライブラリを次の場所からダウンロードしました: https://github.com/pires/ Android-obd-reader このAPIにドキュメントがないという問題。データを交換するためのコマンドとプロトコルについてサポートが必要です。ありがとうございます。
本当に知りたいことは何ですか?
Elm327を使用すると、プロトコルはかなり簡単です。 PIDをASCIIで送信するだけで、ASCIIで回答を受け取ります。それはポーリングに基づいています。したがって、1つのリクエストに対して1つの回答を受け取ります。送信しない限り、受信しません。
変換と送信するコマンドについては、提供したリンクを確認してください。
その他のリンク:
このライブラリを使用する場合は、ソースコードをダウンロードする必要があります。ソースコードは一目瞭然です。サンプルアプリケーションのソースコードもあります。サンプルアプリケーションを実行しようとしましたが、うまくいきませんでした。しかし、私はソースコードを調べたところ、それが私のアプリケーションに役立ちました。
このライブラリには、すでに実装されていて使いやすい主なクエリがあります。 ObdResetCommandクラスでエラーが見つかっただけです。このクラスはスーパークラスObdCommandを実装し、次のようにreadResultメソッドをオーバーライドします。
@Override
public void readResult(InputStream in) throws IOException {
// do nothing
return;
}
これを機能させるには、スーパークラスのメソッドを使用するためにこのオーバーライドメソッドを削除する必要があります。そうしないと、応答は読み取られず、次のコマンドで読み取られるため、すべての応答が1つのクエリで遅延します。
お役に立てば幸いです。