Внимание, на данный момент это просто рабочие заметки, а НЕ полная инструкция к действию !
Не пишу, что камера Dahua DH-IPC1230SP, потому что это не совсем так. Производит её, конечно, Dahua, но модель явно какая-то другая. Подтверждением этому является то, что прошивки от оригинальных соответствующих моделей Dahua не подходят для этого кадавра. К счастью, аппаратная платформа поддерживается проектом OpenIPC.
- Загрузчик OpenIPC.
- Переключение режима день/ночь по датчику освещённости.
- Изображение есть, но картинка оставляет желать лучшего и решения пока нет.
- Процессор hi3516cv300
- Память nand
- Сенсор ov2735
Качаем с GitHub архивы с загрузчиком и образами ядра и файловой системы для имеющегося процессора.
Загрузчик кладём в папку tftp-сервера как есть, а образы ядра и файловой системы нужно предварительно распаковать. Для прошивки понадобится подключиться через UART, что соответственно, потребует адаптер USB-TTL, коннектор к нему и программу-терминал.
- Подключаем коннектор к камере и адаптеру.
- Подключаем адаптер к компьютеру - появится виртуальный COM-порт. Исхожу из того, что драйверы уже установлены.
- Запускаем терминал.
- Подаём питание на камеру и, как только побежит лог загрузки, нажимаем любую клавишу для остановки запуска и попадания в загрузчик.
Для имеющейся платформы есть универсальный загрузчик OpenIPC, что нанмого упрощает процесс прошивки.
mw.b 0x82000000 0xff 0x100000
tftp 0x82000000 u-boot-hi3516cv300-universal.bin
nand erase 0x0 0x100000
nand write.i 0x82000000 0x0 0x100000
reset
Если всё прошло успешно, после перезапуска системы нужно будет снова нажимать любую клавишу для остановки и попадания уже в загрузчик OpenIPC. В загрузчике присутствуют необходимые макросы, поэтому всё стало намного проще. Сначала переключим загрузчик на тип памяти NAND командой setnand:
run setnand
После перезагрузки, переменные окружения и разметка будут соответствовать памяти NAND.
setargs=setenv bootargs mem=${osmem} console=ttyAMA0,115200 panic=20 init=/init root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 mtdparts=${mtdparts}
bootargs=mem=32M console=ttyAMA0,115200 panic=20 init=/init root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 mtdparts=hinand:256k(boot),768k(wtf),3072k(kernel),-(ubi)
Меняем serverip на адрес своего компьютера, задаём свой сенсор, MAC-адрес и сохраняем:
setenv serverip 192.168.1.128
setenv sensor ov2735_i2c
setenv ethaddr 00:12:34:56:78:90 //MAC-адрес с наклейки камеры
saveenv
Благодаря расово верному загрузчику прошивка делается не просто, а очень просто:
run uknand
run urnand
reset
Не прерываем загрузку бута и наблюдаем лог запуска системы. Если всё прошло штатно и в использованной сборке ничего не отломано, то через несколько секунд увидим приглашение входа. Логинимся под пользователем root без пароля и вводим команду ifconfig eth0, чтобы увидеть полученный IP-адрес. Веб-интерфейс по умолчанию доступен по порту 85. Логин: admin, пароль: 12345. При первом входе будет предложено задать новый сложный пароль, который станет также и паролем root при входе в консоль через UART или SSH. Трансляция первого потока работает сразу без дополнительных настроек.
В Preview только слайд-шоу, а если хочется видеопотока, то проще всего увидеть его в VLC, выбрав в меню пункт Открыть URL и введя одну из строк:
- rtsp://admin:password@ip-address:554/stream=0 — первый поток
- rtsp://admin:password@ip-address:554/stream=1 — второй поток
где: password — ваш пароль, ip-address — адрес камеры.
При наступлении тёмного времени суток или выключении источников света, как правило, видеокамеры переходят в ночной режим. Происходит перевод изображения в чёрно-белый режим, отключается ИК-фильтр и включается ИК-подсветка. В обратной ситуации производятся обратные действия. Датчик освещённости присутствует, поэтому достаточно просто прописать правильные GPIO в соответствующих полях раздела Majestic -> Night Mode:
- Включить Enable night mode
- Задать GPIO pin of signal from IR sensor: 64
- Задать GPIO pin1 of signal for IRcut filter: 59
- Задать GPIO pin2 of signal for IRcut filter: 58
- Задать GPIO pin to turn on night mode illumination: 53