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

2019年6月29日raspberry pi,Iot,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掛けないとデータが反映されないようです。

現状は抜き差しするか前もって送っておいて次のエンジン始動で適用させています。

広告