Raspberry Piでドライビングレコーダを作った話 -製作編-
「データを計測するためのハードウェア」編
ボタンを押したら録画を開始するドライビングレコーダを作ります。
録画中は現在位置での「風景」と「現在位置」を記録します。
注:実はこの計画、「不幸な事故」で一時中断中です。完璧な完成までは至っていません。
ハードウェア
使った部品は以下のとおり
- Raspberry Pi model A+ x1 約3000円
- カメラモジュール x1 3400円
- u-blox GPSモジュール x1 約2000円
- タクトスイッチ x2
- LED x1
- ブレッドボードとか色々。
- モバイルバッテリー
一般的なご家庭にあるであろうブレッドボードとかモバイルバッテリーは除いて、材料費はだいたい8500円くらいですね。単純にドライビングレコーダを作るならGPS要らないですし、もう少し安く上がりそう。もっとも、今回は防犯目的のドライビングレコーダではありませんが。
ドライビングレコーダとして使うので基本的にはモバイルバッテリーで動かす必要があります。そのため、今回は数あるモデルの中でも消費電力が一番少ない「model A+」を使いました。Raspberry Piには画像を保存するためにカメラモジュール、位置情報を計測するためにGPSモジュールを取り付けます。そして、スタンドアローンで動かすのでシャットダウン用、録画on/off切り替え用にタクトスイッチを2つを取り付けます。最後に、録画中であることを示すLEDを取り付けて完成です。大体こんな感じ。小さく収まりました。
回路図は以下のとおり。model B+で書いてますがmodel A+に読み替えてください。
カメラモジュールについては純正のカメラモジュールなので、そんなに資料に困ることはありませんでした。
GPSモジュールについては色々、先人の知恵をお借りして何とか使えるようになりました。使えるまでの格闘の様子は以下の記事をご参照ください。ain0204.hatenablog.com
あと、シャットダウンボタンとかタクトスイッチの使い方については以下のページを参考にして実装しました。raspi.seesaa.net
ソフトウェア
基本的には先に挙げたページとかを参考にしてPythonのコードを書きました。
主な動きとしては以下の通り。
- 録画ボタンが押されたら録画を開始、シャットダウンボタンが押されたらシャットダウンする
- 録画中はLEDを光らせる
- 録画を開始したら10秒に1度、カメラの画像と現在位置情報を記録する
- 画像はその都度保存し、位置情報は経度緯度に分けてCSVファイルに保存する
- 画像名と位置情報を結びつけるために計測した順番にidを1から順に割り当てています(画像名、またはCSVファイル内に保存)
詳しくはGithubの方を見てください。録画中はシャットダウンできなかったりと構造的に問題はありますが、多分大丈夫でしょう。多分。
pi_recording/recording.py at master · AIN0204/pi_recording · GitHub
後は起動と同時にこのプログラムが実行されるよう設定ファイルを書き換えてやれば完成です。
完成品
モバイルバッテリー以外を小さくまとめた完成品はこんな感じになりました。
「テム=レイの回路」みたいな謎デバイス感が漂いますね。
これを自転車とかに搭載するわけです。これは針金で自転車に固定してあります。
モバイルバッテリーがカゴに投げ込まれていますが、走行時はポケットに入れます。