OpenXC は、 Ford Bug Labs によって開発され、オープン スタンダードとして提案された 自動車用のハードウェアおよびソフトウェアAPIです。
現時点では、API は読み取り専用 ( OBDIIインターフェイスとは異なります) であり、少数の車両測定パラメータ (エンジン速度、車両速度、GPS 位置など) のみを提供します。
歴史
- 2012年3月:ベータプログラム発表[ 1 ]
- 2012年1月9日: OpenXCプラットフォームリリース[ 2 ]
建築
一般的な実装では、次のアーキテクチャ レイヤーが使用されます。
- 車両電子制御ユニット
- CANバス
- OBDIIインターフェース
- OpenXC車両インターフェースモジュール[ 3 ]
- USB または Bluetooth 経由の OpenXC ワイヤメッセージ
- デバイス上のOpenXCドライバーまたはサービス(現在はAndroid) 例:Android用のOpenXC Enablerアプリ。[ 4 ]
- OpenXC対応アプリケーション。Androidサンプルアプリケーション:retro-gauge [ 5 ]およびmpg [ 6 ]を参照。
これらのレイヤーのすべてが必須というわけではありません。例えば、車両はOBDソケットやリファレンスOpenXC車両インターフェースモジュールを使用せずに、USBまたはBluetoothへのネイティブCANバスインターフェースを実装する場合があります。あるいは、リファレンスOpenXC車両インターフェースモジュールの代替として、共通のELM327インターフェースを使用して開発することも可能です。
API
2012年1月時点でAPI経由で入手可能なデータには以下が含まれる[ 7 ]
- アクセルペダルの位置
- ブレーキペダルステータス
- エンジン速度
- FineOdometer - 永続的な走行距離計の記録
- FuelConsumed - 車両の始動後に消費された燃料
- FuelLevel - ガソリンタンク内の現在の燃料レベル。
- HeadlampStatus - ヘッドランプがオフかオンか。
- ハイビームステータス
- イグニッションステータス
- 緯度
- 経度
- オドメーター
- ParkingBrakeStatus - パーキングブレーキが作動しているかどうか。
- ステアリングホイール角度
- TorqueAtTransmission - トランスミッションの実際の現在のトルク。
- TransmissionGearPosition - トランスミッションの実際の現在のギア。
- 方向指示器の状態
- VehicleButtonEvent ButtonEvent は、車両 HMI 上のボタンの押下、放し、または押したままの状態を表します。
- VehicleDoorStatus - ドアは半開きですか?
- VehicleSpeed - 車両の現在の前進速度。
- フロントガラスワイパーステータス
OpenXC 対 OBD
現在のOpenXC APIから得られるあらゆる情報(そしてそれ以上の情報)は、OBDインターフェースからも利用できます。ただし、OBDのコア規格はエンジントレイン、排出ガス、故障(カスタムPIDを通じてより多くのデータが利用可能)に重点を置いているのに対し、OpenXCはドライバーにとってより重要な高レベルの計測機器に重点を置いています。
OpenXCを使用する潜在的な利点は次のとおりです。
- OBDインターフェースから得られる最も有用な情報は、メーカーや車両によって異なる可能性のある独自のPIDを使用しています。OpenXCは、ELM327インターフェースに類似した標準インターフェースを提供できます。
- OBDインターフェースは実装が複雑になる可能性があるが、OpenXC APIはアプリケーション開発者にとって使いやすいように設計されている。
OBDインターフェースを使用することで得られる利点としては、
- ELM327プロトコルなど、既存のOBDインターフェースハードウェアとソフトウェアを使用する
- OpenXCの追加ハードウェア層は、現在、OBDインターフェースよりもはるかに高価です。
- OpenXCで利用可能な限定された機能セットに加えて、追加の機能にアクセスできます。例:マニホールド真空(OBD PID 01-0B)
- 現在OpenXCをサポートしている車両は少ない(2013年1月時点でフォードの8車種[ 8 ])が、ほぼすべての最新車両はOBDをサポートしている。
- 障害コードをクリアするなど、データを車両に書き戻す機能。
参照
参考文献