wiki/ru/hiwatch-ds-i122.md

101 lines
9.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# OpenIPC Wiki
[Оглавление](../README.md)
Ростелеком HiWatch DS-I122
--------------
**Есть все основания полагать, что данная инструкция применима и к другим моделям, построенным на той же платформе, а именно DS-I120, DS-I114, DS-2CD2VC, DS-2CD3VC и т.п.**
## Платформа
- процессор: hi3518cv100
- сенсор: ar0130
- ПЗУ: 16Mb
- ОЗУ: 128Mb
## Подготовка
Заходим на [openipc.org](https://openipc.org/) и жмём на кнопку [Precompiled binary files](https://openipc.org/supported-hardware/featured) попадаем в раздел [Supported Hardware by SoC](https://openipc.org/supported-hardware/featured) и там выбираем раздел **HiSilicon**.
Далее ищем свой процессор **hi3518cv100**, жмём на иконку ![](https://mixatronik.ru/wp-content/uploads/2023/05/2023-05-03_16-11-18.png) и видим страницу генератора инструкции.
![](https://mixatronik.ru/wp-content/uploads/2023/05/2023-05-03_17-20-50.png)
В поле **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**.
![](https://mixatronik.ru/wp-content/uploads/2023/05/2023-05-03_17-21-19.png)
Качаем дамп по ссылке [Download OpenIPC Firmware (Lite) image](https://openipc.org/cameras/vendors/hisilicon/socs/hi3518cv100/download_full_image?flash_size=16&flash_type=nor&fw_release=lite).
Это полный дамп загрузчик, ядро и файловая система. Достаточно прошить его, выполнить пару команд в загрузчике и система готова к работе.
## Правильный загрузчик
Если прокрутить предыдущую страницу ниже, то там будут ещё две ссылки на загрузчик и на Linux отдельно. Нужно прошить загрузчик и уже из него прошить Linux, но в родном хиковском загрузчике средств для этого нет.
Загрузим загрузчик OpenIPC в оперативку, передадим ему управление и уже из него прошьём полный образ.
Программа **HyperTerminal** умеет передавать данные через **UART** по протоколу **Kermit**. Для этого в консоли нужно выполнить команду **loadb** и в меню программы выбрать **Transfer->Send File**.
В появившемся окне выбираем файл образа загрузчика **OpenIPC**, протокол **Kermit** и давим кнопку **Send** увидим окно прогресса передачи данных.
После завершения передачи образ будет лежать в оперативке по адресу **0x81000000**.
Даём команду **go 0x81000000** для передачи управления новому загрузчику и готовимся нажать клавишу для остановки запуска. Если всё прошло штатно мы в загрузчике **OpenIPC**,
но проблема в том, что сеть в нём отсутствует. Для её появления надо выполнить команды **setenv phyaddru 3** и **setenv phyaddrd 1** для инициализации интерфейса.
![](https://mixatronik.ru/wp-content/uploads/2023/07/2023-04-29_16-55-24.png)
## Бэкап
Теперь сеть поднята и нужные команды тоже есть. Если хочется обезопасить себя и сделать простым и лёгким возврат к текущей прошивке, то имеет смысл сделать бэкап.
Это полезно и для экспериментов с разными прошивками, т.к. дамп включает в себя всё содержимое ПЗУ, т.е. не только загрузчик и систему, но и все настройки, скрипты и т.д.
```
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**.
![](https://mixatronik.ru/wp-content/uploads/2023/07/2023-04-24_20-03-55.png)
А вот переключение день/ночь не работает. И тут есть одна странность датчик освещённости на камере вроде бы есть, но почему-то даже на стоковой прошивке при его перекрытии ничего не происходит,
а переключение происходит только если закрыть сам объектив. Ни в стоковой, ни в РТ-шной прошивке следов **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-адресу**.