はじめに
こんなものを作った.ザクヘッドの下にRasPiZeroをマウント出来る.
カメラもいい感じに埋め込むことができたので,監視カメラとして利用する.
必要なもの
ザクヘッドはお好みで.
RasPiZeroを固定するのはこれ.ザクヘッドへの差し込み部分の長さは微調整が必要.
OSをインストールする
インストール手順はLinux向けです.ssh設定等など一部の手順はWindowsと共通です.
公式サイトからRaspberry Pi OSをダウンロードします.今回利用するのは「Raspberry Pi OS (32-bit) Lite」です.
ダウンロードしたイメージファイルをSDカードに書き込みます.
$ unzip -p 2020-05-27-raspios-buster-lite-armhf.zip | sudo dd of=/dev/sdb bs=4M conv=fsync
書き込みが完了するとこんな状態になります.
$ sudo fdisk -l /dev/sdb Disk /dev/sdb: 16.0 GB, 15978201088 bytes, 31207424 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x2fed7fee デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 8192 532479 262144 c W95 FAT32 (LBA) /dev/sdb2 532480 3620863 1544192 83 Linux
boot領域をマウントしてsshの設定をします.FAT32の方がboot領域です.
$ cd ${マウントしたboot領域} $ touch ssh wpa_supplicant.conf $ cat wpa_supplicant.conf # こんな内容になるように編集します ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=JP network={ ssid="YourSSID" psk="YourPASSWORD" }
sshファイルがsshを有効化するファイルで,wpa_supplicant.confがWiFiの設定ファイルです.
uSDカードをRasPiZeroに挿して電源をいれます.DHCPで割り振られるIPを頑張って探してSSH接続したら,諸々設定します.カメラモジュールを利用する場合は raspi-config > 5 Interfacing Options > P1 Camera を有効化しておくこと.
pi@raspberrypi:~ $ sudo raspi-config pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade
motionEyeをインストールする
motionEyeは動体検知によく利用されているmotionのウェブフロントエンドです.
BuildRootをベースにしたディストリビューションmotionEyeOSも用意されています.
では導入していきます.
motion関連のライブラリを入れます.
pi@raspberrypi:~ $ sudo apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12
motionをインストールします.aptでインストールすると4.1がインストールされますが,motionEyeでは4.2を推奨しています.
pi@raspberrypi:~ $ wget https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb pi@raspberrypi:~ $ sudo dpkg -i pi_buster_motion_4.2.2-1_armhf.deb
motionEye関連のライブラリを入れます.
pi@raspberrypi:~ $ sudo apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
motionEyeをインストールします.–no-cache-dirオプションをつけておかないとMemoryErrorになるかも.
pi@raspberrypi:~ $ sudo pip install motioneye --no-cache-dir
motionEyeの設定ファイルを配置します.
pi@raspberrypi:~ $ sudo mkdir -p /etc/motioneye pi@raspberrypi:~ $ sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
systemdを設定して,motionEyeを起動します.
pi@raspberrypi:~ $ sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local
/etc/systemd/system/motioneye.service
pi@raspberrypi:~ $ sudo systemctl daemon-reload
pi@raspberrypi:~ $ sudo systemctl enable motioneye.service
pi@raspberrypi:~ $ sudo systemctl start motioneye
うまく起動したらブラウザで http://$(RasPiZeroのアドレス):8765/
を開く.初期設定はパスワード無しの admin ユーザでログインする.
ウェブ画面から正しいカメラが設定できない場合は設定ファイルを編集してあげると良い.
pi@raspberrypi:~ $ grep videodevice /etc/motioneye/camera-1.conf videodevice /dev/video0
motionEyeで出来ること
motionEyeの画面はこんな感じです.
ビデオデバイスの設定,ファイルの保存先,画像上に表示するテキストの設定,ストリーミングの設定,撮影の設定,動画の設定,動体検知の設定など,ができます.(ざっくり)
RasPiZeroだと,解像度にもよるけど,フレームレートはだいたい10〜20fps程度だった.もうちょっとチューニングすれば改善するかもしれませんが,RasPiZeroなので良しとします.
おわりに
RasPiZeroでmotionEyeを導入する流れを紹介しました.
シャアザクヘッドがほしい.
コメント