raspberry pi でバイク用データロガー+αなデバイスを自作しよう! 欲しい機能のリストアップとraspberry piセットアップ編
raspberry piセットアップ
Grovepi zero
今回の目玉です。
I2Cのセンサー類を超簡単に扱えるモジュール化されたプロトタイピング用のものです。
これさえあれば色々なセンサーを面倒なプログラム無しにpythonでサクッと作ってしまう事ができます。
つよい
sudo apt install libffi-dev
curl -kL dexterindustries.com/update_grovepi|bash
cd ~/Dexter/GrovePi/Firmware/ sudo bash ./firmware_update.sh
これ、よそのサイトだとsudoになってたりしますがsuだとダメでユーザがpi指定となっているようです。
少し時間がかかります。
インストールに成功すると~/Dextor/GrovePi/Software/Python/ にサンプルプログラムが入ります。
色々試してみてください。
これだけやれば既にバイク用データロガー作成の準備が整っていると言えます。
SIM7000X系ボードを使わない場合はGPSのセンサーも購入する必要がある事を覚えておくといいでしょう。
sudo pip3 install adafruit-circuitpython-mpr121
SIM7000
使えませんでした。
届いたのは中国向けで日本の電波は拾いません。
通信とGPSをやってくれる謎のボードです。
日本語資料が少ないデバイスなので基本的にはwikiの情報とManualになります。
https://www.waveshare.com/wiki/SIM7000E_NB-IoT_HAT
いつも通りexampleソースを参考に作り上げていくスタイルで行きます。
SIMカードが無いと確認できないので到着後設定予定
https://sakura.io/blog/2019/02/22/smc-catm1/
機能要件
ハードウェア
ストロークセンサー
これは簡単そうですね。
距離計だけあれば実装可能です。
外を走る関係から超音波式測距センサーを使用します。
ポートD3固定
姿勢、走行諸元ログ
これもIMU9軸センサー使えば簡単に実装可能ですね。
ログの間隔を考える必要があります。
I2Cなのでポートを埋めず安心
タコメーター
今回の懸念事項はこちら
正直古いバイクで、パルス信号とかを不用意に取り出して線を傷つけたりCDI異常起こして焼き付いたりとかしたら困るわけです。
そこで色々実験しようと思います。
電流計か静電容量センサあたりで行こうと思います。
バッテリー電圧計
TZRは電気関連が弱いので入れたいですね。
groveからは電流計しか出ていないのでI2C対応のセンサーを買ってきてgrove化して使おうと思います。
火災警報
乗ってると見えない後ろブレーキ近辺を監視しようかな?
デジタルポートを使用します。
入力機能
何かができるといいですね。
ゲーム用のアナログスティックがあったのでこれを使います。
アナログポートで使用します。
LCD表示機能
せっかくなのでバイクから見えるインターフェースが欲しいですね。
rgbのバックライトがついているので危険な状況で赤く光らせたりなど色々工夫できます。
I2Cです。
詳細な画面遷移は後ほど考えます。
インターネット接続
IoTです。
ポート使用計画
今回は省スペースのためにraspberry pi zero HWおよびgrovepi zeroを使用しています。
grove pi 0はポート数が限られているので慎重に割り振ります。
- A0(D14) 入力デバイス
- A1(D15) エンジン温度
- A2(D16) O2センサー?(予定)
- RPISER
- D3 ストロークセンサー
- I2C (下記)
I2C
RGB付きLCD IMU タコメーター(予定) バッテリー電圧
画面遷移
3Dスティックのみの操作になります。
オープニング画面
なんか光ったりさせよう。
前回起動時のデータと今回のデータ比較
ジャイロ系のアライメント
次画面:走行状態状態表示へ
走行状態
基本表示画面
姿勢の諸元+エンジン状態+電圧
16文字x2行
載せたい情報
エンジン温度 バッテリー電圧 バンク角
デジタルタコ
■■■■■■■■■■■■■■■■
画面1
問題が起きたときに最初に異変が出て来るものを中心に
ENG〇〇〇℃:BAT〇〇V
IMU□〇〇°:SUS〇〇cm
→orクリック 画面2へ
↓バイクからの評価
画面2
RPM〇〇〇〇〇:TMP〇〇〇
O2〇〇%
バイクからの評価
IMUによる姿勢の把握、ストロークセンサー等からブレーキ等情報を入手して表示
半角カタカナ
情報に応じてバックライトの色を変える
緑 良い運転
赤 良くない運転
緊急画面
火災警報、急ブレーキ、エンジン回しすぎなど
異常時に他の画面に割り込んで表示
- 火炎
- 急ブレーキ
- レブリミット
- 異常電圧
- サス底付き
バックライト赤+警報メッセージ
ニュース+天気画面
NB-IoTで適当なニュースとか新着メールとかを表示
GPSから位置情報を取得し天気表示
優先度低(SIM7000意外とめんどくさそう、簡単なライブラリ見つけたらやる)
設定画面
設定する項目あるかな?
- シャットダウン
- リアライメント(センサーリセット)
画面の順番
初期表示 | → | → | 備考 |
オープニング | 自動遷移 | ||
走行状態1 | 走行状態2 | ||
バイクの評価 | |||
天気予報 | ニュース | ||
設定画面 | シャットダウン | センサーリセット | |
警報画面 | 自動表示 |
Ver2以降で実装
もしかしたらraspberry pi zeroだと小さすぎてつかないかも
画像認識による起動制御(追加計算ボード)
後輪側サスストロークセンサー
ディスカッション
コメント一覧
まだ、コメントがありません