LoginSignup
2
3

More than 5 years have passed since last update.

motionの動体検知の開始/一時停止をcronで制御する

Posted at

はじめに

Motion Webで紹介されているmotionの動体検知の開始/一時停止をcronで制御する方法を試したらハマったので紹介します。
Raspberry Piでmotionを起動している前提で話を進めます。

紹介されている方法
0 9 * * * root /usr/bin/lwp-request http://localhost:8080/0/detection/start > /dev/null
0 18 * * * root /usr/bin/lwp-request http://localhost:8080/0/detection/pause > /dev/null

環境

  • モデル:Raspberry Pi 3 Model B
  • raspbian:8.0
  • moiton:3.2.12
  • LWP:6.18

手順

  1. LWPのインストール
  2. ターミナルから実行して動作確認
  3. cronの仮設定 & 動作確認
  4. cronの本設定

1. LWPのインストール

最初にLWPをインストールします。

$ perl -MCPAN -eshell

cpan> install Bundle::LWP
cpan> quit

2. ターミナルから実行して動作確認

いきなりcronで実行するのではなく、まずはターミナルから実行して動作確認します。
下記のコマンドを実行してmotionの一時停止ができるか確認します。

$ lwp-request http://localhost:8080/0/detection/pause

Webブラウザからmotionの動体検知状況を確認します。下記の手順で確認ができます。

http://[Raspberry PiのIPアドレス]:8080/
detection
status

「Detection status PAUSE」と表示されると成功です。

"> /dev/null"までコマンドを実行すると出力が破棄されエラーがあってもわからないのでターミナルでの動作確認時は抜くとよいです。

3. cronの仮設定 & 動作確認

いよいよcronから制御させます。ターミナルで下記のコマンドを実行してcrontabの設定ファイル編集を行えるようにします。

$ crontab -e

動作確認のため直近で実行されるように仮設定します。

11 * * * * /usr/local/bin/lwp-request http://localhost:8080/0/detection/pause > /dev/null

※ 11の箇所は現在時刻の2分後以降を設定
※ crontab -eで設定するとユーザ名は不要なためrootを削除しています
※ Raspberry PiでLWPをインストールすると"/usr/local/bin/"にインストールされるためパスを変更しています

crontab設定後にターミナルでcronを再起動します。

$ sudo /etc/init.d/cron restart

Webブラウザからmotionの動体検知状況を確認してstatusがPAUSEだったら成功です。

4. cronの本設定

cronからの動作確認がとれたら後は本設定のみです。お好みの時刻に動体検知の開始/一時停止を設定します。下記にMotion Webに紹介されているのと同じ実行時刻設定の例を示します。

0 9 * * * /usr/local/bin/lwp-request http://localhost:8080/0/detection/start > /dev/null
0 18 * * * /usr/local/bin/lwp-request http://localhost:8080/0/detection/pause > /dev/null

参考

perlでLWP(WWWアクセスのためのライブラリ)を使う場合のモジュールインストール

LinuxでWebカメラを使う(ライブカメラ、防犯カメラ等)[motion]

2
3
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
3