raspberry piとかを使ってスマートカーを作りたい 準備

Pocket
LINEで送る

スマートカー を自作できるのでしょうか?ルネサスが様々な車載用ボードを出していますが今回はraspberry piを使用して作ってみようと思います。

今やIoTとか何とかでなんでもネットにつながっているので車も接続しようと思います。
前回のスマートホームに引き続きraspberry piを使っていこうと思います。

画像は開発中のものです。完成品はケースに入れてあります。

用意するもの

・車
・raspberry pi 3
・OBDlink LX
・インターネッツに接続できるやつ
・GPSのやつ
・車用USB充電ポート
・AirFlash

スマートカーなのですから車は必要だと思います。
今回は986ボクスターSを使用します。古めの車なのでいろんな装備がありませんが今の時代どうとでもなります。

raspberry piのボード

なんでもいいです。処理能力とwifi接続がほしかったのでraspberry pi 3を使用します。家に落ちていたのでこれでいきます。

OBD-2接続

python-OBDというのがあります。
今回はpythonで開発します。しばらく出来合いのアプリ使います。

一般的に売られているODB2のスキャン用ELM327、純正部品なのか謎のコピー商品なのか判別できない上、動作が不安定でロットによっても動いたり動かなかったり付属のCDにウイルスが入っていたり最悪の場合エンジン制御のコンピュータを書き換えたりと酷いうわさが絶えないのでODBLinkのちゃんとしたやつにしました。bluetoothやwifiなど、それぞれ別のドングルになっています。価格的にはまあ適正ではないでしょうか。
ODBLink LXという機種です。今回の車はISO 9141というプロトコルになるので対応しているようです。
かなり古い車でも対応してくれるのがありがたいですね。ちなみにELM327でやろうというチャレンジャーはバージョン2.0?以降ではISO 9141に対応していないみたいな噂なのでがんばってください。


どうやらELM327と共通のドライバで動くらしいのですが専用の良い感じのアプリがAndroid、iOSに出ているのでそちらを使います。

画面表示

簡単に作りたいのでダッシュボードのライブラリを使おうと思います。
plotlyを使う予定です。
と思いましたがカメラ映像のほかに特に表示したいもの無いので作ってません。
GUIのプログラミング昔からあまりやってなかったのでもう少しやっておきたい所です。
気が向いたら作ります。

ちなみに画面は面倒なのでrapberry pi公式7インチタッチスクリーンを使っています。
他のメーカーの小型モニタも試したのですが専用チューンのlinuxに入れ替えなければならなかったので諦めました。

 

カメラ

左ハンドル車なので右折時に車が来ていないか確認できるようにしたいです。
OpenCVで車が認識できたら他にも色々できそうなのでちょっと調べています。
reaspberry pi でOpneCV
リアルタイム物体認識
ちなみに毎フレームごとに解析しようとすると遅延がひどいことになります。

インターネット

こちはら色々試しましたがエンジン連動にするためにPixela モバイルwifiドングルにしました。PIX-MT100という機種です。

試行錯誤の結果これに落ち着いた理由は何点かあります。
元は適当な中古のモバイルルーターのスイッチを電源によるリレーでつけようとしていたのですがスイッチが小さすぎて加工するのが面倒だったこと。
Car-Wifiとして404HWという機種がY!mobileから出ているのですが404という数字がつながってない感じを連想させるのとY!mobileを新たに契約したくないという理由からsimフリーかつUSBポートに刺すだけで自動的に起動するMT-100を選択しました。

simは適当な契約simの2枚目プラン?的なやつを使ってます。
ACC電源とかからUSB給電ポートを引っ張ってきて差し込むだけで簡単にエンジン連動のWifiスポットが出来上がります。
熱とかなんとかの問題があるかと思ったのですがエアコンでちゃんと冷える車である事と普段日の当たらない場所に置いていて高温にならない事から問題なく作動しています。
この章はもっと詳しく書いて別の記事にするかもしれません。

GPS

ここを参考に設定します。
購入したUSBのGPSはこちらです。

stty -F /dev/ttyUSB0 4800
cat /dev/ttyUSB0
でGPSデータが流れてきたら成功です。
プログラム自体はこちらを参考にします。

作るプログラムとしては車の所在地を定期的にslackあたりに送信する機能とエンジン始動時の所在地を送る機能あたりでしょうか。

車用USBポート

なんか最近の車はデフォルトでついているらしいですがボクスター986は17年くらい前の車なのでそんなハイカラなものついていません。

というわけで取り付けます。エーモンのやつでいいでしょう。

なおこの2ポートUSBのやつはケーブルが短くセンターコンソールくらいまでしか届きません。取付位置によっては追加でケーブルを買う必要があります。

AirFlash

SDカードにwifiからデータを送ったり送られたりできるやつです。
通常はカメラに使ってデータをPCスマホに送る位しか使いませんがうまくやれば逆にPCからデータを送れるとの事なのでスマホで目的地データを作ってSDカードに飛ばせるように
改造しようと思います。

カーナビがPanasonicのCN-HW890Dという機種なのですが、この機種はパソコンで行き先データを作ってSDカードを使ってナビに入れる事ができるという機能を持っています。
このデータを解析して勝手に書き換えてwifi経由で送れるようにしようというものです。

最終的にはslackあたりで目的地を送ったらデータ送れるようにします。

なお、バージョンがいくつかありますが3だとrebootが効かないので4にしておいた方がいいかもしれません。
どうやらデータをSDカードにアップロードしたあとreboot掛けないとデータが反映されないようです。
現状は抜き差しするか前もって送っておいて次のエンジン始動で適用させています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください