Запуск OpenIPC на камере HiWatch DS-I122

OpenIPC

Если родная прошивка по каким-то причинам не устраивает или просто хочется поэкспериментировать, то почему бы не прошить OpenIPC на эту довольно распространённую модель?

Есть все основания полагать, что данная инструкция применима и к другим моделям, построенным на той же платформе, а именно – DS-I120, DS-I114, DS-2CD2VC, DS-2CD3VC и т.п.

Параметры камеры

  • процессор: hi3518cv100
  • сенсор: ar0130
  • ПЗУ: 16Mb
  • ОЗУ: 128Mb

Возможности

• Разрешение 1МП (1280×960)
• Веб-интерфейс
• Протоколы: RTSP, ONVIF, JPEG, MJPEG
• Облако IP EYE (бесплатная трансляция)
• Переключение режима день/ночь

Материалы

Подготовка

Заходим на openipc.org и жмём на кнопку Precompiled binary files – попадаем в раздел Supported Hardware by SoC и там выбираем раздел HiSilicon. Далее ищем своё процессор hi3518cv100 и жмём на иконку Запуск OpenIPC на камере HiWatch DS-I122 и видим страницу генератора инструкции.

Запуск OpenIPC на камере HiWatch DS-I122

В поле Camera MAC address лучше вбить адрес с наклейки камеры, чтобы всё было по фен-шую, но можно и щёлкнуть ссылку генерации случайного адреса.

В поле Camera IP address должен быть адрес камеры, используемый для прошивки. Он должен находиться в одной подсети с адресом из поля TFTP server IP address, который обычно является адресом компьютера, с которого производятся манипуляции. Поскольку чаще всего экспериментирую с Хиковскими продуктами, то у моего компа адрес 192.168.1.128 – его и задаю в качестве адреса сервера.

Размер памяти выставляем NOR16M, тип прошивки не трогаем и оставляем Lite и сетевой интерфейс тоже оставляем Camera only has Ethernet network, а про слот для карты памяти указываем, что он есть – Camera has an SD card slot и давим кнопку Generate Installation Guide.

Запуск OpenIPC на камере HiWatch DS-I122

Качаем дамп по ссылке Download OpenIPC Firmware (Lite) image. Это полный дамп – загрузчик, ядро и файловая система. Достаточно прошить его, выполнить пару команд в загрузчике и система готова к работе.

Правильный загрузчик

Если прокрутить предыдущую страницу ниже, то там будут ещё две ссылки – на загрузчик и на Linux отдельно. Можно прошить загрузчик и уже из него прошить Linux, но мы поступим по-другому. Проблема заключается в том, что в родном загрузчике камеры нет команды tftp, поэтому и сделать в нём что-то полезное не выйдет. Загрузим загрузчик OpenIPC в оперативку, передадим ему управление и уже из него прошьём полный образ.

Программа HyperTerminal умеет передавать данные через UART по протоколу Kermit. Для этого в консоли нужно выполнить команду loadb и в меню программы выбрать Transfer->Send File. В появившемся окне выбираем файл образа загрузчика OpenIPC, протокол Kermit и давим кнопку Send – увидим окно прогресса передачи данных. После завершения передачи образ будет лежать в оперативке по адресу 0x81000000.

Даём команду go 0x81000000 для передачи управления новому загрузчику и готовимся нажать клавишу для остановки запуска. Если всё прошло штатно – мы в загрузчике OpenIPC, но проблема в том, что сеть в нём отсутствует. Для её появления надо выполнить команды setenv phyaddru 3 и setenv phyaddrd 1 для инициализации интерфейса.

Бэкап

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

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.128
mw.b 0x82000000 0xff 0x1000000
sf probe 0
sf read 0x82000000 0x0 0x1000000
tftp 0x82000000 backup.bin 0x1000000

Прошивка

Заливаем в камеру скачанный дамп OpenIPC. Если делался бэкап, то правильные адреса уже установлены и эту операцию повторять ни к чему, хотя можно.

setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.128
saveenv
mw.b 0x82000000 0xff 0x1000000
tftpboot 0x82000000 openipc-hi3518cv100-lite-16mb.bin
sf probe 0
sf erase 0x0 0x1000000
sf write 0x82000000 0x0 0x1000000
reset

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

run setnor16m
setenv ethaddr 56:8c:6c:c8:14:56
setenv phyaddru 3
setenv extras hieth.phyaddru=3 hieth.mdioifu=0
saveenv
reset

Первый запуск

Прошивка и первичное конфигурирование завершены и можно входить в систему. Видео работает сразу и это можно увидеть в Preview или VLC.

А вот переключение день/ночь не работает. И тут есть одна странность – датчик освещённости на камере вроде бы есть, но почему-то даже на стоковой прошивке при его перекрытии ничего не происходит, а переключение происходит только если закрыть сам объектив. Ни в стоковой, ни в РТ-шной прошивке следов GPIO датчика обнаружено не было, соответственно, либо это какой-то другой датчик, либо он фейковый. Отсюда следует, что переключать режим нужно скриптом.

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

Даже для ручного переключения нужно настроить GPIO ИК-фильтра и подсветки. Это можно сделать либо в консоли, либо в веб-интерфейсе.

cli -s .nightMode.enabled true
cli -s .nightMode.irCutPin1 6
cli -s .nightMode.irCutPin2 5
cli -s .nightMode.backlightPin 42

Облако IPEye

Для удалённого просмотра картинки с камеры можно воспользоваться облаком IPEye. Можно и записывать в него, но это стоит денег, а трансляция бесплатна. Включается поддержка IPEye в настройках стримера, а именно в разделе Majestic->IPEYE Protocol. Дальше нужно зайти на сайт, зарегистрироваться там и добавить камеру по её MAC-адресу.

Не так много моделей камер пробовал тестировать на совместимость с OpenIPC, но эта – первая, с которой практически не было танцев с бубном. Всё заработало сразу!

Оцените статью
( 3 оценки, среднее 3.33 из 5 )
МихаТроник
Добавить комментарий