Фотоловушка своими руками из видеорегистратора

Добавил пользователь Алексей Ф.
Обновлено: 19.09.2024

Старый смартфон лежит без дела? Всего за пару минут его можно превратить в неплохую охранную систему, тем самым дав ему вторую жизнь и сэкономив некоторую сумму денег на покупке MMS или IP-камеры.

Впрочем, у этого подхода есть как преимущества, так и недостатки.

На сегодняшний день в Google Play можно найти достаточное количество специализированных бесплатных приложений (или наборов приложений), которые помогут сделать из старого смартфона камеру наблюдения с детектором движения. Все они имеют разные возможности. Мы отобрали два из них, которые показались нам наиболее удобными и функциональными. Вдобавок – с русскоязычным интерфейсом.

Salient Eye

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

Установив второе приложение на другой смартфон можно управлять настройками камеры и запрашивать статические снимки. А вот живой видеопоток посмотреть нельзя.

WardenCam

Сравнение с полноценной MMS-камерой

На стороне смартфонов более качественная фотокамера. Ведь сенсоры дешевых MMS-камер имеют максимальное разрешение 640х480 точек и совершенно невразумительную цветопередачу. Также тут есть возможность просмотра живого видеопотока и двусторонняя звуковая связь.

Что в итоге

Сделать из старого смартфона охранную камеру – идея неплохая. Единственное, придется позаботиться о дополнительном освещении, ведь подсветить встроенная вспышка сможет максимум на 3-5 метров, в то время как инфракрасная подсветка обычно рассчитана на вдвое большую дистанцию. Кроме того, вспышка сразу выдаст расположение камеры.

Потому будет нелишним купить инфракрасный прожектор, цены на которые на Aliexpress начинаются от 560 рублей (в комплекте с 12-вольтовым блоком питания).

Сравнительная таблица функций охранных приложений и MMS-камер

Если выбирать между Salient Eye и WardenCam, то последнее имеет более широкий набор функций. Потому Salient Eye можно порекомендовать лишь тем, кому по какой-то причине push-уведомлений недостаточно, и важно получать оповещения по SMS или E-mail.



В качестве преамбулы скажу, что поскольку, подобная статья уже была, я по-началу и не собирался писать о камере на хабр.
Камера была сделана, просто ради интереса, тренировки навыков и отработки технологии удалённого управления физическими объектами.
Немного позже использовал эту систему как наглядный пример, сопровождающий обзор, на другом ресурсе (а фактически, в качестве чита что-бы подтянуть голоса). Это был настоящий бета-тест, который выявил кучу недоработок. За это огромное спасибо всем неравнодушным, помогавшим кто советом, а кто и куском кода.

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

Вот это всё и сподвигло меня на статью. А чтобы не повторюшничать, я и решил заостриться на стоимости, т.к. у автора предыдущего топика на эту тему, насколько я помню, итоговая стоимость вылилась во что-то в районе 5000р.

О том какова стоимость моей поделки: читаем ниже.

Пройдём по ценам*

* все цены даны со скидками. О скидках — отдельно, пожже.

  • Arduino Uno (или nano) — 15.29$
  • Сервопривод (рулевая машинка) SG90 2х2.37$ = 4.74$
  • Вебкамера 3.01$
  • Экран от Nokia 5110 — 250р (в комплекте с самой Нокией и блоком питания, куплено пару лет назад, будем считать, что именно для этой цели, реально можно найти уже вдвое дешевле, или вообще на халяву)
  • MegaShield v4 к Arduino — 5.86$
  • Проводки-коннекторы — 2.86$ (40 штук за эту цену, реально использовано 7)
  • Сверхяркий сверхсиний сверхтодиод для подсветки экрана — 5р/шт (лучше 4шт., у меня сделано неправильно)

Всего: 1300р

О реализации

Всё делалось с нуля. Повторять то, что уже было — я не стал, во-первых из соображений тренировки, а во-вторых Ethernet-модуля у меня на тот момент не было, я решил что это всё слишком сложно (там был завязан MySQL) и это решение мне однозначно не подойдёт.

Довольно лирики!

Как выглядит

Выглядит всё более чем скромно

Работает примерно так:


Ардуина, если кто не видел


Мегашилд с проводками


LCDшка


Она же вид сзади (пины и кондёр)


В сборе


В сборе 2

Колхоз — система проводков и верёвочек (крепление камеры)




Куда же без него

Как устроено аппаратно

Вебкамера подлючена по USB к компьютеру.
Arduino тоже подключена к компьютеру по USB.
Все внешние устройства, ввиду исключительно малого потребления тока, подключены напрямую к Arduino, работает круглосуточно уже полтора месяца, с онлайном 10 пользователей в момент наименьшей нагрузки.

Как работает программно

На стороне клиента чистый веб-интерфейс, без всяких плагинов и примочек. Только html, css, и javascript (+ajax).

Система выдержала все нашествия и рейды, а так же онлайн более 120 пользователей.
Были случаи отказа управления, которые случались из-за моих недоработок в программе-прокси, в частности из-за недостаточной обработки ошибок, в то время как програмная часть со стороны Апача и Ардуино держалась достойно.

Будьте внимательны к мелочам

Оставшиеся недоработки

О скидках

Ссылки

Камера, работающий экземпляр, для тех кто ещё не видел и не наигрался
Топик, в котором ссылку на камеру слили на хабр раньше времени
RAMDisk
juction
Исходники (упрощённые, во избежание) клиентской части, серверной (php) и программы web-arduino-прокси (VB 6.0)


К старту курса по разработке на С++ рассказываем, как самостоятельно собрать IP-камеру с обнаружением движения. За подробностями приглашаем под кат, где вы найдёте много фотографий и видео на Youtube-канале автора, за которым наблюдают более 30 000 человек.

Хотя не все хорошие WiFi камеры наблюдения дороги, большинство из них стоят немало, особенно если брать для дома сразу несколько. Сегодня мы за небольшие деньги (около 20 долларов, цена зависит от того, что у вас уже есть) сделаем беспроводную камеру с модулем ESP32-CAM AI thinker WiFi (одной из лучших макетных плат для камер), чтобы наблюдать за происходящим в доме или снаружи.

Введя уникальный IP-адрес в браузере, с этой камеры можно войти на веб-сервер и просматривать видео, а также менять настройки на боковых панелях управления. Благодаря коду, когда что-то или кто-то движется перед камерой, начинается запись, а записанные видеофайлы .MJPEG сохраняются на SD-карту. В камере слежения есть ещё много функций, но о них позже. А сейчас приступим к её сборке. Вот ссылка на видео проекта на YouTube.

Что нам потребуется

модуль ESP32-CAM с датчиком камеры OV2640 на 2 Мпикс;

конвертер с USB-порта FTDI на последовательный (для программирования) + соединительные провода между гнёздами;

карта microSD на 4 Гб (карта памяти TF);

антенна с фиксатором;

литий-ионный зарядный модуль TP4056 на 1 ячейку;

батарея 18650 3,7 В 2600 мАч (2 шт.);

ползунковый мини-переключатель SPDT (лучше тумблер 3 A);

провода диаметром 0,51 мм;

красный светодиод 3 мм;

резистор на 220 Ом;

цилиндрический пластиковый контейнер (выбор корпуса камеры — за вами);

крепление камеры к стене для GoPro.

1. Программирование ESP32-CAM

Загружаем код ESP32-CAM_MJPEG2SD в ESP32-CAM (спасибо пользователю s60sc на GitHub: он выложил последнюю версию кода). Всю информацию о коде смотрите по ссылке.





Чтобы запрограммировать модуль камеры, соединяем его с конвертером FTDI, работающим с USB и последовательным портом, как показано на схеме выше. Здесь подключаем пин GPIO 0 к GND, что позволяет программировать ESP. Нажимаем кнопку сброса на задней части платы модуля камеры, чтобы включить режим флеш-памяти перед загрузкой.

2. ESP32.json



3. Заполнение параметров в коде

Открываем загруженный код камеры слежения ESP32-CAM_MJPEG2SD:


Раскомментируем строку CAMERA_MODEL_AI_THINKER, если у вас эта плата:


Вводим необходимые параметры, такие как модель камеры, а также учётные данные WiFi:


Дополнительно вводим данные FTP, чтобы получать записанные видео удалённо:


4. Загрузка кода на плату

Выбираем плату, скорость загрузки, частоту и режим флеш-памяти, схему разделов, основной уровень отладки и COM-порт:



5. Подготовка ESP32-CAM и получение IP-адреса

Обязательно отсоединяем провод от IO0 к GND:


И нажимаем кнопку сброса:


Вставляем в слот модуля карту MicroSD. Минимум 4 Гб:


И получаем уникальный IP-адрес с монитора порта. Нужная кнопка в правом верхнем углу Arduino IDE.


6. Веб-сервер ESP32-CAM

После ввода IP-адреса в веб-браузер при включённой камере появится такая страница:



Последняя версия кода даёт возможность начинать и останавливать запись вручную. Ранее запись запускалась лишь при обнаружении движения.

7. Сборка камеры

Для корпуса выбираем контейнер или материал, с которым легко работать. С вставкой железа в сплющенную трубу из ПВХ (показана ниже) возникли проблемы, поэтому используем цилиндрический пластиковый контейнер. Подробнее об этом читайте далее.


На картинке не совсем те детали, что использовались.

Для сборки понадобится

плата для заряда батарей TP4056 1S;

Li-Ion батарея 18650 3,7 В;

ползунковый мини-переключатель SPDP или тумблер 3 A;

красный светодиод 3 мм;

резистор мощностью 1/4 Вт 220 Ом;

провод диаметром 0,51 мм;

крепёжный винт GoPro.

8. Подключение платы для внешней антенны



Выпаиваем резистор 0 Ом, соединяющий ESP с его антенной на плате:


И припаиваем его, подключая ESP к порту внешней антенны:


Этот этап нужен, чтобы увеличить диапазон для подключения собственной антенны.

9. Подключение источника питания ESP32-CAM


Подключаем к батарее зарядную плату TP4056 4,2 В (соединения B+ и B– от платы к батарее показаны выше):


К клеммам батареи подключаем входы платы рядом с портом Micro USB:


10. Работа с соединениями компонентов


Выпаиваем штыревые разъёмы ESP32-CAM с обеих сторон и удлиняем их, припаивая обратно с проводами.


Добавляем индикатор питания (красный светодиод):


Чтобы не запутаться, подбираем цвета проводов по их назначению:


11. Схема соединений


По этой простой схеме подключений должна получиться домашняя камера слежения со всем её железом.

12. Выбор батарей и корпуса

Сначала был плоский Li-Ion аккумулятор, я заменил его на батареи, более компактные для нового, цилиндрического корпуса:


Чтобы камера работала хорошо, лучше использовать батарею ёмкостью более 2000 мА·ч:


В итоге параллельно использовали 2 батареи 18650 по 3,7 В и 2600 мА·ч, что дало в сумме 5200 мА·ч. Приличная ёмкость.


13. Подготовка железа к установке в корпус

Отмечаем и сверлим отверстия для выступающих из корпуса частей:




Выбираем корпус для камеры, состоящий из двух частей: с таким легко работать. Лучше распечатать его на 3D-принтере.

14. Установка в корпус

Клеим двусторонний скотч или ленту на батареи и модуль ESP32-CAM (сверху и снизу):


Вставляем их в корпус:


Места с выступающими компонентами герметизируем термоклеем:



15. Защита от воды

Крепим детали к корпусу термоклеем, если нужно:



Чтобы вода не попала внутрь, место стыка половинок заклеиваем изолентой:


Нарезаем кусочки резины и вставляем в любые зазоры/отверстия, например порт Micro USB сзади и слот SD-карты спереди вверху:


16. Тестирование камеры

Вставляем карту MicroSD в слот камеры, а кусочек резины обратно, включаем камеру переключателем сзади, и находим веб-сервер IP-камеры (см. этапы 5 и 6):



Процедура запуска камеры и поиска её веб-сервера та же, но без нажатия кнопки сброса, ведь снова программировать камеру не нужно:



17. Панель видеопотока

На этой панели есть вся подробная информация о ходе записи, освещённости (в ночное время), свободном месте на карте памяти, а также о дате и о температуре камеры. Здесь даже кнопкой переключается светодиод на плате ESP, отображается движение, обнаруженное ИИ, меняется чувствительность определённых функций и т. д.:



18. Крепление к стене

Можно взять держатель или кронштейн для крепления камеры к стене или любой другой поверхности. Здесь используется комплект креплений для экшн-камеры:




19. Включение камеры через USB

Подключаем источник питания на 5 В к зарядному модулю Micro USB (с кабелем от зарядника телефона) в задней части камеры:


Прикреплённая к стене камера должна работать постоянно:


Так идёт подзарядка батарей и непрерывное питание ESP32-CAM.


Батарея пригодится, если нужно снимать там, где нет розетки. Но на всю ночь её не хватит.

20. Очистка

Заполненную карту microSD извлекаем, подключаем к компьютеру и просматриваем файлы .MJPEG в проигрывателе:


21. Запись


Когда в кадре есть движение, камера записывает, когда его нет — прекращает запись.


22. Заключение


Теперь у вас есть собственная классная WiFi камера слежения:



Она сделает ваш дом ещё безопаснее:


В репозитории на GitHub есть код с расширениями, дополнительной информацией, характеристиками и возможностями ESP32-CAM MJPEG2SD.


Видео

Данная система фото фиксации может использоваться и для помещений где находятся люди, только не забывайте на видном месте разместить табличку: "ведётся видеонаблюдение".

Я использовал её для присмотра за своими домашними котом и кошкой, так как мы поехали отдыхать в Дагестан и на 12 дней оставили питомцев одних. Разумеется ключи от квартиры мы оставили родственникам - так что наших кошек регулярно навещали, кормили, меняли воду, чистили лоток и даже чесали за ушком.
Но ведь все равно по ним скучаешь и волнуешься.

Как это работает?

Таким образом все фотографии которые были сняты при обнаружении движения сохраняются и локально на карте памяти и отправляются на e-mail.

Размер 1-й фотографии всего около 100кб, так что 16Гб флеш карты хватит на долго, и принять такой объем данных даже если в поездке будет плохой Интернет тоже не проблема.

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

Стандартную камеру которой комплектуется плата ESP32 CAM я заменил на широкоугольную. (её можно купить отдельно на Ali) Такая камера даёт больший угол обзора, и делает более качественные снимки.

Устройство выполнено на базе самодельной отладочной платы, для платформы ESP32 Cam (был добавлен датчик движения), Назначение переключателей, режимы работы и программирование данной платформы смотрите в этой статье . Весь код для плат ESP32 CAM и Arduino написан в среде Arduino IDE. Для отправки электронной почты с платы ESP32 CAM использована библиотека почтового клиента ESP_Mail_Client от mobizt

Устройство успешно отработало 12 дней сохранив на карту памяти более 2500 фотографий, (отправив столько-же писем)

Имейте ввиду что большинство примеров, которыми завален Интернет по работе с ESP32 CAM, используют для работы с SD картой аппаратную шину SDMMC, а библиотека почтового клиента от mobizt общается с карточкой с использованием шины SPI так что объединить 2 скетча "в лоб" не получится. В свой код я вносил поправки и сохраняю данные с камеры используя шину SPI, а не SDMMC, впрочем с этим любой ребенок справится - ведь всем известно, что Arduino конструктор для детей.

На создание проекта у меня было всего пару суток - поэтому плата примотана изолентой к цветочному горшку и запитана от 5V блока питания.

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

В конце статьи покажу, как оно снимает! Я был удивлён.

Доступ к камере мы сможем получить из любой точки мира: главное, чтобы был интернет. С ее помощью можно следить за детьми или, например, своим автомобилем во дворе.

У кого на что фантазии хватит на самом деле: по функционалу у нас получается полноценная удаленная камера.

Нам понадобится

  • Ненужный телефон (в нашем случае на Андроид)
  • Зарядка к нему
  • Интернет

Шаг №1

Первым делом подготовим место, где будет установлена наша скрытая камера.

Она есть на этом кадре. Сможете найти?:)

Не буду томить: я провел удлинитель с зарядным устройством на шкаф, а для самого телефона приготовил коробку из-под обуви со штатным отверстием. Увидеть там телефон просто нереально!

Шаг №2

Включаем камеру

Теперь включаем наш раритетный мобильник. Не забываем, что для работы камеры понадобится интернет! Поэтому дома должен быть вай-фай или, например, сим-карта с безлимитным тарифом в телефоне.

Находим в PlayMarket (каталог приложений) нечто под названием WardenCam360 или "Главная безопасность камеры":

Устанавливаем это приложение, запускаем. Можно сказать, что камера уже готова!

Остается выбрать режим использования "Камера" и зайти в приложение через учетную запись Google: надо нажать на большую кнопку с символом гугла.

Камера готова: она уже снимает и уже транслирует изображение в сеть. Установите ее на место, подключите телефон к зарядному устройству. Остается получить к ней доступ!

Внимание: используйте только качественные ЗУ и кабель для зарядки во избежание короткого замыкания и других печальных последствий.

Шаг 3

А теперь мы наблюдаем

Теперь берем в руку ваш актуальный телефон: тот, который всегда с вами. Это и будет наш "монитор".

Устанавливаем то же самое приложение WardenCam360 или "Главная безопасность камеры", запускаем, но на этот раз выбираем в меню "МОНИТОР":

Не забываем, что нам нужно зайти в тот же самый аккаунт, что и на нашей "скрытой камере" и. готово!

Результат

Вот такое изображение выдает камера. Из любой точки планеты можно подключиться и посмотреть, что происходит дома! Кстати, это еще не всё. Обратите внимание на кнопки снизу:

Тут можно удалённо включить фонарик на телефоне или даже говорить через него, как через интерком:)

Это приложение оказалось намного проще других, о которых я писал, и лучше работает на старых телефонах. Так что подойдет всем!

Поставьте лайк, если узнали что-то полезное: это ОЧЕНЬ помогает каналу расти. И подписывайтесь на канал, если хотите видеть больше подобных хитростей. Спасибо и хорошего дня!

Читайте также: