ご無沙汰してます、えんぞーです^^
年末にやっとラズパイを手に入れました・・・4ではなくて3 B+ですけども。
前々からラズパイ手に入れたらKodi入れてリビング用のメディアプレーヤーにしようと思っていたのですけど、他に何か面白いこと出来ないかな~って探していたら「Crankshaft」なるおもしろそうなディストリビューション(?)があったのでそっちに気持ちが持っていかれました。
というわけで、ラズパイをカーナビにしてしまってそっちでKodi使えるようにすれば面白そうとか思ったので早速実行。
「Crankshaft」とは?
Crankshaftとは「Andorid Auto」を使用する事を前提に作られているラズパイ用のディストリビューションです。
根っこはRaspbianなのでディストリビューションと言ってしまうとちょっと違うのかも知れませんけど。
メモ
そもそもはOpenAutoというオープンソースのAndroidAutoヘッドユニット・エミュレーターのプロジェクトがあって、そこから初期設定など色々と使いやすくしたものが今回の「Crankshaft」らしいです。
他にもOpenAuto PROというものがあり、こちらは有料です。
Crankshaft - GNU/Linux for your car with Raspberry Pi and Android Auto
Crankshaft - GNU/Linux for your car with Raspberry Pi and Android Auto
Getting started with Crankshaft · opencardev/crankshaft Wiki
Getting started with Crankshaft · opencardev/crankshaft Wiki
では、Android Auto(アンドロイドオート)とは何かと言いますとこちらはGoogleが開発したカーナビ機能を搭載したアプリになります。
昔はカーナビ用としてのものだったらしいですが、最近では普通にAppStoreでダウンロード出来るようになっていて自分のスマホをカーナビに出来ます。
Android Auto - マップ、メディア、メッセージ、音声操作
-
制作: Google LLC評価: 4.1/5 個(2019/11/18)価格:無料(2019/11/18)
ただ、自分のスマホに入れて表示させてもおそらくは「ん?微妙に使えない・・。」となるはずです。
スマホをAndroid Auto対応のカーナビに接続することでスマホのナビ機能がカーナビディスプレイに表示され操作も可能となるようです。
ナビの他、音楽アプリ等にも対応しているので自分のスマホに入っている音楽をそのままカーステレオに流したりも可能です。
一応結果から言うと思っていたよりも使えるものが出来上がります↓。
今回用意したもの
今回カーナビを作成しようとしているわけですが、まずラズパイ触るのも初めてなので全て手探りです。
ひとまずはラズパイが無いと話にならないですよね、このラズパイですが「4」の方だと電源要件が3A(アンペア)となっていて少し不安だったので今回は3B+を用意しました。
3B+の方は電源要件は2.5Aなので確保しやすいかなと。
それにしても3B+の在庫が枯渇しているのか普通に売ってなかったのでヤフオクで落札しました。4000円程。
(3月過ぎると安定供給できるようになるって話もあります。)
カーナビを作ろうとしているのでタッチパネルモニタが必要ですね、ただのモニタでは駄目でタッチパネル必須です。
↓のものは基盤むき出しなのでケースが必要になるようであれば作るか買うかになりそうです。
あと現状でコマンドラインからのBrightness調整が確認出来ていません・・・このモニタは出来ないのかも。
ラズパイ本体の放熱対策という事でケースとファンが一緒になったものを購入してみました。
気休めかも知れませんが一応ケースはあったほうが良いかなって事で。
価格:¥ 1,1992020/02/29時点
評価:(4.3)2020/02/29時点
その他、車のヒューズボックスから電源を取るのでそれに必要なものも購入。
価格:¥ 945 2020/02/29時点
評価:(3.4) 2020/02/29時点
DCDCコンバータは何個か試してみたのですが↑が一番安定して電圧供給出来ました。
2つ入りだったので10Aと15Aからそれぞれ電源を取り、一つは今回のラズパイ用にしてもう一つはスマホ充電用のUSBポートとして活用。
ヒューズボックスからの電源取り出しにはこれとかこれを使用しました。
あと音声コマンド用にマイクも用意。
ANOTHER DIMENSION USB マイク PS4 ボイスチャット Win・Mac 対応【差し込むだけで使えて簡単 】
価格:¥ 1,2802020/03/01時点
評価:(3.7)2020/03/01時点
こちら、値段が安めのマイクだったので期待してなかった(失礼)のですが結果として普通に音声認識での操作が可能でした。
モニタにはラズパイを固定するネジ穴があるのでそちらを利用してケースを無理やり固定する形で一体化を図りました。
その状態で下記画像のようになります(このときマイク接続していません・・・)
手作り感満載ですが・・・その辺は色々思いついたときに弄って行けばいいかな程度に考えてます。
Raspberry pi(ラズパイ)に「Crankshaft」環境を構築する
さてさて、ものが揃ったら環境を構築して行きます。
今回は簡単な流れだけメモとして残す感じで音がなるまでを書いていこうと思います。
「Crankshaft」のイメージをマイクロSDカードに書き込む
「Crankshaft」のページからイメージファイルをダウンロードしてマイクロSDカードに書き込みます。
イメージの書き込みには「Win32 Disk Imager」を使います。
この辺りというか、大体の流れは↓こちらのサイト様が詳しく書かれています。
【自作AndroidAuto】Raspberry PiでAndroid Auto [導入編1] : PROJECT KONPETO
【自作AndroidAuto】Raspberry PiでAndroid Auto [導入編1] : PROJECT KONPETO
イメージの書き込みが完了したら次の工程に進みます。
Bootパーティションの「config.txt」を編集
ここの設定に関しては使用するモニタ等、環境によって変わるようなので環境に合わせて変える必要があります。
ちなみに「config.txt」の編集はイメージが書き終わったらそのまま「/boot/config.txt」をテキストエディタで開いて行います。
hdmi_cvt=1024 600 60 5
hdmi_group=2
hdmi_mode=87
hdmi_drive=1
あとラズパイ立ち上がったらすぐWifi使えるようになりたいので「/crankshaft/crankshaft_env.sh」のWifi設定も変更しておきます。
# WiFiを使用する国を設定
WIFI_COUNTRY=JP3
# Wifi設定1つ目
WIFI_SSID="hogehogeSSID1"
WIFI_PSK="hogehogepass1"
# Wifi設定2つ目
WIFI2_SSID="hogehogeSSID2"
WIFI2_PSK="hogehogepass2"
マイクロSDカードをラズパイに装着して立ち上げてみる
編集が完了したらカード入れて電源入れてみましょう。
初回は色々と設定等あるようなので立ち上がるまでに時間が掛かるようですが待ちます。
立ち上がったら設定画面(歯車アイコン)押して設定をざっと確認しておきます。
特にWifiタブで正常に接続できているか確認しておき、正常に接続されていればローカルIPが割り振られているのでそのIPに対してSSHで接続します。
この辺り・・・全然スクリーンショットとかなくて申し訳ないですが・・・。
SSHで接続して主な設定を行う
SSHで接続出来たらそのままSSHで設定やらを行ってしまいたいので下記コマンドで書き込み許可を行います。
crankshaft boot unlock
crankshaft system unlock
もしくは
csmt boot unlock
csmt system unlock
でSDカードへの書き込み権限が発行されます。
「crankshaft」と「csmt」は同じコマンドなのでどちらか使いやすい方を使えばいいっぽいです。
bootパーティションへの書き込みが必要なければそちらはなくても大丈夫です。
個人的にシステムのアップデートはしておきたい性分なのでアップデートかけます。
sudo apt update
sudo apt upgrade
いらない人はそのまま進んでも問題ないとは思います。
基本的な設定を行いたいので下記のコマンドを実行。
sudo raspi-config
ここでロケールやらタイムゾーンを設定します。
詳しく知りたい方は↓こちらをご確認下さい。
raspi-config - Raspberry Pi公式ドキュメントを日本語訳
raspi-config - Raspberry Pi公式ドキュメントを日本語訳
音声の設定を行う
ラズパイのヘッドフォンジャックにヘッドフォン接続しておきましょう。
下記コマンドを実行。
sudo amixer -c ALSA cset numid=3 1
この後に
aplay /usr/share/sounds/alsa/Front_Center.wav
上記コマンドを入力してヘッドフォンから「フロント、センター」と女性の声が聞こえたらOKです。
聞こえない場合は音量がゼロになっていないか確認してみて下さい。
amixer
↑のコマンドで音量を変更する画面が表示されるかと思います。
あと、再起動したらまた聞こえなくなったという場合はロックかかったまま設定行ってるかと思いますのでunlockコマンドでアンロックしてから再度設定してみて下さい。
カーナビとしての総評
私の場合ですと、この後さらにkodi入れたりブラウザ入れてみたりボタン押したら喋るようにしてみたりと色々やってみています。
その上でカーナビとして考えた場合のAndroidAutoはどうなのかと考えた場合、大雑把に言うと有りだなと思います。
このユニットを組んだとしてもスマホを繋げなければナビにはならないですし、まず組むまでに手間も時間もお金もかかりますがハンドメイドカーナビってだけでワクワクが止まらないですね。
前提としてこういう事が好きな人だったらっていうのはありますけど・・・。
AndroidAutoだけであれば対応したカーオーディオ等もあるのでそちらを購入するのも手かと思います。
金額に関しては・・・どうでしょう。
モニタ、ラズパイ、マイクロSD、ケース、マイク、後はケーブルやら電源周りの出費合わせて全部で2万円って感じでしょうか。
メリット
- そもそも構築が楽しい人は構築しているだけでワクワクする
- 「こう出来たらいいのに」という部分がある程度できる(スキル依存)
- 音声コマンドが意外に使える(ナイトライダー、サイバーフォーミュラ気分)
- ナビゲーション自体普通に使える(GoogleMapでナビするよりもいい感じ)
デメリット
- 普通に考えたら敷居が高い(PCに加えて車からの電源確保など)
- 動作が時折不安定(Crankshaftが今ひとつ?)
- 時間が掛かりすぎる
- 手作り感が出てしまう(人による)
- カーナビってYahooナビが最強じゃね?(個人的に最強です)
とりとめのないまとめ
という訳で、趣味としてやれる人にはオススメ!(結局)
ホントに構築する前に考えていたよりはずっといいものが出来てしまってびっくりしました。
普通に使えるものが出来てしまうんだなぁ・・・という感じで。
ただ、実はCrankshaft自体不安定になるようでUSB刺したときに再起動してしまったりする現象に見舞われました。
なので現在は「Openauto PRO」使ってますw
こちらも今度機会があればメモ程度に書かせてもらおうかと思います。
こういう場合はSDカード変えれば環境そのまま入れ替えられるから楽ですね。