2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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

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

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

フォーマットした上でNOOBSを入れなおしてRasbianをインストールすることに。fat32でないと認識しないようだが、Windowsやよく紹介されているSD Card Formatterではfat32にフォーマット出来なかったので、アイオーデータハードディスクフォーマッタを利用した。

NOOBSをZipダウンロードして展開したものをすべてmicroSDカードにコピー
NOOBS

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

sudo raspi-config
raspi-config.PNG
から

camera.PNG
P1 Cameraをenabledに設定してrebootする。
ライブカメラとして利用する場合はsshやVNCを同様に利用可能としておくと良い。

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

/home/pi/tool/picture.sh

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

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

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設定
他に色々なサイトを参考にさせて頂いた気がするが忘れた・・・。

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
へリンクを張ったページを作成する。

ライブカメラ.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
に配置しておくと設定が効いているか確認できる。

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

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?