Raspberry Pi

raspberry pi motion で動体検知する方法

2018/03/25 11:56
まず、事前準備として Raspberry Pi は事前に動作する環境を作っておいてください。

1.USBカメラの接続

2.USBカメラの接続確認
$ lsusb

3.motionをインストール
$ sudo apt-get install motion

4.motionの設定
motionは/etc/motion/motion.confに設定ファイルがあるこれを編集する
$ sudo vi /etc/motion/motion.conf

5.motionを起動
通常
$ sudo motion -c /etc/motion/motion.conf

6.Raspberry Pi のIPアドレスを調べる
$ ip addr show
当方の場合無線Lanなので
wlan0: BROADCAST xxxxxxxxxxxxxxxxxxxxxxxxxx
link/ether xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
inet xxx.xxx.xxx.xxx ←ここをメモる

Raspberry Pi側はここまで

つぎにPC側での操作

7.ブラウザで設定のURLを見るとカメラの画像が表示される
http://XXX.XXX.XXX.XXX:8080/

8.ブラウザから設定も変更できる
http://XXX.XXX.XXX.XXX:8081/

9.さいごにmotionを停止する場合
PC側からだと
http://XXX.XXX.XXX.XXX:8081/ → ALL →QUIT
Raspberry Pi側からだと
$ sudo service motion stop
で停止できるようだがこちらの環境では止まらない。

ここまでで動作確認終了

ここから動体検知する設定

1.motionの設定
motionは/etc/motion/motion.confに設定ファイルがあるこれを編集する
$ sudo vi /etc/motion/motion.conf

# Threshold for number of changed pixels in an image that
# triggers motion detection (default: 1500)
#MOTIONしきい値
threshold 1500

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
#MOTION画像の保存先
target_dir /tmp/jpg

 →VIの使い方はこちら

動作確認した時の手順で
5.motionを起動のオプションをモーション起動にかえる
$ sudo motion -n

/tmp/jpgに画像が保存されればOK

slack
まずトークンを取得しておく

$ python
Python 2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from slacker import Slacker
>>> token = "xxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxx"
>>> slacker = Slacker(token)
>>> channel_name = "#" + "general"
>>> message = 'APIだよ'
>>> slacker.chat.post_message(channel_name, message)

-Raspberry Pi