1.使用した部品
Raspberry Pi Zero W (microSDHCカード 16GB)
Raspberry Pi Zero用ケース(組立式) Adafruit
カメラケーブル Raspberry Pi Zero用
以上はいずれもSWITCHSCIENCEで購入
カメラモジュール Raspberry Pi用 (Rev.1.3) 以前購入の物
RaspberryPi用電源 スマホ用に余っていたDC5V電源を流用
プラスティックケース CD等保管用(100均で購入)
2.製作経過
2-1 初期設定(OSインストール)
① OSの入手
今まで監視カメラを動作させてきた実績から、OSはRaspbianを選択した。
Raspberry Pi Zero Wは、Raspbian Jessieは、2017-03-02以降のVersionしか対応していないとの情報
だったので、下記の物を入手しました。
2017-07-05-raspbian-jessie.zip
OSの入手は、本家英国からの入手はダウンロードに時間がかかるため、国内のミラーサイトを利用。
北陸先端科学技術大学院大学(JAIST)のftpサーバーサイトを利用(http://ftp.jaist.ac.jp)
② OSのimgファイルをmicroSDHCカードに展開
microSDHCカードをフォーマット(SDformatter使用)後、
上記のzipファイルを解凍した下記のイメージファイルをカードに展開。(Win32Diskimager使用)
2017-07-05-raspbian-jessie.img
③ OS起動後SSH接続するための準備
現在のjessieは、初期状態ではSSHサーバーは起動しない。従って、Raspberry Piにディスプレー、
キーボードなどを接続。NOOBSを書き込んだmicroSDHCカードをセットして起動させた後、Raspbianを
選択してインストールしてから、SSHサーバーを起動するという面倒なことが必要です。
以前のように、raspbianをSSH接続で直接起動したいといろいろ調べたら、下記の方法で可能らしい。
SDHCカードのルートディレクトリに、sshファイル(テキストファイル、拡張子なし)を作成する
2-2 OS起動、初期設定
① 上記2-1の手順で作成したmicroSDHCカードをRaspberry Pi Zero Wにセットし、Raspberry Piの電源
を入れる。LEDの点滅具合からOSは起動したみたい。
しかしSSH接続できるポートが現れてこない。あちゃー、ダメか?
あきらめきれずにさらに調べたら、Zero W は、ネットワーク(TCP)は無線LANしか無い。従って、
WiFi情報(SSID,Key情報)をあらかじめ指定しておかないとネットワークに接続できない。ということ
が解った。……当然と言えば、当然のことだ!!
② WiFi情報ファイルの作成、カードへの書き込み
記事を参考に下記のようなファイルを作成。microSDHCカードへコピー。
wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=”使用するWiFiのSSID”
psk=”使用するWiFiのkey”
}
③ 以上の状態で電源を入れるとOSが起動し、SSH接続が可能になった。
④ OSの作動上の各種条件の設定…通常Raspberry Piを動作させる下記のような条件の設定
設定の詳細については多くの記事が公開されています。下記の参考サイトなどを参考にしてください
・ユーザー設定関係
rootのpw設定、通常ユーザーの作成・sudo groupへ参加、piをsudo groupから削除
・raspi-configで各種設定
Hostname、使用言語(jaJP UTF8を主にする)、Timezone(Asia,Tokyo)、WiFi(Japan)、
FileSystem拡張
⑤ 無線LANのアドレスを固定化
/etc/dhcpcd.conf に追加記入後、Raspberry Piを再起動
interface wlan0
static ip_address = 192.168.0.67
static routers = 192.168.0.1
static domain_name_servers = 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
2-3 カメラモジュールの作動
監視カメラ設定詳細1で書いたように、motion-mmalは現状うまく使えない。
調査の結果、監視カメラソフトウェアーmotionをRaspberry Pi用純正カメラモジュールで使用するため
のドライバを使用すればいいことが解った。
① motionのインストール、Raspberry Pi起動時motionを動作させる
sudo apt-get update
sudo apt-get install motion
/etc/default/motion に追記
start_motion_daemon=yes
② 純正カメラモジュール用v4l2ドライバの導入
/etc/modulesへ追記
bcm2835-v4l2
raspi-configでCameraをEnable設定へ
③ motionの動作条件の設定 /etc/motion/motion.conf
daemon off #動作が安定後はonに戻す
output_pictures off #動きを検知した時の静止画を保存する場合は、on
target_dir /home/(user name)/camera #動きを検知した時の動画、静止画の保存場所。
標準は/var/lib/motionだが、任意設定可能。
stream_localhost off #撮影した画像を自分以外の人にも公開する
stream_auth_method 1 #camera撮影画像をブラウザで見る時にBasic認証が必要
stream_authenentication (username):(password) #Basic認証用ユーザー名・パスワードを規定
*動きを検知時の静止画・動画を正しく保存できるようにするため、上記のtarget_dirに対して
パーミッション 755、所有 motionに変える。
sudo chmod 755 /home/(user name)/camera
sudo chown motion,motion /home/(user name)/camera
④ ポートの開放
カメラモジュールでの撮影画像は、標準ではポート8081で配信されています。
8081portを開放すれば、インターネット空間から撮影画像が見られます。
⑤ その他
motionの設定により、動きを検知した時の静止画・動画の保存が可能です。私は、動画のみ保存し、
sambaサーバーを導入して、Winndows端末から時々確認しています。
保存されるファイル数がかなりになるため、自動消去など必要ですが、私の今のプログラミング能力
では無理なため、定期的にdelete操作しています。
参考にしたサイト
・ついに来た Raspberry Pi Zero W
http://qiita.com/shigeru-yokochi/items/5d273b3444ffb008c778
・Raspberry Piの無線LANをmicroSDで設定する
http://qiita.com/mascii/items/0d1a280ac58ed8f6f999
・Raspberry Piと純正カメラモジュールで監視カメラを作る、おそらく正しい方法jessie版(motion + v4l2
ドライバ)
http://qiita.com/rukihena/items/95da3860f9ca86c39f8d