Android-x86を車載向けにコンパイル

車載PCを行っている人も少数ですがいると思うので公開します。
ここでは車載PCのOSとしてUSB-GPS測位センサが利用できるようカスタマイズしたAndroidを提供します。


公開中の最新ISOVer:Android-x86 4.4RC1 ベース ※ARMトランスレータ適用済み
公式マーケット(Google Play Store):対応済み

☆なぜAndroidなのか:
Androidは元々Google社がスマートフォン向けに開発したOSです。
それ故タッチパネルでの操作を前提にした作りになっています。
車載PCでは車の運転の障害にならないようタッチパネルで操作
できるものが多いです。
このことからAndroidは車載PCのOSとしても親和性の高い物になり得ます。
また、AndroidのアプリケーションにはGPSを使用した速度計や
マップ、ナビゲーションソフトが存在し、
オンラインの環境が作れれば地図データが常に最新のナビゲーションシステム
としても活用できます。

■AndroidはPCで動くのか:
スマートフォン向けOSに用いられているGoogle社のAndroidですが、
x86PC向けにもコンパイルできるプロジェクトが存在しています。

↓はAndroid x86プロジェクトのホームページです。(英文)
http://www.android-x86.org/

上記のプロジェクト本家のダウンロード項目でもコンパイル済みISOは手に入れることが
可能です。
但しタッチパネルやGPSなどの固有機能がうまく動かない場合があります。

そこでこのページでは車載パソコン向けにソースの一部を編集して
車載PCに必要なGPSナビゲーション機能を利用できるようカスタマイズしたOSの
ISOイメージを提供します。



■公開するAndroidの仕様(本家標準コンパイルISOとの差分)と動作環境
[20140907版の仕様]
Androidバーション:4.4(KitKat-x86)
本家Android-x86公式ページのISOイメージ(4.4Rel1版)との差分は以下の通りです。
・USB-GPSモジュールの認識と各種マップアプリからの利用が可能になっています
(USB-GPSモジュールのボーレートは9600bps、更新間隔は1Hz(1秒ごとに更新)に設定して接続して下さい。)
・言語が最初から日本語です(設定画面が英語のまま等まだ中途半端ですが)
・いくつかのサードパーティー製アプリがプリインストールされています。(サードパーティー製アプリに関する権利は各アプリの 作成者に帰属します)

[20121101版の仕様]
USB無線LANドライバを追加:詳細は121101版rarファイルに同梱のリリースノートを参照ください。
メモリ:1024MB以上(KernelConfigを変更しているためこれ以下では動かない可能性あり。)
SSD:16GB以上推奨
その他の仕様は3版に準じます。USB-GPSモジュールは9600bpsに設定して接続してください。

[3版の仕様]
Androidバーション:4.0.4(ICS-x86)
差分機能1:GPS(PL2303,CP210x,FTDI製USB-シリアル変換チップ採用品)の認識と稼働(GPSレシーバは19200bpsに予め設定した上で接続して下さい)
差分機能2:eGalaxまたは互換性をもつUSBタッチパネルの認識と動作(キャリブレーションできます)
動作CPU:Intel(R)Atomプロセッサー(2011年までに出ているZシリーズ以外のもの)、Core2Duo,Quad、Pentium4
チップセット:915G,945GC,945GSE,965G,NM10Express
GPU:チップセット内蔵及びAMD-Radeon
Sound:Realtek、AnalogDevice、Sigmatel、Conexant、VIA、C-media製HDAコーデックに対応
メモリ:512M以上あればOK(もっと少なくてもいけるかもしれないけど最近メモリは安いのでなるべく多く載せましょう)
SSD:8GB以上(車載環境ではSSDを強く推奨)
ディスプレー:1024x768、1024x600

[2版までの仕様]
Androidバーション:2.2.2(Froyo-x86)
差分機能1:GPS(PL2303USB-シリアル変換チップ採用品)の認識と稼働(GPSレシーバは9600bpsに予め設定した上で接続して下さい)
差分機能2:eGalaxまたは互換性をもつUSBタッチパネルの認識と動作(キャリブレーションできます)
差分機能3:Intel(R)Atomプロセッサへの最適化+OpenGLの使用(EeePCのコンパイルプロファイルをカスタマイズ)
動作CPU:Intel(R)Atomプロセッサー(2011年までに出ているZシリーズ以外のもの)
チップセット:915G,945GC,945GSE,965G(NM10でも動くはず)
メモリ:512M以上あればOK(もっと少なくてもいけるかもしれないけど最近メモリは安いのでなるべく多く載せましょう)
SSD:8GB以上(車載環境ではSSDを強く推奨)
ディスプレー:1024x768のもの(1024x600でもOKです)


【参考】TaKE_INの車載環境は以下の通り
CPU:IntelCeleronG1820T
メモリ:4GB
SSD:64GB(残念仕様のCSSD-SM64WIN)
ディスプレー:AitendoでXGA液晶とタッチパネルユニットを購入して自作

■公開ISOファイル
以下のリンクから各自ダウンロード(rarファイル)
Android-4.4Rel1車載仕様[20140907版]

Android-4.4RC1車載仕様[20140302版]

Android-4.0RC2車載仕様[3版改_20121101版]

Android-4.0RC2車載仕様[3版改]

Android-4.0車載仕様[第3版]

Android-2.2車載仕様[第2版]

Android-2.2車載仕様[第1版]

ダウンロード後はISO書き込みソフトで各自CDなりDVDに書き込んで
お手持ちの車載環境へインストールしてください。
☆改版履歴

3版改20121101版:
・有線LAN通信も出来るようにしました。
・無線LANドライバを追加しました。
・USBメモリが/USB_Storage/に出るようにしました。
・Google Playストア対応(テストから本格利用OK)
3版改:
・ARMネイティブコードで稼働するアプリの一部が動作するようになりました。
ゲームアプリやオフィスドキュメント閲覧アプリ、YOUTUBEなどが動作します。(FLASHは残念ながら動作しません)
・GPSのボーレート変更(9600bps、1Hzの設定が可能なUSB-GPSモジュールもしくはUSB-シリアル変換器越しのGPSモジュールが利用可能です。)
・インストール済みアプリを変更してあります。不足しているアプリは代替マーケットのaptoide(プリインストール済み)からインストールして下さい。
※インストールされているサードパーティー製アプリの著作権は全てソフトウェアの製造元に帰属します。不適切なアプリがある場合はご指摘下さい。
3版:
・OSバージョンを最新の物へ変更
・GoogleMapNaviにてナビゲーション途中でGPSを見失ってそれっきりになる不具合を修正
・GPSのボーレート変更(19200bps、1Hzの設定が可能なUSB-GPSモジュールもしくはUSB-シリアル変換器越しのGPSモジュールが利用可能です。)
・サードパーティー製ソフトを追加
※これらの著作権は全て各ソフトウェアの制作元に帰属します。
3版での備考:GPSTestにて本来存在しないはずの番号の衛星が居る場合がありますがOSに衛星を捕捉状態と認識させるためにとった措置の
副作用です。高度なども不正確な値を取りますので高度測定が必要なアプリケーションでは正確な動作が期待できません。予めご了承ください。
※現在座標位置と時刻については正確な値を取得できます。
動画再生について:Aptoide(代替マーケット)よりMoboVideoplayserのx86版をダウンロードすることで外部記憶媒体に保存した動画を再生可能です。
音声再生については前バージョンに準じます。
3版からネットワーク接続は無線LANのみとなります。Realtek製及びRalink製の無線LANコントローラを搭載した製品をご利用いただけます。
ご要望頂ければGPSについて別のボーレートに対応したものをリリース可能です。BBSにその旨お知らせ下さい。

2版:
・GPSが不安定となる要素を低減(機種依存性の強いGPSレシーバへの設定コマンド送信ルーチンを削除し受け専用にしました)
注:Android側からは通信速度や受信頻度設定をGPSレシーバへ送信しないため事前にGPSレシーバの通信速度を9600bps,受信頻度は1Hzに設定し、
レシーバ側にその設定を記憶させておく必要があります。(設定方法はお手持ちのGPSレシーバの取説をお読み下さい)
・より多くのUSB-シリアル変換デバイスドライバに対応(PL2303に加え、FTDI社製変換チップ各種、CP210xシリーズ変換チップを追加)
・初期から基本言語が日本語になるよう設定を変更
・有効か不明だがAMD-R600シリーズGPU、Intel-965G,915Gのドライバを挿入
1版:
初回リリース

☆インストール時の注意点
・ファイルシステムのフォーマットはExt3で行ってください。
・USBでマウスを挿してるとインストール画面がデバイスログで流れてしまうことがあるので
抜いておくことを推奨します。(インストール後は挿しっぱなしでも大丈夫です)
・インストール後、初回起動時に1回だけタッチパネルのキャリブレーション画面が現れます。
ここでキャリブレーションを正確に行ってください。もし不正確な入力を行うと以降直せません
(Debug起動でCLIから直せるような記述が公式フォーラムにありますが試しても上手くいきませんでした。
キャリブレーションが不正確な場合はAndroidを再インストールしてください。)

■OS操作のポイント
タッチパネル:タッチで選択/決定
マウス左クリック:選択/決定
マウス右クリック:キャンセル/前の画面に戻る
キーボードEscキー:キャンセル/前の画面に戻る
キーボードHomeキー:デスクトップへ一気に戻る
キーボードEndキー:電源のシャットダウンメニュー起動

■その他
・OS起動後に挿抜しても大丈夫なUSBデバイスとそうでないものがあります。注意してください。
間違って挿抜NGのモノを抜いてしまうと再度挿してもうまく認識できなくなりますが再起動で直ります。
基本的にOSインストール後に挿してるUSBデバイスのポート位置変更は行わないようにしてください。
☆挿抜OK:
USB-SD変換カード(及びSDカード単体)
その他USBストレージ
USBHUB
USBマウス
USBキーボード
☆挿抜NG:
USB無線LAN
USBタッチパネル
USB-Bluetooth
USB-GPSモジュール

■Misc
公開が終わってしまったのか日本語入力のx86版Simejiが
本家からDLできないみたいなのでこっそりミラー(著作権はadamrocker様にあります。問題がある場合はミラーデータを削除します。)



■コンパイル方法
何度失敗しても泣かないから自分でコンパイルしてみたい!でもソースの弄り方が・・・という非常に地味な試行錯誤を面倒と思わない方向けに
整理されていませんが現状でTaKE_INが把握したソースの弄り方を下記テキストファイルに記載します。
質問を頂いても専門の技術者では無いので回答はできません。不明点は公式フォーラムやC言語、JAVAに長けた方に各自お問い合わせください。
具体的なソースの弄り方でアドバイスがある場合、BBSに投稿して頂けると幸いです
ソースの弄り方  弄り方内にあるandroid.mkの中身


☆以下は動作スクリーンショット


デスクトップ画面


メニュー画面


無線LANが使える場所であればインターネットができます。


GPSモニター (サードパーティソフト) 秋月電子のGT−730F/Lで運用ですが
しっかり衛星を捕捉してます。



GPS動作確認のため出先(名古屋の名城大学付近の道路)にて。
GoogleMap(サードパーティーソフト)でも現在位置表示できます。GoogleMapNaviでの
ナビゲーションも可能です。

今回はまぁ車載パソコンをナビ代わりにもできるようになったので良しとします。

戻る