その2.用意するもの
何が必要か?
まずは必要な機材一式を要件定義から洗い出してみます。
土台
これがないと始まりませんね。今回は動画を扱うので2Gタイプを選択。
これも重要。ないと撮影自体できない。
・ブレッドボード、ジャンパーピン、はんだこて等
今回はGPIOピンに接続して色々試してみるつもりなので電子工作の定番らしいこれらを準備。はんだは以前別の目的で購入したものがあるので流用。
これは必須ではありませんが、今回は自室での作業では完結しないと思うので手持ちのiPadから操作できるように準備します。
要件1 カメラ画素数&録音
カメラ画素数は標準カメラで十分すぎる性能があるのでよし。
ただしドラレコ用カメラとしては画角が心配なので以下のカメラユニットを使用しようと思います。
・Raspberry Pi カメラモジュール V2対応 カメラモジュール
録音用マイクはUSBでも良いですが、後述の理由でGPIOに接続することにします。
要件2 物理シャットダウンボタン
タクトスイッチとスイッチカバーを準備。ボタンは押しやすいほうが良いと思い大きめのものを選択。
要件3 CPU温度に応じた冷却ファン制御
軽く調べたレベルの素人理解ですが、PWMとトランジスタを用いることで実現ができる様子。冷却ファンはヒートシンクとセットのものを選びました。
(トランジスタの選び方が正直わからない…これでいいかちょっと心配)
要件4 動作状態をLEDで示す
単色か悩みましたが、単色でできるのは消灯、点灯、点滅(速・遅)の4種ぐらいだと思うので、今回はフルカラーにしました。抵抗などの数を減らす&PWM制御でラクしたいのでマイコン入りを選択。
要件5 運転中は自動で録画
要件6 衝撃を検知してイベント録画
運転中、停止中などの状態を認識する為に加速度センサーを使います。
・GY-521 MPU-6050 3軸ジャイロ+3軸加速度センサ
要件7 スイッチでもイベント録画を開始
要件2のボタンで制御します。
要件8 前後2カメラ
Webカメラや車用リアカメラ等も考えましたが、要件を満たすものが見つからなかったので、こちらはRaspberry Pi Zeroを用いたUSBカメラガジェットを作成することにします。
要件9 停車後数分経過したら録画中止、衝撃検知のみ
要件5,6の加速度センサーを用いてプログラムを組むだけ。
要件10 モニタレス、bluetoothかwifi経由でのカメラストリーミング配信
要件11 同様の録画映像配信
設定画面も必要なので配信用サイトをapatch+phpで構築します。ナマのphpは扱うのが少し面倒なので軽量なphpフレームワークを使う予定。
動画配信方法は各種技術情報をかき集めてがんばる。
要件12 省電力化
使わないUSBポートやLANポート等を無効化、wifiチップも電源オフにしてbluetoothですべて解決すればそこそこ省電力化ができると思います。
OSはRaspbian Liteにして最低限に、コードも可能な限りLuaで実装して高速軽量化を図る予定です。
一応テスターも用意したので、最後に消費電力計測からの省電力化の調整も行います。
ここまではまだたぬきの皮算用ですね。これを書いている段階ではまだ各部品(Raspberry Pi 4本体含め)が届いていませんが、次は各処理の流れなど。