問題タブ [obd-ii]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2118 参照

ios - iOS コア Bluetooth シリアル ポート

シリアル データを返す bluetooth デバイスがある場合、CoreBluetooth を使用してそれを読み取るにはどうすればよいですか?

特徴やサービスはありません。既知の (実際には obd ii) 形式のバイナリ データです。

0 投票する
1 に答える
5789 参照

android - OBD パラメータをリクエストして受け取る方法

私はAndroidが初めてで、OBDIIデバイスからパラメーターを取得するBluetoothアプリを開発しようと考えました。サンプルの Bluetooth チャット アプリケーションをダウンロードして構成しました。問題は、パラメータを受信するために OBDII デバイスに送信する必要があるメッセージとは何ですか? また、アプリケーション側でそれらをどのように処理すればよいですか?

ありがとうございました。

0 投票する
2 に答える
733 参照

c# - ECU からの OBD データを待機している間、どのくらいスレッドをスリープ状態にする必要がありますか?

C# を使用して Windows 用の OBD2 スキャナー アプリを開発しています。シリアルポートからの応答を読み取る前に、車の ecu からの応答を (thread.Sleep() を使用して) 待機する最適な時間を誰かが教えてくれることを期待していました。

Bluetooth アダプターを使用して開発を行っており、ボーレートは 9600 です。現在、待機時間を 100 ミリ秒に設定していますが、可能であればそれよりもはるかに短くしたいと考えています。ポートの準備ができていないときにデータを読み取ろうとする状況に遭遇したくないだけです。スムーズな GUI と快適なエラー マージンとの間で適切なトレードオフを実現したいと考えています。

更新: アイデアに感謝します。DataReceived の処理は一般的な考え方ですが、スレッドをスリープ状態にしているのは、RPM ゲージの更新などを行うために ECU を定期的に繰り返しポーリングする必要があるためです。私は、ECU から圧倒されることなく、できるだけ多くの担当者が得られるスイートスポットを見つけようとしています。ポーリングを 1 回だけ行う場合は、イベントを処理するだけで問題ありませんが、ポーリング間の許容可能な間隔を知る必要があります。コードをイベント駆動型に変更することは間違いありませんが、ポーリング間の適切な時間の長さを知る必要があります。

0 投票する
4 に答える
28097 参照

obd-ii - OBD2 パラメータを使用して燃費 (MPG) を取得する最良の方法は何ですか?

OBD2 パラメータを使用して燃料消費量 (MPG) を取得する最良の方法は何ですか。

以下の式は単純ですが、最も正確ではありません。正確な見積もりを取得するための他の式です。車両速度の値は Km/Hr で提供され、マイルに変換するには 0.621317 を掛けます。MPG を計算するには、MPH を GPH で割ります。MPG の最終的な数式は次のようになります。

ガソリンエンジン用

ディーゼルエンジンの瞬時消費量の計算方法を教えてください。また、obd2標準から入手可能なパラメーターから、車種に関係なく計算しようとしています。


同じトピックを調べている人に役立つリンクがいくつかあります。

0 投票する
1 に答える
772 参照

obd-ii - OBD (On Board Diagnostic) データからクラッシュを見つけますか?

私たちのアプリケーションでは、車両ポートから継続的に OBD データを収集しています。私たちの要件は、車両の衝突シナリオ(事故など)を見つけることです。現在、OBD パラメータの速度、温度、rpm などを読み取っています。これらのパラメータから車両事故のシナリオを特定することは可能ですか、それともさらに多くのパラメータを使用する必要があります。

事前に知識を共有してください。

0 投票する
1 に答える
3504 参照

bluetooth - フォード CAN データと ELM327

Bluetooth ELM327ワイヤレスOBD-IIレシーバーを使用して、車両の OBD-II ポートからデータを取得しようとしています。私はエンジンに関する情報を収集しようとしているのではなく、車両内の電子機器の一部を収集しようとしています. デバイスにアクセスするための特定のコマンドが与えられ、ELM327 以外のさまざまなデバイスとソフトウェアを使用して成功しました。

CAN バスとデータ転送全般を扱った経験はあまりありません。このプロセスの重要な部分を省略している場合はご容赦ください。ただし、メッセージ ヘッダーやデータ バイトなどの CAN の基本は理解しています。

これまでのところ、Ford DET ツールを使用してデバイスからデータを収集してきました。8 バイトの CAN メッセージを送信し、データを受信することができました。生成された出力から適切なデータを解析するために必要なコマンドがたくさんあります。たとえば、コマンドを送信する場合

ログファイルには次のように表示されます。

goSerialで ELM327 と通信すると、次のようになります。ELM327 デバイスの使用方法を説明するために、すべてのコマンドを含めました。

ご覧のとおり、最終行の結果出力は、Diagnostic Engineering ツールで表示された結果よりもはるかに短くなっています。デバイスを正しく構成していませんか?

基本的に、ELM327 の出力を Ford DET ツールの出力と一致させようとしています。これが非常に漠然とした質問であることは理解しています。

私の構成に関するその他の情報は次のとおりです。

  • ボーレート: 38400 (車両の標準?)
  • CAN バージョン: ISO 15765-4

すべてのコマンドは 0x727 で始まります。フロー制御は 0x727 と 0x7A7 で送信されます。

また、私はすでにELM327のドキュメントのほとんどを読んでいるので、それを解決策として残さないでください.

0 投票する
2 に答える
28424 参照

android - アンドロイド ブルートゥース 接続できません

私はしばらくの間この問題を抱えていて、それを理解することができませんでした。

ペアリングされたすべてのデバイスをリストビューに表示する Android アプリケーションがあります。リスト項目の 1 つをクリックすると、その Bluetooth デバイスへの接続要求が開始されます。

アドレス付きのデバイスのリストを問題なく取得できます。問題は、接続しようとすると、socket.connect(); で IOException が発生することです。

エラー メッセージは次のとおりです

これが私のコードです。どんな提案でもいただければ幸いです。私はこれにかなりこだわっています。

参考:「onEvent」メソッドは、コールバックを簡素化するライブラリです...その部分は機能します。ユーザーがリスト項目をクリックすると、このメソッドは " public void onEvent(EventMessage.DeviceSelected event) "と呼ばれます。

これが私のlogcatです。とても短い。

その最後の行は、try/catch の「Catch」セクションにあります...エラー メッセージをログに記録しているだけです。

「デバイスに接続しようとしています」と「接続に失敗しました」の間には約 20 秒のギャップがあることに注意してください。

0 投票する
0 に答える
126 参照

java - JSR 298 は、コンピューター デバイスと OBD 2 スキャン ツール間の通信を容易にしますか?

JAVA ME の JSR 298:Telematics API に出くわしたとき、Java で obd-2 アプリケーションの Web を閲覧していました。このJSRの正確な目的を知っている人はいますか?

Bluetooth を使用して ELM 327 から継続的にデータを抽出できる Java アプリケーションを構築したいと考えています。この JSR はそれを助けてくれますか? はいの場合、どのように?