Rasberry PI 4にカメラモジュールを取り付けてライブカメラにしてみた 組み立て編
のライブカメラの設定方法をメモする。
インストールしたOSはRasbian。購入したmicroSDカードが64GBだったが購入時点で入っていたNOOBSからはrasbianのインストールをうまくできなかった。
フォーマットした上でNOOBSを入れなおしてRasbianをインストールすることに。fat32でないと認識しないようだが、Windowsやよく紹介されているSD Card Formatterではfat32にフォーマット出来なかったので、アイオーデータハードディスクフォーマッタを利用した。
NOOBSをZipダウンロードして展開したものをすべてmicroSDカードにコピー
NOOBS
あとは手順に沿ってrasbianをインストール。他所にたくさん情報があるので割愛する。
P1 Cameraをenabledに設定してrebootする。
ライブカメラとして利用する場合はsshやVNCを同様に利用可能としておくと良い。
raspistill -o /home/***/camera/latest.jpeg --width 500 --height 400
を時刻起動して定期的に画像を保存するようにしたい。
/home/pi/tool/picture.sh
picture.sh で撮影し、成功したら日付を付けてアーカイブするようにする。
#!/bin/sh
raspistill -o /home/***/***/latest.jpeg --width 500 --height 400
if [ $? = 0 ]; then
echo "copy picture"
/home/***/pic_save.py
fi
pic_save.pyは以下のようにした。
#!/usr/bin/python3
import os
import shutil
import datetime as dt
picfile = "/home/***/***/latest.jpeg"
distpre = "/home/***/***/store/"
now = dt.datetime.now()
nowstr = now.strftime("%Y%m%d%H%M")
dirdate = now.strftime("%Y/%m/%d/%H/")
dir = distpre + dirdate
if os.path.exists(dir):
pass
else:
print("make diretory : ", dir)
os.makedirs(dir)
storefile = dir + "pic" + nowstr + ".jpeg"
print(nowstr)
print(storefile)
shutil.copy2(picfile,storefile)
これをcrontabで起動する。
crontab -e
で5分毎に設定する。
*/5 * * * * /home/***/***/picture.sh
設定しても起動しない。手動実行すると成功するが、cronで出来ない。そもそもshが実行されていないようなので、調べてみると、
/etc/crontab のパーミションは644(-rw-r--r--)でないといけないようだ。
744(-rwxr-xr-x) になっているので、
sudo chmod 644 /etc/crontab
とすればcronを実行できた。
これで撮影の設定終了。次に撮影した画像を見るためのページを設定する。
apacheを使うのでインストール。
sudo apt-get update
sudo apt-get install apache2
設定は、以下で行える。
/etc/apache2/apache2.conf
/etc/apache2/sites-available/000-default.conf
/var/www/html
で公開する設定にする。
参考:apache2設定
他に色々なサイトを参考にさせて頂いた気がするが忘れた・・・。
wordpressを利用してHPを作成する。
参考:wordpress
mysqlの代わりにMariaDBを利用するようだ。MariaDBで問題なくwordpressは動作する。
とりあえず最新画像だけ見れるようにする。
/var/www/html にライブカメラの画像へのシンボリックリンクを張る
sudo mkdir /var/www/html/livecamera
cd /var/www/html/livecamera
ln -s /home///latest.jpeg
wordpressで固定ページを作成して、http://.../livecamera/latest.jpeg
へリンクを張ったページを作成する。
ページが作成できた。ここまですればライブカメラのページと自宅サーバのHPになっているはず・・・。
このままではインターネットからアクセス出来ないので自宅ONU(HG8045Q)にアクセスしてポートマッピング設定する。借りている機器によって設定方法が違うと思うので詳細は割愛。
ONUで自宅のIPアドレス(WAN情報)を確認する。同時にraspiのローカルIPアドレスも確認できる。
コマンドで確認する場合は
/sbin/ifconfig
インターネット IPアドレス(WAN) XXX.XXX.XXX.XXX ポート80
raspiのローカルアドレス YYY.YYY.YYY.YYY ポート80
にマッピングする。
自宅のIPアドレスのポート80へのアクセスをrasberry pi のapache2にマッピング出来る。
http://XXX.XXX.XXX.XXX:80/
にアクセスした時と同じページが
http://YYY.YYY.YYY.YYY:80/
に表示されると良い。
試しに適当な index.html を /var/www/html
に配置しておくと設定が効いているか確認できる。
あとはドメイン等を取得すればそれなりの形になる。