M5Camera + Raspberry Piでライブカメラ環境を構築する
はじめに
半年くらい前のことだが、大阪日本橋へ電子部品のパーツを買いに行った。シリコンハウスで買い物したあと、デジットへ寄ってブラブラしていて目に付いたのがM5Camera(見出し写真)。
M5CameraはESP32にカメラがついたもの。前々から欲しいと思っていたので衝動買いした。
ただ、買ったのはいいけど、何に使うか決めていなかったこともあり、使うこともなく放置していたのだが、そろそろ何か考えてみようと、とりあえずライブカメラの環境構築をしてみることにした。
将来、屋外にM5Cameraを置き、動体検知やタイムラプス撮影をするため、M5Cameraの映像をRaspberry Piで保存することを想定した環境を構築することにする。
M5Cameraのセットアップ
購入時、既にソフトウェアが書き込まれているけど、Arduino IDEの[スケッチ例] → [ESP32] → [Camera] → [CameraWebServer]を使うことにする。
ソースコードの最初の方に"Select camera model"があるが、下記を有効にし、それ以外はコメントにする。
#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
あとはWi-FiのSSIDとパスワードを環境に合わせて、M5Cameraにソフトを書き込む。
M5Camera上でHTTPサーバーが起動するので、IPアドレスを指定して、ブラウザでアクセスすると、下記のような表示になる。
さまざまな設定があるので、必要に応じて変更することができる。
また、左下の[Get Still]を押下すると静止画がキャプチャーされ、[Start Stream]を押下すると動画がストリーミングされる。
また、下記のURLにアクセスすると左側の設定がない静止画、ストリーミングのページを表示できる。
http://(M5CameraのIPアドレス)/capture <= 静止画
http://(M5CameraのIPアドレス):81/stream <= 動画
Raspberry Piの設定
Raspberry Piでは、M5Cameraが配信するストリーミングをMotionで受け取る。
新規にRaspberry OSをSDカードに書き込み、最近使用していなかったRaspberry Pi3 Model Bを使った。
下記の通り、Motionをインストールする。
sudo apt install motion
次にMotionの設定ファイルを/etc/motion/motion.confを編集する。
ここでは、M5Cameraのストリーミングを受信するための設定のみ説明するが、netcam_urlの項目にM5CameraのストリーミングのURLを指定する。
netcam_url http://(M5CameraのIPアドレス):81/stream
編集後、motionを起動する。
sudo motion
特にインストール時のデフォルトの設定ファイルからnetcam_urlのみ変更したが、下記のフォルダーに動画が保存されていくようだ。
/var/lib/motion
また、Raspberry Piからブラウザで下記のURLヘアクセスすると、Motionから動画がストリーミングされていることが確認できる。
http://localhost:8081/
さいごに
ネットでMotionの記事をググると、Linux PCやRaspberry Piにカメラを接続して動体検知したりするものが多く、リモート・カメラから動画を取得するものが目に付かなかったのでnoteにしてみた。
まだ具体的に何に使うのか決めていないのだが、いくつかやりたい候補はある。ただ、スイッチサイエンスのサイトには、下記のように記載されている。
※カメラモジュールの長時間使用は、オーバーヒートしがちなため推奨しません。短時間での撮影をお勧めします。
どの程度使い物になるのか分からないのだが、また機会があればnoteで紹介しようと思う。