はじめに
我が家では犬を飼っているのですが、外出先はもちろん、同じ家の中でリモートワークをしているときにも別の部屋にいる愛犬の様子が気になります。そこで本記事では、Raspberry Piを使って自作の「ペット監視カメラ」を構築する方法を紹介します。
今回は安価で小型な Raspberry Pi Zero 2 W の活用にフォーカスし、MotionEyeを導入して外出先からも映像を見られるシステムを構築します。そして安価に入手できる Freenove 5/8MP Camera などを使う場合のポイントも説明します。
1. プロジェクト概要
-
目的
- 外出先から、または同じ家の別室からペット(犬)の様子を確認したい
- 必要に応じて録画・動体検知などを行いたい
-
使用機器
-
Raspberry Pi Zero 2 W
- 小型・省電力でWi-Fi内蔵、狭いスペースに設置しやすい
-
カメラモジュール
- USBカメラ(UVC対応)
- CSIカメラ(例:公式Camera Module V3、Freenove 5/8MP Cameraなど)
- microSDカード(16GB以上推奨)
- 電源アダプター(公式推奨)
- Raspberry Pi OS(GUI版 or Lite版)
- MotionEye(監視カメラ用ソフトウェア)
-
Raspberry Pi Zero 2 W
以下のようなシステム構成を想定しています。
2. ハードウェアの準備
2.1 Raspberry Pi Zero 2 W
- 省スペース・低消費電力でWi-Fi内蔵。電源さえ確保できればどこにでも設置しやすいです。
- CPU性能やUSB/Wi-Fi帯域は限られるため、高解像度・高FPSでの運用や負荷の大きいタスクは注意が必要です。
- 放熱対策も考慮すると安定運用につながります。
2.2 カメラモジュール
2.2.1 USBカメラ(UVC対応)
- 例:Logicool C920、Anker PowerConf C200など
- 公式ドライバ不要で簡単に使えますが、Pi Zero 2 Wではmicro USB OTGアダプタが必要
- 高解像度(1080p以上)だとPi Zero 2 WのCPU負荷が大きくなるため、解像度やFPSを調整してください。
2.2.2 CSIカメラ(例:Camera Module V3、Freenove 8MP Camera など)
- CSI接続を使うため、Raspberry Pi上のカメラコネクタにフラットケーブルで直結します。Pi Zero用の細いケーブルが必要な場合があります。
- Camera Module V3は12MP対応でオートフォーカス搭載など高機能ですが、Zero 2 WでフルHD配信を高フレームレートで行うと負荷がかかりやすいです。
Freenove 8MP Cameraなどを使う場合(Camera Module V2 相当品)
- IMX219センサー搭載が多く、公式のCamera Module V2相当の画質・互換性があります。
- Raspberry Pi OSのlibcamera環境で標準的に認識されることが多く、MotionEyeでも“V4L2 Camera”や“MMAL Camera”として利用可能。
- NoIR版(赤外線フィルタなし)などバリエーションがあるため、昼夜の撮影に合わせて選択可能。
- Pi Zero 2 Wで使う際は、小型コネクタ用のアダプタケーブルを用意し、接続を正しい向きで行ってください。
- 夜間撮影をしたい場合はNoIR版+IR照明を、昼間中心ならIRフィルタ付モデルを選ぶと自然な色合いが得られます。
Freenove 5MP Cameraなどを使う場合(Camera Module V1 相当品)
- 多くの場合、OV5647センサーを採用(Raspberry Pi公式のCamera Module v1と同等)
- 最大5メガピクセルの静止画撮影、1080p/30fps程度の動画撮影が可能
- Raspberry Pi OS (Bullseye)以降では、libcameraをベースとする新しいカメラスタックに移行しており、OV5647センサー(Camera Module v1系)は、公式的には「レガシー扱い」となり、現在のBullseye版でも完全サポートが限られる場合があります。
- 動作させるには”legacy camera stack”を有効化したり、モジュールや設定ファイルを調整したりする必要が出てくるケースがあります。
3. ソフトウェアの準備
3.1 Raspberry Pi OSのインストール
- 公式サイトからRaspberry Pi Imagerを入手してmicroSDに書き込み
-
GUI版でもLite版でもMotionEyeは導入可能
- Lite版:リソース節約でき、Pi Zero 2 Wでの動作がやや軽い
- GUI版:デスクトップ操作がしやすく初心者向けだが、CPU/メモリ負荷はLite版より高め
- 初回起動後、以下でアップデート
sudo apt update sudo apt upgrade -y
3.2 MotionEyeのインストール
-
依存パッケージ
sudo apt update sudo apt install -y python3 python3-pip ffmpeg v4l-utils motion
-
MotionEye本体の導入
sudo pip3 install motioneye
-
設定ファイルの配置・systemdサービス登録
- MotionEye公式GitHub参照
- 再起動時にも自動起動するよう設定
-
ブラウザでアクセス
- デフォルトでポート8765
http://<Raspberry PiのIP>:8765
4. Raspberry Pi Zero 2 WでMotionEyeを動かすポイント
-
解像度やFPSを抑える
- 720p(1280×720)やVGA(640×480)程度で15fps前後を目安にすると安定度が増します。
- フルHD以上の解像度や高FPSはCPU使用率や温度が上がりやすいため、様子を見ながら調整。
-
動体検知・録画の負荷
- 常時録画&動体検知機能をフルに使うとCPU負荷も高くなるので、最初はライブストリーミングのみでテストし、問題なければ段階的に機能を追加すると良いでしょう。
-
Wi-Fi安定性
- Zero 2 Wは2.4GHz帯のWi-Fiを使うことが多く、電波干渉などで映像が途切れやすい場合があります。
- ルーターの近くに置く、チャネルを変更するなどで通信を安定させましょう。
-
GUI版 or Lite版
- GUI版Raspberry Pi OSでもOKですが、Pi Zero 2 Wはリソースが少ないので、GUIを同時に動かすと負荷がやや高まります。
- 動作が重いと感じたらLite版に切り替える、不要なサービスを止めるなどの対策を検討してください。
5. カメラ接続とMotionEye設定
5.1 カメラの接続
-
USBカメラ: micro USB OTGアダプタ経由で接続し、
ls /dev/video*
で認識確認 -
CSIカメラ(Camera V3、Freenove 5/8MPなど):
- Pi Zero用リボンケーブルを正しい向きで挿入
-
libcamera-still --list-cameras
などで認識確認 - 必要に応じて
raspi-config
またはlibcamera
の設定を有効化 - Freenove 5MPなどの Camera Module V1 相当品を動作させるには”legacy camera stack”を有効化したり、モジュールや設定ファイルを調整したりする必要が出てくるケースがあります。
5.2 MotionEyeでの設定
- ブラウザで
http://<PiのIP>:8765
にアクセス - 初回ログイン(ユーザー:
admin
、パスワード: 空) - 「Add Camera」を押し、Local V4L2(USBカメラ)またはMMAL / libcamera(CSIカメラ)を選択
- 解像度やFPS、録画設定を適宜調整
- プレビュー映像がMotionEyeの画面に表示されれば成功です。
6. ネットワークアクセス
6.1 LAN内からアクセス
- ルーターから割り当てられたローカルIP:8765にアクセス
- ポート開放不要なのでシンプル。家の中でのリモートワーク監視などに便利
6.2 外出先からアクセス
-
ポート開放
- ルーターの管理画面で8765番をPi Zero 2 WのIPに転送
- グローバルIPやDDNSでアクセス
- セキュリティ対策として強固なパスワードやファイアウォール設定が必須
-
VPN
- 自宅ルーターやRaspberry Pi上にVPNサーバーを立て、外出先からVPN接続
- ポート開放よりもセキュリティ面で安心
-
リバーストンネル(Ngrok等)
- ポート開放不要でお手軽
- 無料プランだとセッション制限やURL変更があるため、本格運用には注意
7. Q&A
Q1. Pi Zero 2 WでMotionEyeは動作するの?
A1. はい、動作します。ただしパフォーマンス管理が重要。
- 高解像度や高FPSを設定するとCPU負荷が上がり、遅延や発熱、フレーム落ちのリスクが高まります。
- 720p程度で15fps前後に抑えれば、ペット見守り用途なら十分実用的に使えます。
Q2. Freenove 8MP Cameraは使えますか?
A2. 使えます。
- Freenove 8MP CameraはSony IMX219センサー搭載の場合が多く、公式Camera Module V2相当の画質や互換性が期待できます。
- libcamera対応のRaspberry Pi OS上で標準的に認識され、MotionEyeからもV4L2 CameraやMMAL Cameraとして利用可能。
- Pi Zero 2 Wで使う場合は、小型コネクタ用のアダプタケーブルを用意し、向きに注意してください。
- IRフィルタの有無、レンズ焦点距離などの仕様が公式カメラと異なる場合があるので、用途に合わせて選んでください。
Q3. Raspberry Pi OS Liteじゃなくてもいいの?
A3. GUI版でもOKです。
- ただしPi Zero 2 Wはリソースが限られるので、GUIを常に起動しているとCPU負荷が増えます。
- 動作が重い場合はLite版を検討したり、不要なサービスを停止したりするとよいでしょう。
8. まとめ
- Raspberry Pi Zero 2 W + MotionEyeで、コンパクトかつ省電力なペット監視カメラを構築可能。
- 安価なFreenove 5/8MP Cameraを含む様々なCSIカメラモジュールや、UVC対応USBカメラが使える。
- 解像度やFPSは抑えめに設定し、Wi-Fi環境を整えることでスムーズに動作しやすい。
- LAN内アクセスならローカルIPを使い、外出先アクセスはポート開放やVPNなどを駆使する。
- GUI版Raspberry Pi OSでも動作するが、Lite版のほうが軽量でパフォーマンス的に有利な場合もある。
9. LAN/外部アクセス比較表
アクセス方法 | 手順 | メリット | デメリット |
---|---|---|---|
同じ家のネットワーク | 1. ローカルIPをブラウザで指定 2. http://<ローカルIP>:8765
|
- ルーター設定不要 - セキュリティリスク少 - 簡単に試せる |
- 外出先からは見られない |
ポート開放(フォワード) | 1. ルーターで8765番を転送 2. グローバルIPまたはDDNSでアクセス |
- 外部から直接アクセス可能 - 手順が比較的シンプル |
- 不正アクセスリスク増 - 強固なパスワード設定・DDNSなど必須 |
VPNの利用 | 1. 自宅ルーター/ラズパイでVPNサーバ構築 2. 外出先端末でVPN接続 |
- セキュリティが高い - ローカルLANと同じ感覚で使える |
- 構築のハードルがある - ルーター機能や設定の知識が必要 |
リバーストンネル | 1. Pi上でNgrokなどを起動 2. 生成されたURLを外部から利用 |
- ポート開放不要 - お手軽 |
- 無料版は制限あり - 連続運用には有料プランが必要な場合 |
参考リンク
- Raspberry Pi公式サイト
- MotionEye GitHubリポジトリ
- Freenove公式サイト(8MP Camera他)
- Anker公式ストア(PowerConf C200など)
- Logicool公式サイト(C920など)
以上