raspberry pi で作る車載システム完成しました。

2017年11月5日 0 投稿者: Toshiaki Matsuyama
Pocket
LINEで送る

色々な機能を raspberry pi に詰め込んで車載システムにしました。

プログラムの一部はGithubで公開します(ログインが必要なものは怖いので上げていません。)
また、インターネット接続にはPIXELAのUSB wifiドングルを使っています。
全部USB電源で動くので電源には苦労しません。

外観

見ての通り、7インチタッチスクリーンとraspberry piです。
後ろから見るとこんな感じ。
色々機能追加したものを両面テープで留めてあります。
GPSモジュール、小型スピーカ、カメラと入力機器が接続されています。

機能紹介

GPSロガーと出発報告

海外製の謎のUSBGPSモジュールを使って座標を取得し、いろいろやっています。
精度はかなりいい様子です。
取得したデータをgoogle mapのアドレスに変換してメールやslackで送っています。
車で送迎する際にどこまで来ているか確認したりもできます。

カーナビの目的地データ転送

中古で買った車にはPanasonicの昔のカーナビが載っていました。
昔といってもbluetoothに対応していたりコンピュータで作った行先データをSDカードを通して入れる事ができたりとそれなりの機能があります。
このSDカードに直接行き先データを送れればいいわけなのでFlashAir?みたいな名前のwi-fi対応SDカードにデータを送るようにしました。なんとFlashAIRは内部でFTPサーバが動くので簡単にファイルの送受信ができたりします。

現状ではslackで目的地を送ると自動的にデータを作ってSDカードに転送するようになっています。

SDカード自体にはcurlで作ったデータ送ってあげればいいです。
送信データはバイナリデータなので、自分で勝手に書き換えて行先をコマンドから作れるようにしました。

githubでソースコード公開していますがドキュメント整備していませんしpython初心者のコードなので誰かうまいこと良いコードにしてくれると思います。
地名(日本語可)と座標の入力に対応しています。
googleのジオコーディングのやつ使って雰囲気で対応しています。
あと、ほかのカーナビ対応の予定はありません。なぜなら僕の持っているカーナビはこれ一台だからです。

最近のカーナビはスマホからデータ直接送れる機能が最初から付いているらしいですが、延命しました。

右折支援用カメラ(左ハンドル用)

我が家の車は左ハンドルなので右折時に車がよく見えない事があります。
そこでカメラとモニタで見えるようにしました。
また、OpenCVの自動車認識を使って車を認識、概ねの距離を表示するようにしてあります。
なお、距離は雰囲気です。
正確なものではありません。
問題点としてはraspberry piの処理能力に限界があって遅延が発生するのと、pythonでプログラミングしたためさらに遅くなってしまっているところです。
実際OpenCVの処理は数秒間隔まで開けているのですがそれでも遅くなります。
プログラムを書き換えるのは面倒なのでさらなるハイパワーのワンボードマイコンの登場を待つしかありません。
現時点でAUSUが良い感じにパワーのあるボード出しているらしいのでそちらに変えるかもしれません。
更に遅延を無くすには鏡を置くのがいいかもしれません。

その他

雨が降りそうになったらボイスでおしらせする機能を付けてあります。
オープンカーなので雨には敏感でいたいものです。
小型スピーカを付けているのは車内で動画を見たりするためです。huluやnetfl…なんだっけ?やアマゾンビデオを見る事ができます。
ただし、デフォルトのraspberry piブラウザではうまく表示されないので別のやつ入れる必要があります。

まとめ

新しい車にある機能をraspberry piで代替する事ができる事もある。
USB充電ポートがあればなんでもできる。
ADAS用のボードは処理能力が重点っぽい