Rasberry PI 4にカメラモジュールを取り付けてライブカメラにしてみた 設定編


[Rasberry PI 4にカメラモジュールを取り付けてライブカメラにしてみた 組み立て編](https://qiita.com/T-Shi/items/98deaab718e31dbb609d)

のライブカメラの設定方法をメモする。

インストールしたOSはRasbian。購入したmicroSDカードが64GBだったが購入時点で入っていたNOOBSからはrasbianのインストールをうまくできなかった。

フォーマットした上でNOOBSを入れなおしてRasbianをインストールすることに。fat32でないと認識しないようだが、Windowsやよく紹介されているSD Card Formatterではfat32にフォーマット出来なかったので、[アイオーデータハードディスクフォーマッタ](https://www.iodata.jp/lib/product/i/2107.htm)を利用した。

NOOBSをZipダウンロードして展開したものをすべてmicroSDカードにコピー
[NOOBS](https://www.raspberrypi.org/downloads/noobs/)

あとは手順に沿ってrasbianをインストール。他所にたくさん情報があるので割愛する。

> sudo raspi-config
![raspi-config.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477082/6f719555-ae74-4f56-dbab-2aa3d116a1ed.png)
から

![camera.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477082/4f48ace2-cec8-6137-8bbf-cbcacbbad439.png)
P1 Cameraをenabledに設定してrebootする。
ライブカメラとして利用する場合はsshやVNCを同様に利用可能としておくと良い。

> raspistill -o /home/***/camera/latest.jpeg --width 500 --height 400
を時刻起動して定期的に画像を保存するようにしたい。

> /home/pi/tool/picture.sh 

picture.sh で撮影し、成功したら日付を付けてアーカイブするようにする。

```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は以下のようにした。

```python: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分毎に設定する。

```sh:crontab -e
*/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設定](https://wordpress.zenmai.org/2013/09/24/raspberry-pi-setup1-3/)
他に色々なサイトを参考にさせて頂いた気がするが忘れた・・・。

wordpressを利用してHPを作成する。
[参考:wordpress](https://gloria.cool/blog/20200210-raspberrypi-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
へリンクを張ったページを作成する。

![ライブカメラ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477082/878d1a0c-84e4-661b-95e8-842fb1ee7c4c.png)

ページが作成できた。ここまですればライブカメラのページと自宅サーバの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
に配置しておくと設定が効いているか確認できる。

あとはドメイン等を取得すればそれなりの形になる。