Настройка камеры vstarcam c7824wip
Содержание:
- OnePlus
- ОС Android 12 вышла. Какие устройства получат апдейт?
- Google Pixel
- Samsung
- Xiaomi, Redmi, POCO
- realme
- OnePlus
- Video application
- Особенности установки, подключения и настройки камеры VStarcam C7824WIP
- Ядро linux и rootfs
- uboot
- Работа с приложением для VStarcam C7824WIP: настройка параметров работы
- Xiaomi, Redmi, POCO
- Информационная безопасность
- Заключение
- Технические характеристики камеры VStarcam C7824WIP
- Подсистема обновления
OnePlus
Что касается OnePlus, обновление до OxygenOS 12 тоже увидит свет раньше обычного. Теперь эту надстройку объединили с ColorOS от OPPO, что должно помочь Android 12 распространяться на гаджеты OnePlus быстрее. Бета-тестирование OxygenOS 12 стартовало 4 октября, а стабильную сборку линейка OnePlus 9 получит к концу декабря.
Согласно инсайдам, до этого момента в октябре может выйти телефон OnePlus 9RT, который будет поставляться с актуальной операционкой. Официально информация пока не подтверждена. По имеющимся данным, Android 12 получат следующие модели:
-
OnePlus 7 / 7 Pro / 7 Pro 5G
-
OnePlus 7T/ OnePlus 7T Pro / 7T Pro McLaren
-
OnePlus 8 / 8 Pro
-
OnePlus 8T
-
OnePlus 9 / 9 Pro
-
OnePlus 9R
-
OnePlus Nord
-
OnePlus Nord CE
-
OnePlus Nord 2
-
OnePlus Nord N200
ОС Android 12 вышла. Какие устройства получат апдейт?
На прошлой неделе состоялся релиз финальной версии ОС Android 12. Перечисляем, когда и на какие смартфоны придёт обновление.
Google Pixel
Традиционно первыми актуальную версию «зелёного робота» получат фирменные устройства Google. Обычно апдейт прилетал на аппараты Pixel в день выхода операционки. Но в этом году компании требуется больше времени на доработку специальной модификации Android 12 с эксклюзивными фишками для Pixel. Так что пока опубликован лишь исходный код AOSP-сборки системы.
Это позволяет вендорам уже сейчас начать разработку своих оболочек поверх ОС. В то же время, по словам Google, обновление по воздуху разойдётся на телефоны Pixel в ближайшие недели.
Android 12 получат следующие модели:
-
Pixel 3 и 3 XL
-
Pixel 3a и 3a XL
-
Pixel 4 и 4 XL
-
Pixel 4a и 4a 5G
-
Pixel 5
-
Pixel 5a
-
Pixel 6
Samsung
Сторонним производителям понадобится больше времени, чтобы прокачать свои гаджеты до свежей версии «зелёного робота». Samsung уже начала бета-тестирование фирменной надстройки One UI 4.0, которая основана на Android 12.
Если судить по прошлогоднему расписанию, обновление появится в декабре 2021 года. Первой его получит линейка Galaxy S21. В январе Android 12 прилетит на флагманы вроде Note 20 и Galaxy S20, а также на смартфоны А-серии. Для более старых устройств апдейты выкатят в первой половине 2022-го. Вот список аппаратов:
-
Galaxy S21 / S21 Plus / S21 Ultra
-
Galaxy S20 / S20 Plus / S20 Ultra / S20 FE
-
Galaxy S10 / S10 Plus / S10 Ultra / S10 Lite / S10e
-
Galaxy Note 20 / S20 Ultra
-
Galaxy Note 10 / Note 10 Plus | Note 10 Lite
-
Galaxy Z Fold3
-
Galaxy Z Flip3
-
Galaxy Z Fold2
-
Galaxy Z Flip
-
Galaxy Fold
-
Galaxy A72 / Galaxy A52s / Galaxy A52 / Galaxy A42 / Galaxy A32 / Galaxy A22 / Galaxy A12 / Galaxy A02s / Galaxy A02
-
Galaxy A71 / Galaxy A51 / Galaxy A41 / Galaxy A31 / Galaxy A21s / Galaxy A21 / Galaxy A11
-
Galaxy A03s
-
Galaxy A Quantum
-
Galaxy M62 / Galaxy M42 / Galaxy M32 / Galaxy M12 / Galaxy M02s / Galaxy M02
-
Galaxy M51 / Galaxy M31s / Galaxy M31 Prime / Galaxy M21s / Galaxy M21 / Galaxy M11 / Galaxy M01s / Galaxy M01
-
Galaxy F62 / Galaxy F52 5G / Galaxy F22 / Galaxy F12 / Galaxy F02s / Galaxy F41
-
Galaxy XCover 5 / Galaxy XCover Pro
Xiaomi, Redmi, POCO
Сейчас несколько смартфонов китайского техногиганта уже совместимы с Android 12 Beta: это Xiaomi Mi 11, Mi 11 Ultra, Mi 11i, и Mi 11 Pro. Правда, пока речь о чистой Android, в то время как MIUI под 12-ю версию операционки ещё в разработке.
Актуальную MIUI 12.5 на основе Android 11 получило множество устройств, так что стоит рассчитывать на длинный список. Ведь в последнее время смартфоны брендов Xiaomi, POCO и Redmi обновляются всё дольше. Android 12 придёт на следующие гаджеты:
-
Xiaomi Mi 11 / Mi 11 Pro / Mi 11 Ultra / Mi 11i / Mi 11 Lite
-
Xiaomi Mi 11T / Mi 11T Pro
-
Xiaomi Mi Mix 4 / Mi Mix Fold
-
Xiaomi Mi 10 / Mi 10 Pro / Mi 10 Youth / Mi 10i / Mi 10s
-
Xiaomi Mi 10T / Mi 10T Pro / Mi 10T Lite
-
Redmi 10 / Redmi 10 Prime
-
Redmi Note 10 series
-
Redmi Note 9 series
-
Redmi Note 8 2021
-
Redmi K40 series
-
Redmi K30 series
-
Redmi 10X series
-
POCO F3
-
POCO F2 Pro
-
POCO X3 / X3 Pro
-
POCO X2
-
POCO M3 / M3 Pro
-
POCO M2 / M2 Pro
-
POCO C3
realme
Один из брендов холдинга BBK обещает оперативно выпустить обновление до Android 12 для своих устройств. Компания realme запланировала выход оболочки realme UI 3.0 на 13 октября. Сперва апдейт появится на моделях семейства realme GT. Также ожидается, что грядущий смартфон GT Neo 2 будет поставляться с двенадцатой версией ПО из коробки.
OnePlus
Что касается OnePlus, обновление до OxygenOS 12 тоже увидит свет раньше обычного. Теперь эту надстройку объединили с ColorOS от OPPO, что должно помочь Android 12 распространяться на гаджеты OnePlus быстрее. Бета-тестирование OxygenOS 12 стартовало 4 октября, а стабильную сборку линейка OnePlus 9 получит к концу декабря.
Согласно инсайдам, до этого момента в октябре может выйти телефон OnePlus 9RT, который будет поставляться с актуальной операционкой. Официально информация пока не подтверждена. По имеющимся данным, Android 12 получат следующие модели:
-
OnePlus 7 / 7 Pro / 7 Pro 5G
-
OnePlus 7T/ OnePlus 7T Pro / 7T Pro McLaren
-
OnePlus 8 / 8 Pro
-
OnePlus 8T
-
OnePlus 9 / 9 Pro
-
OnePlus 9R
-
OnePlus Nord
-
OnePlus Nord CE
-
OnePlus Nord 2
-
OnePlus Nord N200
Video application
Наиболее сложная и ресурсоемкая часть прошивки — приложение, которое обеспечивает видео-аудио захват, кодирование видео, настраивает параметры картинки, реализует видео-аналитики, например, детекторы движения или звука, управляет PTZ и отвечает за переключения дневного и ночного режимов.
Важная, я бы даже сказал ключевая особенность — каким образом видео приложение взаимодействует с облачным плагином.
В традиционных решениях ‘прошивка вендора + облачный плагин’, которые не могут работать на дешевом железе, видео внутри камеры передается по протоколу RTSP — а это огромный оверхед: копирование и передача данных через socket, лишние syscall-ы.
Мы в этом месте используем механизм shared memory — видео не копируется и не пересылается через socket между компонентами ПО камеры, тем самым оптимально и бережно используя скромные аппаратные возможности камеры.
Особенности установки, подключения и настройки камеры VStarcam C7824WIP
Устанавливать камеру VStarcam C7824WIP можно на столе, шкафу или прикрепить с помощью кронштейна (входит в комплект) на стене. После подключения устройства к сети требуется выполнить настройку параметров ее работы.
Наличие RJ-45 разъема позволяет подсоединить к камере сетевой кабель и установить правила функционирования устройства. Настройку можно проводить с помощью клиентской программы VSTARCAM. После входа в клиент нужно провести такие операции:
- добавить камеру (нажать соответствующую кнопку в верхнем правом углу и найти устройство по UID идентификатору);
- установить настройки записи видеокамеры (перейти к ней и нажать на значок с шестеренкой, далее перейти к вкладке «Запись»): постоянная или в указанные интервалы времени;
- настроить датчик движения (перейти к вкладке «Параметры камеры», нажать кнопку «Получить»): указать требуемые параметры для его срабатывания;
- настроить тревожное срабатывание (выбрать верхнюю вкладку «Тревога» и нажать кнопку «Разрешить тревогу»): выбрать условия и время, при которых должна срабатывать тревога и определить последующие действия камеры.
Поиск видеозаписи по датам или по тревожному срабатыванию осуществляется в отдельной форме. Для перехода к ней в основном меню клиентской программы нужно выбрать кнопку «Видео» (в нижнем правом углу). Далее нажать кнопку «Искать» и просмотреть все отснятые материалы или только те записи, которые были созданные в определенные временные отрезки.
Для последующей работы камеры с Wi-Fi необходимо провести следующую настройку:
- Зайти в клиентскую программу VSTARCAM и выбрать «Настройки камеры» (правой кнопкой мышь нажать на значок шестеренки).
- В новом окне ввести UID идентификатор. Ввести пароль клиента. Нажать кнопку «Установить Wi-Fi».
- Нажать «Поиск сигнала». Из полученного списка устройств выбрать свой Wi-Fi роутер, нажать кнопку «Установить».
- Ввести пароль для Wi-Fi. Дождаться появления окна с сообщением о подключении и извлечь сетевой кабель.
После выключения или переноса устройства сохраненные параметры сразу загрузятся, и камера будет работать в заданном режиме – по Wi-Fi.
Ядро linux и rootfs
На камерах используется ядро Linux, входящее в состав SDK чипа, обычно это не самые свежие ядра из ветки 3.x, поэтому часто приходится сталкиваться с тем, что драйвера дополнительного оборудования не совместимы с используемым ядром, и нам приходится их бэк-портировать под ядро камеры.
Другая проблема — это размер ядра. Когда размер FLASH всего 8MB, то каждый байт на счет и наша задача — аккуратно отключить все не используемые функции ядра, что бы сократить размер до минимума.
Rootfs — это базовая файловая система. В нее включены , драйвера wifi модуля, набор стандартных системных библиотек, типа и , а так же ПО нашей разработки, отвечающее за логику управления светодиодами, управление сетевыми подключениями и за обновление прошивки.
Корневая файловая система подключена к ядру как initramfs и в результате сборки мы получаем один файл , в котором есть и ядро и rootfs.
uboot
uboot — это начальный загрузчик, после включения питания загружается первым, инициализирует оборудование и загружает ядро linux.
Скрипт загрузки камеры достаточно тривиален:
Из особенностей — два раза вызывается , подробнее об этом чуть позже, когда дойдем до подсистемы обновления.
Обратите внимание на строчку. Да, да, это не опечатка — ядру Linux и всем-всем-всем приложениям доступно всего лишь 38 мегабайт оперативной памяти
Так же рядом с uboot находится специальный блок, называемый , в котором находится низкоуровневый скрипт инициализации DDR и ряда системных регистров SoC. Содержимое зависит от модели камеры, и если оно будет не корректным, то камера даже не сможет загрузить uboot, а зависнет на самом раннем этапе загрузки.
Первое время, когда мы работали без поддержки вендоров, мы просто копировали этот блок из оригинальной прошивки камеры.
Работа с приложением для VStarcam C7824WIP: настройка параметров работы
Владельцы Apple и Android устройств могут установить специальное приложение, позволяющее в любое время и в любой точке следить за работой камеры. Для его настройки потребуется:
- Для первоначальной настройки необходимо скачать, установить и запустить приложение Eye4 (для Android). В дальнейшем для более комфортного использования камеры я советую загрузить приложение VsCam.
- Добавить камеру (самая последняя кнопка основного меню).
- Перейти к подключенной камере (выбрать ее в списке камер).
- Изменить настройки камеры (верхняя кнопка Setting): яркость, контрастность, угол наклона по горизонтали, вертикали, работа ИК подсветки (вкл/выкл).
Дополнительно пользователь может удаленно просмотреть через меню камеры отснятые материалы (сохраненные стандартно или записанные по тревожному срабатыванию). А в собственном меню камеры с помощью крайней кнопки в верхнем правом углу (закругленная стрелка) можно выбрать 5 предустановленных зон, между которыми пользователь сможет переключаться для осмотра территории.
Примеры изображений с камеры
Следующие три кадра были сделаны в помещении. Освещение было не самое лучшее, тем не менее камера показала хорошее и достаточно чёткое изображение.
Съёмка при нормальном освещении
Съёмка при тусклом освещении
Съёмка в темноте
А эти фотографии сделаны на улице в темное и светлое время суток.
Съёмка улицы в дневное время
Съёмка улицы в ночное время
Xiaomi, Redmi, POCO
Сейчас несколько смартфонов китайского техногиганта уже совместимы с Android 12 Beta: это Xiaomi Mi 11, Mi 11 Ultra, Mi 11i, и Mi 11 Pro. Правда, пока речь о чистой Android, в то время как MIUI под 12-ю версию операционки ещё в разработке.
Актуальную MIUI 12.5 на основе Android 11 получило множество устройств, так что стоит рассчитывать на длинный список. Ведь в последнее время смартфоны брендов Xiaomi, POCO и Redmi обновляются всё дольше. Android 12 придёт на следующие гаджеты:
-
Xiaomi Mi 11 / Mi 11 Pro / Mi 11 Ultra / Mi 11i / Mi 11 Lite
-
Xiaomi Mi 11T / Mi 11T Pro
-
Xiaomi Mi Mix 4 / Mi Mix Fold
-
Xiaomi Mi 10 / Mi 10 Pro / Mi 10 Youth / Mi 10i / Mi 10s
-
Xiaomi Mi 10T / Mi 10T Pro / Mi 10T Lite
-
Redmi 10 / Redmi 10 Prime
-
Redmi Note 10 series
-
Redmi Note 9 series
-
Redmi Note 8 2021
-
Redmi K40 series
-
Redmi K30 series
-
Redmi 10X series
-
POCO F3
-
POCO F2 Pro
-
POCO X3 / X3 Pro
-
POCO X2
-
POCO M3 / M3 Pro
-
POCO M2 / M2 Pro
-
POCO C3
Информационная безопасность
Ни для кого не секрет, что в наше время информационная безопасность — это важнейший аспект любого IoT устройства, в том числе и камеры. По интернету гуляют ботнеты типа Mirai, поражающие миллионы камер со стандартными прошивками от вендоров. При всем уважении к вендорам камер, не могу не отметить, что в стандартных прошивках заложено много функционала, который не востребован для работы с облаком, однако содержит в себе много уязвимостей, которыми пользуются ботнеты.
Поэтому, весь не используемый функционал в нашей прошивке отключен, все tcp/udp порты закрыты и при обновлении прошивки проверяется цифровая подпись ПО.
И кроме этого, прошивка проходит регулярное тестирование в лаборатории информационной безопасности.
Заключение
Сейчас наша прошивка активно используется в проектах по видеонаблюдению. Пожалуй самый масштабный из них — трансляция голосования в день выборов Президента Российской Федерации.
В проекте было задействовано более 70 тысяч камер с нашей прошивкой, которые были установлены по избирательным участкам нашей страны.
Решив ряд сложных, а местами, даже на тот момент практически невозможных задач, мы, конечно, получили огромное удовлетворение как инженеры, но кроме этого, и сэкономили миллионы долларов на закупке камер. И в данном случае, экономия — это не только слова и теоретические расчёты, а результаты уже случившегося тендера на закупку оборудования. Соответственно, если говорить про облачное видеонаблюдение: есть два подхода — стратегически заложиться на низкоуровневую экспертизу и разработку, получив на выходе огромную экономию на оборудовании или использовать дорогое оборудование, которое, если смотреть именно на потребительские характеристики, практически ничем не отличается от аналогичного дешевого.
Почему стратегически важно принять решение относительно выбора подхода к способу интеграции как можно раньше? При разработке плагина, разработчики закладываются на те или иные технологии (библиотеки, протоколы, стандарты). И если выбран набор технологий только под дорогое оборудование, то в дальнейшем попытка перехода на дешевые камеры с большой вероятностью, как минимум, займет безумно большое время или вообще потерпит неудачу и произойдет возврат к дорогому оборудованию
Технические характеристики камеры VStarcam C7824WIP
Запись видео на камере производится циклически, поэтому при недостатке места на носителе старые данные будут заменены новыми. Собственной памяти у VStarcam C7824WIP нет, но доступна установка карт памяти MicroSD до 64 Гб. К другим важным характеристикам модели относятся:
- углы обзора: 355 (по горизонтали) и 110 (по вертикали);
- максимальное разрешение съемки: 1280 x 720 пикс;
- ИК подсветка: до 10 м;
- детектор движения: присутствует;
- микрофон: канал 48 dB;
- динамик: 8Ω1W.
Питание модели осуществляется от источника в 5В, поэтому для его подключения к обычной однофазной сети используется специальный блок-адаптер (входит в комплект).
Подсистема обновления
Предмет отдельной гордости — подсистема fault-tolerant онлайн обновления прошивки.
Поясню проблематику. Обновление прошивки — это технически не атомарная операция и в случае если посередине обновления произойдет сбой питания, то на флеш памяти будет часть «недозаписанной» новой прошивки. Если не предпринять специальных мер, то камера после этого станет «кирпичом», который нужно нести в сервисный центр.
Мы справились и с этой проблемой. Даже если камеру выключить в момент обновления, она автоматически и без участия пользователя скачает прошивку из облака и восстановит работу.
Разберем технику подробнее:
Наиболее уязвимый момент — перезапись раздела с ядром Linux и корневой файловой системой. В случае, если один из этих компонентов окажется поврежденным, то камера вообще не загрузиться дальше начального загрузчика uboot, который не умеет скачивать прошивку из облака.
Значит, нам нужно обеспечить гарантию наличия на камере работоспособного ядра и rootfs в любой момент процесса обновления. Казалось бы самым простым решением было бы постоянно хранить на флеш памяти две копии ядра с rootfs и в случае повреждения основного ядра загружать его из резервной копии.
Годное решение — однако, ядро с rootfs занимает около 3.5MB и для постоянной резервной копии нужно выделить 3.5MB. На самых дешевых камерах просто нет столько свободного места под backup ядра.
Поэтому для backup ядра во время обновления прошивки используем application партицию.
А для выбора нужной партиции с ядром как раз и используется две команды в uboot — в начале пытаемся загрузить основное ядро и если оно повреждено, то резервное.
Это гарантирует, что в любой момент времени на камере будет корректное ядро с rootfs, и она сможет загрузиться и восстановить прошивку.