Оглавление:

Система безопасности веб-камеры Pizero Motion Detect: 3 шага
Система безопасности веб-камеры Pizero Motion Detect: 3 шага

Видео: Система безопасности веб-камеры Pizero Motion Detect: 3 шага

Видео: Система безопасности веб-камеры Pizero Motion Detect: 3 шага
Видео: Как сделать Wi-Fi-камеру безопасности Raspberry Pi Zero, доступную также через Интернет 2024, Ноябрь
Anonim
Система безопасности веб-камеры Pizero Motion Detect
Система безопасности веб-камеры Pizero Motion Detect

Эта система использует pizero, ключ Wi-Fi и старую веб-камеру в индивидуальном футляре спичечного коробка. Он записывает видео с обнаружением движения со скоростью 27 кадров в секунду при любом значительном движении на моей подъездной дорожке. Затем он загружает клипы в учетную запись Dropbox. Также можно просматривать журналы и изменять конфигурацию через dropbox.

Шаг 1. Настройка предварительных условий

Image
Image

Сначала обновите операционную систему до последней версии, как описано здесь.

Затем настройте Wi-Fi, как описано здесь.

Затем вам нужно будет настроить OpenCv. На pyimagesearch есть хорошие инструкции, как это сделать. Если вы собираетесь использовать версию 3.0, ожидайте, что это займет много времени. На выполнение одного из шагов уходит 9 часов. Вам также понадобятся привязки Python, которые описаны на этой странице.

Когда вы все это настроите и запустите, вы готовы загрузить программное обеспечение для обнаружения движения.

Шаг 2: Настройка программного обеспечения обнаружения движения

Доступ к видео и конфигурации через Dropbox
Доступ к видео и конфигурации через Dropbox

Код можно найти на bitbucket. Скопируйте эти файлы с помощью

git clone

или, если вы предпочитаете загружать их по отдельности.

Основная часть этой системы - multiMotionDetect.py. Он использует множество многопроцессорных очередей и событий.

Прежде всего, вам нужно решить, где вы хотите хранить видеоизображения MotionVideos и установить это значение в файле globalConfig.json. Затем скопируйте config.json.txt и maskedAreas.json.txt в корень этой папки. В config.json.txt есть следующие настройки, которые можно редактировать удаленно.

}

FrameThreshold: количество значимых кадров до обнаружения движения.

staticThreshold: количество статических кадров перед выключением видеосъемки.

minArea: минимальный размер области, которую можно считать значимой.

postSeconds: это количество секунд с момента окончания съемки, в течение которого движение проходит через очередь. readCamNice: насколько приоритетен

readCam процесс. Это значение от -20 до +20 (чем ниже значение, тем выше приоритет). Но не переусердствуйте, иначе операционная система выйдет из строя.

checkMotionNice: приоритет процесса обнаружения движения.

writeCamNice: приоритет процесса записи камеры.

maxqsize: это количество секунд, которое затем умножается на количество кадров в секунду.

Я в основном меняю только min_area, чтобы учесть ветровые условия.

Если вы предпочитаете использовать простой регистратор, а не регистратор сокетов (см. Ниже), измените импорт miaLogging на

импорт журнала

logging.basicConfig (filename = 'example.log', level = logging. DEBUG)

и удалите приемник журнала из файла motionDetect, и все остальное должно работать нормально.

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

Сначала отредактируйте сценарий и убедитесь, что домашний каталог указывает на то место, где у вас есть multiMotionDetect.py, затем скопируйте файл motionDetect в /etc/init.d, т.е.

cp motionDetect /etc/init.d/motionDetect

Уже должен быть исполняемым, но

chmod + x /etc/init.d/motionDetect

Наконец зарегистрируйте скрипт с помощью

sudo update-rc.d motionDetect по умолчанию

Вы также можете запускать, останавливать и перезапускать систему с помощью

sudo /etc/init.d/motionDetect start | stop | перезапуск

По умолчанию ведение журнала сокета miaLogReceiver запускается одновременно. Остальные три программы независимы, но используют тот же регистратор сокетов (но могут быть легко преобразованы). Я вызываю все это с помощью скрипта cron с разными интервалами. Инструкции смотрите здесь.

CheckRunning.py проверяет, запущен ли multiMotionDetect.py, и в противном случае выполняет перезапуск.

fileMaint.py выполняет уборку папок с видео, удаляя их через заданное количество дней. Он удаляет подкаталоги папки видео с движением, заданной в первом абзаце. Он проверяет, что они начинаются с "MV", поэтому убедитесь, что у вас нет другого важного каталога, начинающегося с тех же символов в этой папке.

Шаг 3. Доступ к видео и конфигурации через Dropbox

Наконец, если вы хотите просматривать свои видео, журналы и файлы конфигурации удаленно, вам необходимо настроить Dropbox.

Сначала получите бесплатную учетную запись Dropbox. Затем настройте API для python - https://www.dropbox.com/developers/documentation/… Это включает в себя загрузку sdk и регистрацию приложения для доступа к API.

Когда у вас есть ключ, введите его в файл globalConfig.json. Более подробную информацию о системе можно найти в моем блоге dani cymru - cyber renegade. Если вы найдете что-то интересное или какие-либо вопросы, пожалуйста, оставьте комментарий в блоге.

Рекомендуемые: