mirror of https://github.com/OpenIPC/wiki.git
				
				
				
			
		
			
				
	
	
		
			101 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Markdown
		
	
	
| # 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**, жмём на иконку  и видим страницу генератора инструкции.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| В поле **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**.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| Качаем дамп по ссылке [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** для инициализации интерфейса.
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| ## Бэкап
 | ||
| Теперь сеть поднята и нужные команды тоже есть. Если хочется обезопасить себя и сделать простым и лёгким возврат к текущей прошивке, то имеет смысл сделать бэкап.
 | ||
| Это полезно и для экспериментов с разными прошивками, т.к. дамп включает в себя всё содержимое ПЗУ, т.е. не только загрузчик и систему, но и все настройки, скрипты и т.д.
 | ||
| ```
 | ||
| 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-адресу**.
 |