市販のカーナビやカーオーディオに不満を感じ、Android AutoでもApple CarPlayでもない選択肢が欲しい。そんな動機から、Raspberry Piなどのシングルボードコンピュータ(SBC)で動作するオープンソースの車載システム「OCTAVE」が開発された。
開発者のMokahmonster氏は、自身のJeep TJ(2003年式)に搭載するために約1年かけてこのシステムを構築した。純正ステレオを取り外し、収まる範囲で最大のタッチスクリーンをAmazonで購入。3Dプリントしたブラケットでディスプレイを固定し、12Vから5Vへのトランスを介してSBCに給電している。電源はリモート線に接続しており、イグニッションキーをオンにしたときだけシステムが起動する。現在はリレーを使ってシャットダウンスクリプトを実行する仕組みを開発中だ。
OCTAVEの主な機能は3つある。1つ目はOBD-IIデータの表示だ。Bluetooth接続のOBDリーダーを車両に常時接続し、エンジン回転数や各種センサー情報をリアルタイムで確認できる。現時点ではゲージやグラフの表示、燃費や馬力などの演算値表示は未実装だが、基盤となるデータ取得の仕組みは完成している。
2つ目はSpotify連携だ。システムをSpotifyのリモコンとして使用でき、アルバムアートの表示にも対応する。MP3ファイルの読み込みも可能で、ストリーミングとローカル再生の両方に対応している。
3つ目はカスタマイズ性だ。テーマの切り替え、ナビゲーションバーの位置変更など、インターフェースを好みに合わせて調整できる。設定はJSONファイルに保存され、再起動後も維持される。
ソフトウェアはPythonバックエンドとQMLフロントエンドで構成されており、Windows、macOS、Linuxで動作する。開発者はOrange Pi(M.2 SSD搭載)とUbuntuの組み合わせで運用しているが、他の安価なSBCでも動作するとしている。i3ウィンドウマネージャーをインストールし、起動後30秒以内にOCTAVEが立ち上がるよう設定している。
今後の計画として、GPIOピンに加速度センサーを接続してピッチとヨーを表示する機能、GPS連携(Android AutoのDHU統合またはscrcpyによるスマートフォンミラーリング)などを検討している。
ソースコードはGitHubでMITライセンスのもと公開されている。車種別の3Dプリント用マウントファイルも整備が進んでおり、Jeep TJ用のSTLファイルはすでに公開されている。セットアップスクリプトが用意されており、依存関係のインストールから仮想環境の構築まで自動で処理される。