В настоящее время у меня есть пользовательский cron, который запускает Motion по таймеру, когда я обычно ухожу на работу, а затем убиваю его, когда я обычно возвращаюсь домой, чтобы я мог наблюдать за своим котом / грабителями / и т.д.
0 9 * * * killall motion ; motion
30 18 * * * killall motion
Используемый файл конфигурации ~/.motion/motion.conf
и имеет включенный daemon on
.
Но было бы лучше, если бы он мог определить, когда я на самом деле дома, отключить веб-камеру в это время и включить ее в другое время. Я думал, что мое присутствие может быть обнаружено моим телефоном Android, присоединяющимся к локальной сети. Так что-то вроде
- Сценарий, который проверяет каждые несколько минут, находится ли имя моего телефона или MAC-адрес в данный момент в локальной сети.
- Скрипт Tasker на моем телефоне, который каким-либо образом связывается с домашним компьютером (простой веб-сервер?) когда он присоединяется к определенному SSID
- Сочетание вышеперечисленного
- ...
Есть лучшие идеи или советы о том, как реализовать один из них? Tasker прост в использовании, но стоит 6 долларов, поэтому решение, которое не зависит от него, будет полезно для более широкой аудитории.
Моя первая попытка решения arp-scan работает не очень хорошо. Он создает многократные motion
и не надежно определяет телефон, вызывая случайное включение и выключение камеры. Так что, может быть, это больше похоже на «проверять каждую минуту, если телефон присутствует. Включайте камеру, только если телефон не был замечен в течение 15 минут».
Хорошо, я написал скрипт на python для выполнения arp-сканирования раз в минуту, и он отлично определяет телефон:
2012-11-27 18:29:10.551552 No
2012-11-27 18:30:22.295997 No
2012-11-27 18:31:34.077431 No
2012-11-27 18:32:45.804675 No
2012-11-27 18:33:57.545211 No
2012-11-27 18:35:09.261680 No
2012-11-27 18:36:20.974378 Yes
2012-11-27 18:37:21.901076 Yes
2012-11-27 18:38:22.417423 Yes
2012-11-27 18:39:22.836101 Yes
2012-11-27 18:40:23.463507 Yes
2012-11-27 18:41:23.876693 Yes
Так что с cron что-то не так или то, как я начинаю движение или что-то в этом роде
Я попытался запустить /etc/init.d/motion start
вместо запуска и убить его как пользователя, но этот метод не работает:
* Not starting motion daemon, disabled via /etc/default/motion
Поэтому я отредактировал /etc/default/motion
чтобы сказать start_motion_daemon=yes
и повторил попытку :
~> /etc/init.d/motion start
mkdir: cannot create directory `/var/run/motion': Permission denied
Я даже не знаю, что это значит.