ラズパイ+カメラ+motionを使った動体検知の結果をLINEに通知する手順メモ。
![](https://www.ogaworks.com/wp-content/uploads/2019/12/IMG_6742-1280x960.jpg)
以前、自宅玄関付近の動体検知結果をslackに送信していたものの、家族でslackを使っているのは自分だけでいまいち実用性に欠けてたやつのLINE通知版。
材料
手順
ラズパイの初期設定
$ sudo apt-get upgrade
$ sudo apt-get update
cameraとsshを使用可に設定
$ sudo raspi-config
カメラの動作確認
$ raspistill -o test.jpg
motionのインストール
$ sudo apt-get install motion
motionの設定
$ sudo nano /etc/motion/motion.conf
- daemon on *motionをバックグラウンドで動作させるためにon。
- threshold 3000 *検知の際のしきい値(ピクセル数)。
- locate_motion_mode on *変化のあった部分に枠を表示。
- ffmpeg_output_movies off *動画は作成しないのでoff。
- target_dir /tmp/motion *画像保存先フォルダ。
- output_pictures best *検知中に変化量が最大の画像を保存する。
- event_gap 60 *次の動体検知までの間隔(秒)。
- stream_localhost off *映像画面の外部アクセスを許可する。
motionの自動起動設定(RUN LEVEL2,3,4,5をONにする)
$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf
motionをデーモンで起動するように設定
$ sudo nano /etc/default/motion
- start_motion_daemon=yes
再起動して確認
$ sudo reboot
$ ps aux | grep motion
ブラウザで確認
http://{ホスト名}.local:8081
motionの起動、再起動、停止
$ sudo motion -c /etc/motion/motion.conf
$ sudo service motion start
$ sudo service motion restart
$ sudo service motion stop
LINE Notifyのトークンを取得
LINE Notifyで、LINEに通知を送るためのアクセストークンを設定して取得。
https://notify-bot.line.me/my/
「トークンを発行する」を選択。
![](https://www.ogaworks.com/wp-content/uploads/2019/12/6417b3206ea756a89a0e33cc99088ce0-1280x419.png)
トークン名(通知時のタイトル)を指定し、送信先のグループを指定。
![](https://www.ogaworks.com/wp-content/uploads/2019/12/e3fad007d1f7b4ab785eaa2df832b60c.png)
これでLINE Notifyは設定完了。
![](https://www.ogaworks.com/wp-content/uploads/2019/12/cbbc0026fd889874812586b65a7020a3-1280x423.png)
LINEのグループにはメンバーとして「LINE Notify」を追加する。
![](https://www.ogaworks.com/wp-content/uploads/2019/12/f1129aeaab25eb174893c27cdf8fef9d.png)
画像ファイルをLINEにポストする
post2line.sh
#!/bin/bash
# -*- coding: utf-8 -*-
token="{LINE Notify アクセストークン}"
DIR=/tmp/motion
for path2file in $DIR/*; do
curl -X POST -H "Authorization: Bearer ${token}" -F "message = detect!" -F "imageFile=@${path2file}" https://notify-api.line.me/api/notify
rm -f $pathfile
done
motionの検知後動作にpost2line.shを設定。
$ sudo nano /etc/motion/motion.conf
- on_picture_save sh /home/pi/post2line.sh
/tmp/motion のオンメモリ化
SDカードの寿命を考慮して画像保存パスはオンメモリ化しておく。
ポストされた様子
![](https://www.ogaworks.com/wp-content/uploads/2019/12/IMG_348D8DB86617-1-758x1280.jpeg)
以上!
コメントを残す