Dongcheng realtek настройка камеры
Этой камере для работы не требуется ничего кроме питания.
В неё вставляются симкарта и карта памяти. Встроенный 4G-роутер обеспечивает её интернетом (а заодно может раздавать интернет на другие камеры, смартфоны и любые гаджеты), встроенный регистратор записывает ролики по движению или непрерывно. Видео с камеры можно смотреть в мобильном приложении через облачный сервис.
Я давно хотел изучить камеры со встроенными модемами и для знакомства выбрал самую популярную на Aliexpress модель. Сейчас она стоит $66.70, я покупал её во время распродажи с использованием купонов за $48.94.
Благодаря герметичному металлическому корпусу, камеру можно использовать как в помещении, так и на улице. По кругу вокруг объектива расположены десять инфракрасных светодиодов и датчик освещённости, благодаря чему камера «видит» даже в полной темноте.
В комплект входит блок питания 12V 2A (хотя камера потребляет гораздо меньше) с европейской вилкой.
Также в комплекте инструкция, шестигранный ключ и набор саморезов и дюбелей.
Внизу у камеры есть лючок, за которым располагаются разъёмы для NanoSim и MicroSD, на самом лючке динамик и микрофон.
У камеры две съёмных антенны: если смотреть сзади, правая антенна 4G, левая — раздача Wi-Fi (если Wi-Fi для других устройств не нужен, эту антенну можно не ставить).
Из камеры выходит кабель с тремя разъёмами и кнопкой сброса, но два разъёма «тюльпан» не используются. Фактически, при работе камеры будет задействован единственный разъём питания.
Начальная настройка настолько проста, что с ней легко справится даже человек, далёкий от техники:
- Вставляем в камеру симкарту и карту памяти, включаем камеру.
- Устанавливаем на смартфон приложение CamHi (регистрация не нужна), даём ему все разрешения.
- Нажимаем сверху «Доб.кам.» и «скан. QR код, доб. UID». Наводим камеру смартфона на QR-код на этикетке сбоку камеры или на коробке.
В режиме просмотра всё просто, я не буду описывать все пункты, можно разобраться «методом тыка».
Рядом с камерой в списке есть шестерёнка, при нажатии которой открывается меню настроек камеры. Там нужно первым делом установить пароль (если не хотите, чтобы посторонние могли смотреть картину с вашей камеры), дальше нужно включить детектор движения в пункте «Настр. трев». В «Действ. при тревоге» нужно включить запись на SD (верхний движок «Уведомления тревоги» включает push на смартфон при каждой детекции движения, нижний «Действие при тревоге» включает проигрывание камерой звуков при детекции движения (собачий лай, сирена, свой звук, записываемый с микрофона смартфона). Если вы хотите, чтобы камера записывала видео только при детекции движения, нужно зайти в следующий пункт «Расписание записи» и выключить запись (когда движок «Вкл. запись» включён, запись на карту ведётся непрерывно по расписанию). Все остальные пункты меню настроек можно не трогать.
Вроде бы всё настроили и всё работает. Но есть ещё один момент. У всех таких камер пароль Wi-Fi по умолчанию «123456789». Каждый, кто про это знает, обнаружив сеть с именем, начинающимся на «MIFI_» может к ней подключиться и израсходовать весь ваш интернет-трафик. В отзывах на Aliexpres пишут, что пароль изменить нельзя. Конечно же изменить его можно и нужно:
- Подключаемся смартфоном или ноутбуком к Wi-Fi камеры: имя сети MIFI_**** (вместо звёздочек будут буквы и цифры), пароль 123456789.
- Запускаем браузер и заходим по адресу 192.168.100.1, появляется окно ввода пароля, вводим admin и попадаем в интерфейс встроенного роутера.
- Нажимаем «Wi-Fi Setings», попадаем на экран настроек Wi-Fi, меняем там пароль и нажимаем «Apply».
На работу камеры это никак не повлияет, так как её модуль подключён к роутеру проводами, а не по Wi-Fi. При желании Wi-Fi можно вообще выключить, тогда для его включения нужно будет нажать кнопку Reset на плате роутера (до неё можно дотянуться, не разбирая камеру).
Кстати, по адресу 192.168.100.100 можно попасть в web-интерфейс самой камеры (логин admin, пароль admin), но там ничего интересного нет.
Для проверки качества съёмки и записи звука я установил камеру на даче. Вот так она снимает днём.
Расскажу о том, как устроена камера. В ней целых четыре платы: ИК-подстветки, модуля камеры, регистратора, модема-роутера. Болтающийся провод с никуда не подключённым разъёмом идёт от «тюльпанов» на кабеле (я уже писал выше, что они не используются).
Модуль камеры построен на довольно редком процессоре Ingenic T21. Продавец утверждает, что в модуле применён сенсор SONY, но я очень в этом сомневаюсь. Каких-либо обозначений на плате модуля я не нашёл.
Плата регистратора, в которую вставляется MicroSD карта, называется PTZ_38_3.2.
И последняя плата — 4G-модем-роутер ALK_AF790_V2.0.
У роутера три антенных выхода. К выходам 4G и Wi-Fi подключены две внешние антенны, а к выходу 3G подключена вон та странная чёрная штука с дырками. Похоже, это плёночная антенна от какого-то мобильного телефона. В камере она размещена внутри корпуса в верхней его части.
Такие платы роутера продаются на Aliexpress и отдельно, стоят около $36.
Камера может питаться от любого источника питания 12 вольт или от сети через штатный адаптер. Я измерил потребление камеры от 12 В. В обычном режиме наблюдения камера потребляет 140-220 мА (максимум, когда идёт просмотр через мобильное приложение). В ночном режиме около 400 мА.
Если камера не используется для раздачи Wi-Fi другим устройствам, ей достаточно очень небольшого количества интернет трафика. Когда нет просмотра через приложение, потребление трафика минимально, во время просмотра трафик возрастает, но дешёвого тарифа для умных устройств (100 или 200 Мб в месяц) ей вполне хватит и подключать платную опцию «видеонаблюдение» не потребуется.
Такая камера станет отличным и недорогим решением там, где нет интернета и хватит единственной камеры (например в гараже). Впрочем, с помощью неё можно строить и беспроводное видеонаблюдение с несколькими камерами (тогда остальные камеры могут быть только с Wi-Fi и они будут подключаться к этой камере, как к роутеру). Можно даже попробовать сделать на базе этой камеры систему видеонаблюдения с внешним регистратором, подключив к нему по Wi-Fi эту и другие камеры, а источником интернета будет сама камера.
А ещё Wi-Fi, раздаваемый такой камерой, может пригодиться для умных устройств (автоматики, сигнализации, мониторинга температуры).
P.S. Я специально не даю ссылок и не указываю название камеры. Её клонов под разными названиями на Али много, найдёте без проблем.
Наверное, ни для кого не секрет, что в последнее время облачные сервисы видеонаблюдения набирают популярность. И понятно почему так происходит, видео — это "тяжелый" контент, для хранения которого необходима инфраструктура и большие объемы дискового хранилища. Использование локальной системы видеонаблюдения требует средств на эксплуатацию и поддержку, как в случае организации, использующей сотни камер наблюдения, так и в случае индивидуального пользователя с несколькими камерами.
Облачные системы видеонаблюдения решают эту задачу — предоставляя клиентам уже существующую инфраструктуру хранения и обработки видео. Клиенту облачного видеонаблюдения достаточно просто подключить камеру к интернету и привязать к своему аккаунту в облаке.
Есть несколько технологических способов подключения камер к облаку. Бесспорно, наиболее удобный и дешевый способ — камера напрямую подключается и работает с облаком, без участия дополнительного оборудования типа сервера или регистратора.
Для этого необходимо, чтобы на камере был установлен модуль ПО работающий с облаком. Однако, если говорить про дешевые камеры, то у них очень ограничены аппаратные ресурсы, которые почти на 100% занимает родная прошивка вендора камеры, а ресурсов необходимых для облачного плагина — нет. Этой проблеме разработчики из ivideon посвятили статью, в которой говорится почему они не могут установить плагин на дешевые камеры. Как итог, минимальная цена камеры — 5000р ($80 долларов) и миллионы потраченных денег на оборудование.
Мы эту проблему успешно решили. Если интересно как — велком под кат
В 2016 году мы стартовали разработку платформы облачного видеонаблюдения для Ростелекома.
В части ПО камер на первом этапе пошли "стандартным" для таких задач путем: разработали свой плагин, который устанавливается в штатную прошивку камеры вендора и работает с нашим облаком. Однако, стоит отметить, что при проектировании мы использовали наиболее легковесные и эффективные решения (например, plain C реализацию protobuf, libev, mbedtls и полностью отказались от удобных, но тяжелых библиотек типа boost)
Сейчас на рынке IP камер нет универсальных решений по интеграции: у каждого вендора свой способ установки плагина, свой набор API для работы прошивки и уникальный механизм обновления.
Это означает, что для каждого вендора камер необходимо индивидуально разрабатывать объемный слой интеграционного ПО. И на момент старта разработки целесообразно работать только с 1-ним вендором, что бы сосредоточить усилия команды на разработке логики работы с облаком.
Первым вендором был выбран Hikvision — один из мировых лидеров на рынке камер, предоставляющий хорошо документированное API и грамотную инженерную техническую поддержку.
На камерах Hikvision мы и запустили наш первый пилотный проект облачное видеонаблюдение Видеокомфорт.
Практически сразу после запуска наши пользователи стали задавать вопросы о возможности подключении к сервису более дешевых камер других производителей.
Вариант с реализацией слоя интеграции под каждого вендора я отбросил практически сразу — как плохо масштабируемый и предъявляющий к железу камеры серьезные технические требования. Стоимость камеры, удовлетворяющий таким требованиям на входе: ~60-70$
Поэтому, я принял решение копать глубже — сделать полностью свою прошивку для камер любых вендоров. Этот подход существенно снижает требования к аппаратным ресурсам камеры — т.к. слой работы с облаком на порядок более эффективно интегрирован с video application, и в прошивке нет лишнего не используемого жирка.
И что важно, при работе с камерой на низком уровне есть возможность использовать аппаратный AES, который шифрует данные, не создавая дополнительной нагрузки на маломощный CPU.
В тот момент у нас не было вообще ничего. Вообще ничего.
Практически все вендоры не были готовы работать с нами на таком низком уровне. Информации о схемотехнике и компонентах — нет, официальных SDK чипсетов и документации сенсоров — нет.
Технической поддержки так же нет.
Ответы на все вопросы приходилось получать реверс инжинирингом — методом проб и ошибок. Но мы справились.
Первыми моделями камер, на которых мы набивали шишки стали камеры Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link и несколько сверх дешевых безымянных китайских камер.
Камеры на чипсете Hisilicon 3518E. Аппаратные характеристики камер такие:
Xiaomi Yi Ants | Noname | |
---|---|---|
SoC | Hisilicon 3518E | Hisilicon 3518E |
RAM | 64MB | 64MB |
FLASH | 16MB | 8MB |
WiFi | mt7601/bcm43143 | - |
Sensor | ov9732 (720p) | ov9712 (720p) |
Ethernet | - | + |
MicroSD | + | + |
Microphone | + | + |
Speaker | + | + |
IRLed | + | + |
IRCut | + | + |
С них мы начинали.
Сейчас поддерживаем чипсеты Hisilicon 3516/3518, а так же Ambarella S2L/S2LM. Количество моделей камер — десятки.
Информационная безопасность
Ни для кого не секрет, что в наше время информационная безопасность — это важнейший аспект любого IoT устройства, в том числе и камеры. По интернету гуляют ботнеты типа Mirai, поражающие миллионы камер со стандартными прошивками от вендоров. При всем уважении к вендорам камер, не могу не отметить, что в стандартных прошивках заложено много функционала, который не востребован для работы с облаком, однако содержит в себе много уязвимостей, которыми пользуются ботнеты.
Поэтому, весь не используемый функционал в нашей прошивке отключен, все tcp/udp порты закрыты и при обновлении прошивки проверяется цифровая подпись ПО.
И кроме этого, прошивка проходит регулярное тестирование в лаборатории информационной безопасности.
Сейчас наша прошивка активно используется в проектах по видеонаблюдению. Пожалуй самый масштабный из них — трансляция голосования в день выборов Президента Российской Федерации.
В проекте было задействовано более 70 тысяч камер с нашей прошивкой, которые были установлены по избирательным участкам нашей страны.
Решив ряд сложных, а местами, даже на тот момент практически невозможных задач, мы, конечно, получили огромное удовлетворение как инженеры, но кроме этого, и сэкономили миллионы долларов на закупке камер. И в данном случае, экономия — это не только слова и теоретические расчёты, а результаты уже случившегося тендера на закупку оборудования. Соответственно, если говорить про облачное видеонаблюдение: есть два подхода — стратегически заложиться на низкоуровневую экспертизу и разработку, получив на выходе огромную экономию на оборудовании или использовать дорогое оборудование, которое, если смотреть именно на потребительские характеристики, практически ничем не отличается от аналогичного дешевого.
Почему стратегически важно принять решение относительно выбора подхода к способу интеграции как можно раньше? При разработке плагина, разработчики закладываются на те или иные технологии (библиотеки, протоколы, стандарты). И если выбран набор технологий только под дорогое оборудование, то в дальнейшем попытка перехода на дешевые камеры с большой вероятностью, как минимум, займет безумно большое время или вообще потерпит неудачу и произойдет возврат к дорогому оборудованию.
Пошаговая инструкция по подключению камер видеонаблюдения к приложению iCSee. Приложение доступно как для Android и iOS систем.
Рассмотрим пример подключения смарт камеры Anbiux A8B через приложение iCSee на смартфоне Android.
Где скачать CamHI на русском языке?
Как всегда ниже можно увидеть ссылки на приложение с официальных магазинов ios и android:
3. Заполнение параметров в коде
Открываем загруженный код камеры слежения ESP32-CAM_MJPEG2SD:
Раскомментируем строку CAMERA_MODEL_AI_THINKER, если у вас эта плата:
Вводим необходимые параметры, такие как модель камеры, а также учётные данные WiFi:
Дополнительно вводим данные FTP, чтобы получать записанные видео удалённо:
Подключение через интернет по Wi-Fi через AP режим
1. Отключите мобильный интернет на вашем смартфоне.
2. Убедитесь что у вас включен роутер.
3. Вставьте Micro SD карту (не обязательно).
4. Подайте на камеру питание.
6. Откройте приложение iCSee и выберите “Other distribution networks and adding methods“
7. В открывшемся списке выберете “AP сеть“.
8. Приложение должно отобразить камеру в следующем окне (название может отличаться). Нажмите по названию камеры.
9. После того как вы тапнули по названию камеры отобразится пароль. Запомните его и нажмите “Подтвердить“
10. Сейчас вас должно перекинуть в настройки Wi-Fi. Если этого не произошло то перейдите в них самостоятельно. Найдите сеть с названием вашей камеры и подключитесь к ней, указав пароль из предыдущего шага.
11. Вернитесь в приложение iCSee и выберете Wi-Fi сеть вашего роутера указав к ней пароль. Нажмите “Подтвердить“.
13. Перейдите в настройки Wi-Fi и подключитесь к вашему роутеру.
14. Вернитесь в приложение и дождитесь подключения вашей камеры. Подключение завершено!
Содержание
18. Крепление к стене
Можно взять держатель или кронштейн для крепления камеры к стене или любой другой поверхности. Здесь используется комплект креплений для экшн-камеры:
19. Включение камеры через USB
Подключаем источник питания на 5 В к зарядному модулю Micro USB (с кабелем от зарядника телефона) в задней части камеры:
Прикреплённая к стене камера должна работать постоянно:
Так идёт подзарядка батарей и непрерывное питание ESP32-CAM.
Батарея пригодится, если нужно снимать там, где нет розетки. Но на всю ночь её не хватит.
17. Панель видеопотока
На этой панели есть вся подробная информация о ходе записи, освещённости (в ночное время), свободном месте на карте памяти, а также о дате и о температуре камеры. Здесь даже кнопкой переключается светодиод на плате ESP, отображается движение, обнаруженное ИИ, меняется чувствительность определённых функций и т. д.:
Чтобы менять разрешение записи (не только просмотра), открываем вкладку разрешения и выбираем более низкое или даже более высокое (наибольшее — 1600 × 1200). Во вкладке Get Folder («Получить папку») просматриваем записанные видео, нажимая кнопку Start Stream:
Video application
Наиболее сложная и ресурсоемкая часть прошивки — приложение, которое обеспечивает видео-аудио захват, кодирование видео, настраивает параметры картинки, реализует видео-аналитики, например, детекторы движения или звука, управляет PTZ и отвечает за переключения дневного и ночного режимов.
Важная, я бы даже сказал ключевая особенность — каким образом видео приложение взаимодействует с облачным плагином.
В традиционных решениях 'прошивка вендора + облачный плагин', которые не могут работать на дешевом железе, видео внутри камеры передается по протоколу RTSP — а это огромный оверхед: копирование и передача данных через socket, лишние syscall-ы.
Мы в этом месте используем механизм shared memory — видео не копируется и не пересылается через socket между компонентами ПО камеры, тем самым оптимально и бережно используя скромные аппаратные возможности камеры.
Ядро linux и rootfs
На камерах используется ядро Linux, входящее в состав SDK чипа, обычно это не самые свежие ядра из ветки 3.x, поэтому часто приходится сталкиваться с тем, что драйвера дополнительного оборудования не совместимы с используемым ядром, и нам приходится их бэк-портировать под ядро камеры.
Другая проблема — это размер ядра. Когда размер FLASH всего 8MB, то каждый байт на счет и наша задача — аккуратно отключить все не используемые функции ядра, что бы сократить размер до минимума.
Rootfs — это базовая файловая система. В нее включены busybox , драйвера wifi модуля, набор стандартных системных библиотек, типа libld и libc , а так же ПО нашей разработки, отвечающее за логику управления светодиодами, управление сетевыми подключениями и за обновление прошивки.
Корневая файловая система подключена к ядру как initramfs и в результате сборки мы получаем один файл uImage , в котором есть и ядро и rootfs.
2. ESP32.json
Прежде чем переходить к коду, добавим во вкладку Preferences («Предпочтения») в Arduino IDE ссылку ESP32 .json, дающую доступ к примерам кода, библиотекам и так далее:
1. Программирование ESP32-CAM
Загружаем код ESP32-CAM_MJPEG2SD в ESP32-CAM (спасибо пользователю s60sc на GitHub: он выложил последнюю версию кода). Всю информацию о коде смотрите по ссылке.
Чтобы запрограммировать модуль камеры, соединяем его с конвертером FTDI, работающим с USB и последовательным портом, как показано на схеме выше. Здесь подключаем пин GPIO 0 к GND, что позволяет программировать ESP. Нажимаем кнопку сброса на задней части платы модуля камеры, чтобы включить режим флеш-памяти перед загрузкой.
Установка приложения
Установите приложение iCSee. Сделать это можно несколькими способами.
Запустите приложение iCSee.
2. Введите свой адрес электронной почты и нажмите “Следующий шаг“. Туда придет письмо с кодом подтверждения.
3. Введите код подтверждения из письма. нажмите “Следующий шаг“.
5. Ведите ваши имя и пароль созданные ранее и войдите в свой аккаунт.
16. Тестирование камеры
Вставляем карту MicroSD в слот камеры, а кусочек резины обратно, включаем камеру переключателем сзади, и находим веб-сервер IP-камеры (см. этапы 5 и 6):
Процедура запуска камеры и поиска её веб-сервера та же, но без нажатия кнопки сброса, ведь снова программировать камеру не нужно:
В меню веб-сервера камеры нажимаем кнопку Start Stream («Начать трансляцию») и получаем видеопоток в реальном времени:
CI/CD система сборки и деплоя прошивок
Для сборки прошивок мы используем gitlab CI, в котором автоматически собираются прошивки под все поддерживаемые модели камер, после сборки прошивки автоматически деплоятся на сервис обновления ПО камер.
Из сервиса обновления ПО прошивки доставляются на тестовые камеры наших QA, а по завершению всех этапов тестирования и на камеры пользователей.
Подключение через интернет по Wi-Fi
1. Отключите мобильный интернет на вашем смартфоне.
2. Убедитесь что у вас включен роутер и телефон подключен к сети Wi-Fi.
3. Вставьте Micro SD карту (не обязательно).
4. Подайте на камеру питание.
7. Введите данные вашей сети Wi-Fi и нажмите “Подтвердить”
8. Поднесите ваш телефон с QR кодом напротив объектива камеры на расстоянии 15-25 см, пока камера не считает QR код.
9. Задайте пароль к вашей камере (4-16 символов).
10. Назовите вашу камеру (можно выбрать из готовых вариантов) и нажмите “Сохранить“
11. Выберете один из двух режимов работы камеры:
- Нормальный (Запись всегда)
- Тревога (Запись будет происходить только при срабатывании режима “тревога”)
Если Micro SD карта не установлена приложение выдаст предупреждение.
Ваша камера подключена !
11. Схема соединений
По этой простой схеме подключений должна получиться домашняя камера слежения со всем её железом.
5. Подготовка ESP32-CAM и получение IP-адреса
Обязательно отсоединяем провод от IO0 к GND:
И нажимаем кнопку сброса:
Вставляем в слот модуля карту MicroSD. Минимум 4 Гб:
И получаем уникальный IP-адрес с монитора порта. Нужная кнопка в правом верхнем углу Arduino IDE.
8. Подключение платы для внешней антенны
Выпаиваем резистор 0 Ом, соединяющий ESP с его антенной на плате:
И припаиваем его, подключая ESP к порту внешней антенны:
Этот этап нужен, чтобы увеличить диапазон для подключения собственной антенны.
20. Очистка
Заполненную карту microSD извлекаем, подключаем к компьютеру и просматриваем файлы .MJPEG в проигрывателе:
14. Установка в корпус
Клеим двусторонний скотч или ленту на батареи и модуль ESP32-CAM (сверху и снизу):
Вставляем их в корпус:
Места с выступающими компонентами герметизируем термоклеем:
Android
Для андроид настройка cam hi происходит по аналогии, для любителей смотреть видео ниже представлена видеоинструкция.
Инструкция для IOS и Android
После подключения ip видеокамеры к wi-fi роутеру, запускаем приложение. На главном экране жмем «Add Camera» для добавления нового устройства. Так же на главном экране можно просмотреть фотографии с видеокамеры во вкладке «Picture» и видеозапись во вкладке «Video».
В новом меню добавления следует вписать следующие данные:
Name — Любое произвольное название ( Можно не изменять)
User Name — Логин видеокамеры (По умолчанию admin)
UID — Уникальный серийный номер Вашей камеры ( Можно посмотреть на web интерфейсе устройства или добавить его при сканирование QR кода)
Password — Пароль видеокамеры ( По умолчанию admin)
Scan QR Сode add UID — Добавление устройства при помощи QR кода на наклейке с задней стороне видеокамеры.
Search camera from LAN — Поиск видеокамеры внутри wi-fi cети, при условии, что камера к ней подключена.
Wireless Installation — Подключение приложения к wi-fi для дальнейшей синхронизации с камерой.
7. Сборка камеры
Для корпуса выбираем контейнер или материал, с которым легко работать. С вставкой железа в сплющенную трубу из ПВХ (показана ниже) возникли проблемы, поэтому используем цилиндрический пластиковый контейнер. Подробнее об этом читайте далее.
На картинке не совсем те детали, что использовались.
Для сборки понадобится
плата для заряда батарей TP4056 1S;
Li-Ion батарея 18650 3,7 В;
ползунковый мини-переключатель SPDP или тумблер 3 A;
красный светодиод 3 мм;
резистор мощностью 1/4 Вт 220 Ом;
провод диаметром 0,51 мм;
крепёжный винт GoPro.
uboot
uboot — это начальный загрузчик, после включения питания загружается первым, инициализирует оборудование и загружает ядро linux.
Скрипт загрузки камеры достаточно тривиален:
Из особенностей — два раза вызывается bootm , подробнее об этом чуть позже, когда дойдем до подсистемы обновления.
Обратите внимание на строчку mem=38M . Да, да, это не опечатка — ядру Linux и всем-всем-всем приложениям доступно всего лишь 38 мегабайт оперативной памяти.
Так же рядом с uboot находится специальный блок, называемый reg_info , в котором находится низкоуровневый скрипт инициализации DDR и ряда системных регистров SoC. Содержимое reg_info зависит от модели камеры, и если оно будет не корректным, то камера даже не сможет загрузить uboot, а зависнет на самом раннем этапе загрузки.
Первое время, когда мы работали без поддержки вендоров, мы просто копировали этот блок из оригинальной прошивки камеры.
Прямое подключение через AP режим (без интернета)
1. Вставьте Micro SD карту в вашу камеру (не обязательно).
2. Подайте на камеру питание.
4. Откройте приложение iCSee и выберите “Other distribution networks and adding methods“
5. В открывшемся списке выберете “Direct connection“.
6. Приложение должно отобразить камеру в следующем окне (название может отличаться). Нажмите по названию камеры.
7. После того как вы тапнули по названию камеры отобразится пароль. Запомните его и нажмите “Подтвердить“
8. Сейчас вас должно перекинуть в настройки Wi-Fi. Если этого не произошло то перейдите в них самостоятельно. Найдите сеть с названием вашей камеры и подключитесь к ней, указав пароль из предыдущего шага.
9. Вернитесь обратно в приложение iCSee и дождитесь подключения камеры к вашему смартфону. Подключение завершено!
К старту курса по разработке на С++ рассказываем, как самостоятельно собрать 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.
10. Работа с соединениями компонентов
Выпаиваем штыревые разъёмы ESP32-CAM с обеих сторон и удлиняем их, припаивая обратно с проводами.
Добавляем индикатор питания (красный светодиод):
Чтобы не запутаться, подбираем цвета проводов по их назначению:
6. Веб-сервер ESP32-CAM
После ввода IP-адреса в веб-браузер при включённой камере появится такая страница:
Нажав кнопку Start Stream («Начать трансляцию»), начинаем просмотр видеопотока:
Последняя версия кода даёт возможность начинать и останавливать запись вручную. Ранее запись запускалась лишь при обнаружении движения.
15. Защита от воды
Крепим детали к корпусу термоклеем, если нужно:
Чтобы вода не попала внутрь, место стыка половинок заклеиваем изолентой:
Нарезаем кусочки резины и вставляем в любые зазоры/отверстия, например порт Micro USB сзади и слот SD-карты спереди вверху:
21. Запись
В левой части экрана телефона отображается состояние Recording («Запись»):
Когда в кадре есть движение, камера записывает, когда его нет — прекращает запись.
22. Заключение
Теперь у вас есть собственная классная WiFi камера слежения:
Она сделает ваш дом ещё безопаснее:
В репозитории на GitHub есть код с расширениями, дополнительной информацией, характеристиками и возможностями ESP32-CAM MJPEG2SD.
Видео
Сегодня мы рассмотрим приложение для удаленного p2p видеонаблюдения CamHi на русском языке для ios и android. Данный программный клиент работает только с p2p сервисом через уникальные серийные номера, о подключении через статические адреса или ddns cтоит вообще забыть. Да и надобность других способов подключения к CamHi отсутствует, ведь к такой программе, как правило подключают мультимедийные видеокамеры в небольших количествах, а значит исходящей скорости в 1mb\s достаточно для полноценной работы одной видеокамеры.
4. Загрузка кода на плату
Выбираем плату, скорость загрузки, частоту и режим флеш-памяти, схему разделов, основной уровень отладки и COM-порт:
Нажимаем Upload («Загрузить»). Загрузка на плату небыстрая: чуть подождём:
9. Подключение источника питания ESP32-CAM
Подключаем к батарее зарядную плату TP4056 4,2 В (соединения B+ и B– от платы к батарее показаны выше):
К клеммам батареи подключаем входы платы рядом с портом Micro USB:
Подсистема обновления
Предмет отдельной гордости — подсистема fault-tolerant онлайн обновления прошивки.
Поясню проблематику. Обновление прошивки — это технически не атомарная операция и в случае если посередине обновления произойдет сбой питания, то на флеш памяти будет часть "недозаписанной" новой прошивки. Если не предпринять специальных мер, то камера после этого станет "кирпичом", который нужно нести в сервисный центр.
Мы справились и с этой проблемой. Даже если камеру выключить в момент обновления, она автоматически и без участия пользователя скачает прошивку из облака и восстановит работу.
Разберем технику подробнее:
Наиболее уязвимый момент — перезапись раздела с ядром Linux и корневой файловой системой. В случае, если один из этих компонентов окажется поврежденным, то камера вообще не загрузиться дальше начального загрузчика uboot, который не умеет скачивать прошивку из облака.
Значит, нам нужно обеспечить гарантию наличия на камере работоспособного ядра и rootfs в любой момент процесса обновления. Казалось бы самым простым решением было бы постоянно хранить на флеш памяти две копии ядра с rootfs и в случае повреждения основного ядра загружать его из резервной копии.
Годное решение — однако, ядро с rootfs занимает около 3.5MB и для постоянной резервной копии нужно выделить 3.5MB. На самых дешевых камерах просто нет столько свободного места под backup ядра.
Поэтому для backup ядра во время обновления прошивки используем application партицию.
А для выбора нужной партиции с ядром как раз и используется две команды bootm в uboot — в начале пытаемся загрузить основное ядро и если оно повреждено, то резервное.
Это гарантирует, что в любой момент времени на камере будет корректное ядро с rootfs, и она сможет загрузиться и восстановить прошивку.
13. Подготовка железа к установке в корпус
Отмечаем и сверлим отверстия для выступающих из корпуса частей:
Выбираем корпус для камеры, состоящий из двух частей: с таким легко работать. Лучше распечатать его на 3D-принтере.
12. Выбор батарей и корпуса
Сначала был плоский Li-Ion аккумулятор, я заменил его на батареи, более компактные для нового, цилиндрического корпуса:
Чтобы камера работала хорошо, лучше использовать батарею ёмкостью более 2000 мА·ч:
В итоге параллельно использовали 2 батареи 18650 по 3,7 В и 2600 мА·ч, что дало в сумме 5200 мА·ч. Приличная ёмкость.
Читайте также: