Как запланировать обнаружение движения

3787
Joril

Я только что обнаружил Motion, и он работает как шарм. Моя единственная проблема в том, что я хочу, чтобы он был активен только в ночное время, но нет параметров для планирования.

Я думаю, что мог бы написать программу, которая управляла бы Motion через его «HTTP API», но мне было интересно, если кто-то уже сделал это, или есть альтернативное решение.

Заранее спасибо :)

3

2 ответа на вопрос

4
Joril

Для этой простой задачи HTTP-интерфейс Motion можно использовать напрямую с wget или аналогичным.
Прямо из FAQ :

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  
Обратите внимание, что это приостанавливает захват движения, но не выключает камеру или прямую трансляцию. Смертельное движение выключает камеру. endolith 11 лет назад 1
2
dag729

Используйте cron:

crontab -e 

затем вставьте в него:

DISPLAY=:0.0 0 0 * * * /usr/bin/motion  0 8 * * * /usr/bin/killall motion 

Я предполагаю, что вы хотите открывать «движение» в полночь каждый день, и этот путь движения - / usr / bin / motion: настройте этот crontab под свои нужды, и он сделает свое дело.

You'll also need to add an entry to stop motion during the day. 0 8 * * * killall motion Chris Nava 13 лет назад 1
@ Крис Нава: Ой ... ты прав! Но вместо «killall» должен использоваться полный путь. Обычно / usr / bin / killall dag729 13 лет назад 0
Ну, это довольно "брутально", но я попробую, спасибо :) Joril 13 лет назад 0
Я забираю это назад, Motion прекрасно справляется с SIGTERMs :) Joril 13 лет назад 0
Я не понял: это работает? dag729 13 лет назад 0
@ dag279: да, это работает :) Хотя есть и другой метод, я добавлю его как еще один ответ для полноты ... Joril 13 лет назад 0
@Joril: конечно, метод, который вы опубликовали в качестве ответа, лучше подходит для этой ситуации. Мой ответ - общий способ сделать почти все! («Эх, мама, пожалуйста, разбуди меня в 6 часов утра?» «Конечно» «crontab -e: 0 6 * * * / usr / bin / wake_up_son») dag729 13 лет назад 1
Если бы это была производственная система, я бы избегал killall, а вместо этого регистрировал бы идентификатор процесса движения и уничтожал только это. Если это домашний компьютер, я сомневаюсь, что вы запустите другой процесс, названный движением по незнанию. Chris Nava 13 лет назад 1

Похожие вопросы