Pull to refresh
13
0
Send message
Игорь, в итоге, после тестирования, остановился на варианте when_motion/when_no_motion.
Спасибо еще раз за совет.
Обновил скрипт в публикации.
Да, вероятно, сейчас вопрос понял.
Лучше использовать функцию pir.wait_for_motion()/pir.wait_for_no_motion() в таком виде:
While...:
pir.wait_for_motion()

pir.wait_for_no_motion()
pass
Насчет неэффективности я бы поспорил, но не хочется устраивать холивар.
Я использовал различные методы класса MotionSensor:
0. motion_detected. Возвращает True, если есть активный сигнал.
1. when_motion/when_no_motion. Эти методы контролирую переход из состояния активный/неактивный;
2. wait_for_motion/wait_for_no_motion. Эти методы делают паузу до тех пор пока есть сигнал активный/неактивный.

В любом случае эти методы нужно вызывать в цикле. Никакой разницы в их использовании я не заметил, поэтому решил использовать первый протестированный метод — motion_detected.
Да, кстати, у меня тоже была такая же идея — использовать телефон. Но она, на мой взгляд, с точки зрения реализации немного сложнее.
Нет. Такой проблемы нет, пока тестировал датчик «ловил» все движения. Относительно направления движений я не задумывался, возможно, что во всех перемещениях были «микро-поперечные» движения)
Датчик по паспорту работает на расстоянии 6-7 м, угол мониторинга 120 градусов. Вроде так оно и есть.

Если нужны другие характеристики, то лучше приобретать другой датчик. Для помещения, протестированный мною датчик вполне подходит, если разместить его в важной с точки зрения контроля зоне.
Да, пожалуйста.
Думаю, что с motion разбираться не буду, т.к. моя задача решена более простым средством, которое к тому же открытое и может модифицироваться без «кучи» настроек.
Добрый день.
Датчик работает так: если обнаружено движение, то на информационный выход подается сигнал. Это я могу контролировать в коде.
Чтобы постоянно мониторить сигнал можно было использовать «вечный» цикл, например, While True:…
Но я решил ограничиться 10-ю срабатываниями датчика.
Надеюсь, что ответил на Ваш вопрос.
Ниже комментарий из моего предыдущего поста.
Добавлю так же что motion это, на мой взгляд, еще не зрелое решение и что будет с его развитием — не понятно. Для меня он остался «черным ящиком». Мое же решение очень простое и открытое.
— Попытался использовать user scripts в motion. Оказалось, что это не очень просто.
Вроде все корректно настроил — в motion.conf указал необходимые настройки.
Изменил пользователя для файлов скриптов, дал права на исполнение скриптов (пробовал как python, так и shell-скрипты).
Пока ничего не получилось. При этом сохранение отдельных файлов и видео при обнаружении движения работает. Все сохраняется в target_dir.
Замечу, что не у одного меня возникли с этим проблемы. Ниже приведен перечень вопросов/проблем, с которыми сталкиваются пользователи motion.
Многие вопросы остаются нерешенными… Возможно, продукт еще достаточно «молодой» и много изменений, связанных с его развитием.
Все рекомендации, указанные в ответах на вопросы ниже я попробовал (в т.ч. анализ логов motion). Пока безрезультатно.
Даже echo с выводом в файл, расположенный в target_dir, не работает. motion в target_dir успешно пишет файлы и видео.

http://stackoverflow.com/questions/35469118/how-can-i-use-the-on-motion-detected-method-on-raspberry-pi-motion
http://raspberrypi.stackexchange.com/questions/8273/running-script-in-motion
http://unix.stackexchange.com/questions/59091/problems-running-python-script-from-motion
https://www.raspberrypi.org/forums/viewtopic.php?t=86534&p=610482
https://sourceforge.net/p/motion/mailman/message/33153769/
Я уже отвечал на этот вопрос в комментариях к предыдущей публикации. Motion, разумеется, неплохое решение, однако, я не смог с ним реализовать отправку сообщения в Telegram. Telegram мне нужен для оперативной реакции.
Альтернативный вариант, который я предложил, очень прост, на мой взгляд, и не требует сохранения видео, которое может занять значительный объем.
Хабровчане, написал «итоговую» публикацию по системе видеонаблюдения с использованием датчика движения.
Я не планировал писать отдельную серверную часть, хотелось все сделать на Малине в виде максимально легковесного решения без дополнительных компонентов (как, например, серверная часть, которую надо писать, а затем поддерживать).

У меня фото и так уже сохраняются на Яндекс.Диске. После этого я монтирую из них видео, которое через некоторое время удаляю.
Так же и motion сохраняет файлы и видео на Яндекс.Диске.
Попытался использовать user scripts в motion. Оказалось, что это не очень просто.
Вроде все корректно настроил — в motion.conf указал необходимые настройки.
Изменил пользователя для файлов скриптов, дал права на исполнение скриптов (пробовал как python, так и shell-скрипты).
Пока ничего не получилось. При этом сохранение отдельных файлов и видео при обнаружении движения работает. Все сохраняется в target_dir.
Замечу, что не у одного меня возникли с этим проблемы. Ниже приведен перечень вопросов/проблем, с которыми сталкиваются пользователи motion.
Многие вопросы остаются нерешенными… Возможно, продукт еще достаточно «молодой» и много изменений, связанных с его развитием.
Все рекомендации, указанные в ответах на вопросы ниже я попробовал (в т.ч. анализ логов motion). Пока безрезультатно.
Даже echo с выводом в файл, расположенный в target_dir, не работает. motion в target_dir успешно пишет файлы и видео.

http://stackoverflow.com/questions/35469118/how-can-i-use-the-on-motion-detected-method-on-raspberry-pi-motion
http://raspberrypi.stackexchange.com/questions/8273/running-script-in-motion
http://unix.stackexchange.com/questions/59091/problems-running-python-script-from-motion
https://www.raspberrypi.org/forums/viewtopic.php?t=86534&p=610482
https://sourceforge.net/p/motion/mailman/message/33153769/
Ясно. Я обрабатываю картинку, предварительно убрав цвет.
Спасибо за комментарий.
Я тоже установил motion. Пока попробовал его в качестве web-камеры.
Буду разбираться как отправлять сообщение путем запуска Python-скрипта, отправляющего сообщение в Telegram.

Information

Rating
Does not participate
Registered
Activity