С тех пор, как я приложил руки к этому небольшому устройству (поделился в своей предыдущей записи в блоге), я планировал сделать недорогую радионяню в качестве своего первоначального проекта. Это звучит как что-то достижимое с относительно меньшими усилиями. Я пытался использовать камеру стоимостью 5 долларов на eBay, но было трудно найти правильный код на этой камере, чтобы Pi узнал ее. Поэтому я поставил +5$, чтобы получить нормальную камеру Pi от eBay.

Затем я копаюсь в веб-форумах, чтобы найти правильное руководство, которому я должен следовать. Наконец, я нашел этот веб-сайт, на котором четко объясняется, как выполнять потоковую передачу с вашего Pi через HTML. Он использует пакет под названием MJPG-streamer. Это было очень то, что мне нужно. Для получения видеопотока не требуется никакого дополнительного программного обеспечения, кроме простого веб-браузера. Еще одна хорошая часть этой ссылки заключается в том, что она принадлежит этой компании под названием Dataplicity, которая предоставляет бесплатный онлайн-сервис, который позволяет вам удаленно получать доступ к вашему Pi и управлять им, а также создавать ссылку для потоковой передачи вашего канала через Интернет. Даже созданная веб-ссылка уникальна, отсутствие возможности входа в систему для доступа к видеопотоку является серьезной проблемой безопасности. Лучше имейте в виду, чтобы не делиться конфиденциальной информацией.

На первом изображении ниже показано, как получить HTML-канал с помощью стримера MJPEG. После того, как вы успешно установите модуль, вы получите эту страницу при вводе вашего IP-адреса Pi в браузер. Существует множество вариантов потокового видео (java script, VideoLAN…). Второе изображение — это пользовательский интерфейс Dataplicity. С правой стороны у вас есть параметры администратора, такие как создание веб-ссылки для вашего Pi, перезагрузка или проверка хранилища. Слева находится терминал для ведения вашего бизнеса с помощью Pi. Могу сказать, что это довольно удобно.

В конце концов, у меня не было проблем с выполнением инструкций на сайте. Настройка этого сервера и запуск потоковой передачи может занять от получаса до 1 часа, при условии, что у вас не возникнет проблем на протяжении всего этого процесса. У меня были некоторые проблемы с файлом videodev.h (который почему-то не может быть найден). Но это было решено путем замены существующего файла (videodev2.h). Решать такие головоломки довольно весело, но поиск решения может быть довольно утомительным (может быть, это лучшая часть?).

Как только все будет сделано, вы можете просто начать потоковую передачу в своей домашней сети, вводя эти 2 строки команд каждый раз, когда вы запускаете Pi (вы должны находиться в папке, в которую вложен MJPG-steamer):

sudo modprobe bcm2835-v4l2

sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 640x320 -n -y" -o "./output_http.so -w ./www -p 80"

Создать файл .sh и запустить его с помощью команды sudo sh будет проще, чем каждый раз искать и писать эти команды. Сохраните это как закладку для быстрого доступа только к потоку:

http://192.168.0.X/?action=поток

(X — последние 3 цифры IP-адреса вашего Pi)

Дополнения и обновления

Жилье

Я модернизировал свой предыдущий дешевый коробчатый корпус, используя в общей сложности 2 доллара Lego. Вот маленький робот вроде Пи с установленной камерой.

Переход на мобильные устройства

Вы можете подключить свой Pi к блоку питания (я использую 10000 мАч). Это может дать вам пару дней жизни для работы беспроводной сети (см. Изображение ниже). Минимальная выходная мощность 1А достаточна для работы камеры и подключенных клавиатуры и мыши. Это определенно сработает для размещения радионяни в любом удобном месте.

Если у вас есть другой компьютер, вы можете установить VNC для удаленного доступа к рабочему столу Pi. Это сэкономит ваше время на подключение вашего Pi к монитору и клавиатуре. VNC поставляется с ОС Raspbian. Все, что вам нужно сделать, это установить программное обеспечение на свой компьютер. Для быстрой проверки и более легкого доступа вы можете использовать мобильное приложение VNC, доступное на нескольких платформах.

Запись видео с камеры

Некоторым может потребоваться запись видеопотока. Для этого я нашел решение с помощью простого кода Python, который вы можете запустить в Raspberry Pi (программное обеспечение Python поставляется с ОС Raspbian). Вот что вам нужно создать в файле .py:

из пикамера импорт PiCamera

из времени импортировать сон

камера=PiCamera()

camera.start_recording('/home/pi/video.h264')

спать(10)

камера.stop_recording()

Это 10-секундная запись и сохранение созданного видеофайла в вашей папке pi. Имейте в виду, что вам может понадобиться большая единица хранения для этого, если вы планируете работать часами.

Далее: Обнаружение объектов в реальном времени с использованием видеопотока от Raspberry Pi

Это самая сложная, но самая крутая часть. Это следующий этап в моих проектах Pi, просто превращающий радионяню в умную умную камеру наблюдения. Прямо сейчас я разобрался с методом обнаружения объектов, используя одно изображение с ручной подачей через программное обеспечение Python. Я ищу способ использовать HTML-канал для обнаружения объектов в реальном времени. На этот раз я буду выполнять работу на своем компьютере, а не на Pi, потому что этот процесс требует более быстрой обработки для обнаружения объектов в реальном времени.

Первоначально опубликовано на emresezg.wixsite.com 13 сентября 2018 г.