見出し画像

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アドレスを指定して、ブラウザでアクセスすると、下記のような表示になる。

スクリーンショット 2021-05-03 14.10.47

さまざまな設定があるので、必要に応じて変更することができる。

また、左下の[Get Still]を押下すると静止画がキャプチャーされ、[Start Stream]を押下すると動画がストリーミングされる。

スクリーンショット 2021-05-03 14.11.53

また、下記の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/

スクリーンショット 2021-05-03 14.39.35

さいごに

ネットでMotionの記事をググると、Linux PCやRaspberry Piにカメラを接続して動体検知したりするものが多く、リモート・カメラから動画を取得するものが目に付かなかったのでnoteにしてみた。

まだ具体的に何に使うのか決めていないのだが、いくつかやりたい候補はある。ただ、スイッチサイエンスのサイトには、下記のように記載されている。

※カメラモジュールの長時間使用は、オーバーヒートしがちなため推奨しません。短時間での撮影をお勧めします。

どの程度使い物になるのか分からないのだが、また機会があればnoteで紹介しようと思う。

よろしければ、サポートをお願いします。 より多くの方に役立つnoteを書けるよう頑張ります!!