add Russian introduction.

pull/1/head
Paul Philippov 2021-12-24 16:55:17 -05:00
parent 9fc1baf941
commit 54aaee9160
6 changed files with 268 additions and 44 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,81 +1,106 @@
![OpenIPC logo](https://cdn.themactep.com/images/logo_openipc.png "OpenIPC logo")
![OpenIPC logo][logo]
# Заметки от Игоря Залатова
Заметки от Игоря Залатова
=========================
## Вопросы и ответы, коротко о главном
Вопросы и ответы, коротко о главном
-----------------------------------
### Majestic
* Можно-ли вывести данные для настройки автофокуса линз вместо текущего sample_af в стандартный /metrics ?
* Можно-ли вывести данные для настройки автофокуса линз вместо текущего
sample_af в стандартный /metrics ?
* Нет, это отдельный тяжелый алгоритм, его нет смысла запускать просто так.
Сбор предложений по оформлению репозиториев проекта
---------------------------------------------------
## Сбор предложений по оформлению репозиториев проекта
### Предложения от @themactep
### Предложения от @themactep
* Убрать из README файлов исходников ссылки на динамические графические элементы (бейджи).
* Оформить маркдаун разметку файлов для чтения в терминале при ширине поля не более 80 символов.
* Убрать из README файлов исходников ссылки на динамические графические
элементы (бейджи).
* Оформить маркдаун разметку файлов для чтения в терминале при ширине поля
не более 80 символов.
* Бейджи использовать на индивидуальных страницах проектов в вики.
### Предложения из чатов в Telegram
* Переименовать проект microbe-web в более короткое и схожее по смыслу, например amoeba
* Переименовать проект microbe-web в более короткое и схожее по смыслу,
например amoeba.
## Разработка нового Microbe Web UI
Разработка нового Microbe Web UI
--------------------------------
### Цели
* Снизить порог вхождения в проект OpenIPC для тех, кто мало разбирается в SSH и UART консолях
* Снизить порог вхождения в проект OpenIPC для тех, кто мало разбирается
в SSH и UART консолях.
* Предоставить доступ к устройству с любого браузера, включающего мобильные.
### Безопасность
* Сделать постоянно висящее сообщение о необходимости смены дефолтного пароля
* Разделить уровни доступа для пользователей admin (настройка сети, даты, и обновление стабильного релиза) и root (пролный доступ с массой диагностики)
* Сделать постоянно висящее сообщение о необходимости смены дефолтного пароля.
* Разделить уровни доступа для пользователей admin (настройка сети, даты, и
обновление стабильного релиза) и root (пролный доступ с массой диагностики).
## Фичи
Фичи
----
### Сброс конфигурации на заводские настройки
* Способы и варианты сброса ?
* Способы и варианты сброса?
### Поступили предложения
* Создание конструкторов пошивок подобных [wifi-iot](https://wifi-iot.com) и [tasmocompiler](https://github.com/benzino77/tasmocompiler)
* Создание публичных FTP/TFTP/NFS серверов для тестовых сборок компонентов прошивки
* Создание конструкторов прошивок подобных [wifi-iot](https://wifi-iot.com/) и
[tasmocompiler](https://github.com/benzino77/tasmocompiler).
* Создание публичных FTP/TFTP/NFS серверов для тестовых сборок компонентов
прошивки.
Программный переход с openipc-1.0 (OpenWrt) на openipc-2.1 (Buildroot) 👻
-------------------------------------------------------------------------
## Программный переход с openipc-1.0 (OpenWrt) на openipc-2.1 (Buildroot) 👻
Заходим на устройство со старым openipc-1.0 и останавливаем любыми способами
максимум сервисов кроме dropbear. Те сервисы которые "оживают" повторно
останавливаем по примеру snmp.
Заходим на устройство со старым openipc-1.0 и останавливаем любыми способами максимум сервисов кроме dropbear.
Те сервисы которые "оживают" повторно останавливаем по примеру snmp.
`/etc/init.d/snmpd stop; /etc/init.d/snmpd disable`
Меняем при помощи команды **fw_setenv** переменную **bootargs**, добавляя туда в свою очередь переменную **init=/init**.
Для моей платы строка выглядит вот так, но у вас она может быть другой.
Меняем при помощи команды `fw_setenv` переменную `bootargs`, добавляя туда в
свою очередь переменную `init=/init`. Для моей платы строка выглядит вот так,
но у вас она может быть другой:
`fw_setenv bootargs 'console=ttyAMA 0,115200 root=/dev/mtdblock3 init=/init rootfstype=squashfs,jffs2 panic=20 mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'`
Добавляем новую переменную soc при помощи команды **fw_setenv** указав свой процессор
Добавляем новую переменную soc при помощи команды `fw_setenv` указав свой
процессор:
`fw_setenv soc hi3516ev100`
Прошиваем командой flashcp файловую систему, которую предварительно скачали с GitHub аккаунта OpenIPC.
В моём случае это раздел /dev/mtd3 но могут быть отличия на каких-то старых железках
Прошиваем командой `flashcp` файловую систему, которую предварительно скачали
с GitHub аккаунта OpenIPC. В моём случае это раздел `/dev/mtd3`, но могут быть
отличия на каких-то старых железках:
`flashcp -v rootfs.squashfs.hi3516ev100 /dev/mtd3`
Делаем жесткий ребут плате командой
Делаем жесткий ребут плате:
`reboot -f`
Загружается **недо**-openipc-2.1 с получением адреса по DHCP.
После этого выполняем команду для глобального и красивого обновления.
Загружается **недо**-openipc-2.1 с получением адреса по DHCP. После этого
выполняем команду для глобального и красивого обновления:
`sysupgrade -k -r -n`
Профит !
Профит!
## Ростелекомовская камера с NAND
Ростелекомовская камера с NAND
------------------------------
```
setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hinand:512k(boot),512k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
@ -97,14 +122,15 @@ nand erase 0x800000 0x7800000
run uk; run ur; reset
```
Adapting syslogd to work with time zones other than GMT
-------------------------------------------------------
## Adapting syslogd to work with time zones other than GMT
Some syslog() implementations like musl's[1] always send timestamps in UTC.
This change adds a new option to syslogd, -Z, to assume incoming timestamps
Some `syslog()` implementations like musl's[1] always send timestamps in UTC.
This change adds a new option to `syslogd`, `-Z`, to assume incoming timestamps
are always UTC and adjust them to the local timezone (of the syslogd) before
logging.
[sysklogd: add -Z option to adjust message timezones](http://lists.busybox.net/pipermail/busybox/2017-May/085437.html)
[logo]: https://cdn.themactep.com/images/logo_openipc.png

View File

@ -1,11 +1,158 @@
![OpenIPC logo](https://cdn.themactep.com/images/logo_openipc.png "OpenIPC logo")
![OpenIPC logo][logo]
# Русская версия
## Ресурсы для переработки и интеграции
## Прошивка OpenIPC -- что это?
* [https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md](https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md)
Прошивка OpenIPC (OpenIPC firmware) -- это коллективный труд многих
программистов с целью создания отрытого стека для работы на IP камерах.
* [Заметки от Игоря Залатова](https://github.com/OpenIPC/wiki/blob/master/ru/discussion.md)
## Хочу попробовать. Что для этого требуется?
### IP камера.
Естественно, вам понадобится IP камера. Если вы еще не приобрели камеру,
изучите, на какие именно параметры необходимо обратить внимание перед
покупкой. Если у вас есть сомнения в правильности выбора, попросите помощи у
разработчиков в Telegram-канале.
Убедитесь, что ваша IP камера снабжена процессором, поддерживаемым прошивкой
OpenIPC. [Список таких процессоров][socs] пока ограничен, но быстро расширяется.
Самым надежным способом определения типа процессора является частичный разброр
корпуса. Для большинства камер это довольно простая и безболезненная операция:
пара винтов здесь, пара защелок там, и вы получаете доступ к электронике.
Процессор IP камеры (System on a chip, или SoC) -- это, как правило, крупный чип
на обратной стороне от объектива. Лазерная гравировка на поверхности чипа
подскажет вам, с каким именно процессором вы имеете дело.
Сделайте фотографии всех плат, компонентов, маркировок и наклеек. Они еще не
раз понадобятся вам для идентификации устройств без последующего разбора камеры.
Аккуратно снимите объектив (он держится на двух винтах) и сделайте фото матрицы.
Одни и те же процессоры могут комплектоваться разными типами матриц, каждая из
них требует собственного кофигурационного файла.
Сделайте фотографии разъемов, чтобы не перепутать подключения, если вам
понадобится их разъединить, например для удобного доступа к матрице. _Маленькая
хитрость: сделайте маркировку на обеих частях разъема цветным фломастером для
пластика, так вы точно будете знать, какой штекер от какого разъема._
![](../images/camera-connector-colorcode.jpg)
### Знание Linux.
Необходимым условием для установки на вашу IP камеру прошивки OpenIPC является
ваше умение работать в среде Linux. Прошивка OpenIPC построена на базе Linux.
И хотя мы стремимся сделать нашу прошивку максимально простой и понятной обычному
пользователю, проект находится в ранней стадии разработки. А это значит, что
каждый день мы вносим изменения в код, и некоторые из них требуют ручного
вмешательства на уровне системы.
### Паяльник и умение с ним работать.
Самый простой способ получения доступа к загрузчику и операционной системе
камеры -- подключение к её порту UART. Это довольно простая процедура,
требующая недорогого [адаптера][g-usbttl] для серийного подключения с порта USB вашего
компьютера.
Большинство камер идут с нераспаянным, а зачастую и немаркированным портом
UART. Как правило, это группа из трех, реже четырех контактных площадок,
расположенных на самом краю платы.
![](../images/camera-uart.jpg)
Вам нужно будет самостоятельно определить порт на плате, выяснить его
распиновку, и либо распаять на него коннектор, либо припаять провода напрямую
к контактам порта. Так же можно использовать прищепку с пружинными щупами для
подключения адаптера к камере. В любом случае, соединение должно быть надежным,
иначе пропадание контакта во время записи/чтения может обернуться искажением
передаваемых данных, что в свою очередь может обернуться порчей содержимого
флэш-памяти и вывести камеру из строя. И тогда вам потребуется программатор
микросхем и паяльная станция.
**Прежде чем подключать адартер к камере, убедитесь, что переключатель уровня
рабочего напряжения на адартере установлен в 3.3 вольта!** Иногда для этого
достаточно выставить положение джампера, иногда надо перепаять ключ на
контактной площадке. Некоторые адартеры работают только с напряжением 5 вольт.
В этом случае вам понадобится дополнительный [конвертер][g-3.3ttl] уровня сигналов TTL,
включенный между адартером и портом UART камеры.
Один из нужных вам контактов порта UART -- GND. Его легко определить, проверив
мультиметром неразрывность цепи на любой другой известный контакт GND. Нашли?
Тогда остаётся найти ещё два контакта -- RX и TX, они используются для
получения и передачи данных, соответственно. Соедините GND камеры с контактом
GND адаптера, подключите USB разъём адаптера к порту USB вашего компьютера,
запустите на компьютере программу подключения к серийному порту и установите
соединение с адаптером. Используйте скорость подключения 115200 bps. После
этого соедините контакт RX адаптера с предполагаемым контактом TX порта UART.
Подайте питание на камеру. Если вы угадали правильно, на экране появится лог
загрузки. Если же экран остался чистым -- повторите процедуру с другим
свободным контактом UART. После того, как вы определили порт RX, подключите
порт TX адаптера к оставшемуся свободному контакту порта UART. Попробуйте
прервать загрузку камеры нажатием комбинации клавиш на клавиатуре компьютера.
Если все получилось -- поздравляем, вы получили доступ к камере.
Четвертым контактом порта UART может быть VCC. Он используется для подачи
напряжения во время прошивки камеры на заводе. Мы настоятельно советуем
__не подключать питание камеры через VCC порт UART__, а использовать для
этого штатный разъем питания.
В критических ситуациях хорошим подспорьем будет умение работать с паяльником
и программатором микросхем. Паяльная станция также может пригодиться вам для
замены некоторых компонентов с целью достижения лучшей совместимостью камеры
с нашей прошивкой: например для замены модуля WiFi или микросхемы флэш-памяти.
### TFTP сервер.
Мы советуем вам настроить в своей сети сервер TFTP. Его удобно использовать для
загрузки в камеру файлов новой прошивки, для сохранения дампа оригинальной,
поставляемой вместе с камерой, прошивки, а так же для хранения самописанных
часто используемых скриптов -- таким образом вы сможете быстро восстановить
привычную рабочую среду после очередной перепрошивки с очисткой системы.
**Обязательно сохраните оригинальную прошивку!** Она позволит вам вернуть
камеру в исходное состояние, если вас что-то не устроит в прошивке OpenIPC.
Вы так же сможете использовать её для сравнительных тестов, если решите принять
участие в разработке нашей прошивки.
### Любопытство, кураж и терпение.
Следует понимать, что на нынешней стадии разработки прошивка OpenIPC -- это ещё
не готовый продукт, а R&D, НИОКР. Как правило, производители камер не раскрывают
свои секреты, не дают пароли для доступа к штатным прошивкам, даже не делятся
документацией со сторонними разработчиками. Поэтому мы экспериментируем, пробуем
разные подходы, изучаем и анализируем накопленные знания. Это даёт свои плоды,
но так же иногда приводит к сбоям. Если что-то хорошо и стабильно работает
сегодня вечером, то оно может быть сломано завтра утром, и снова починено к
следующему вечеру.
Устанавливая прошивку OpenIPC сегодня, вы должны отдавать себе отчет, что это
путь к прекрасному открытому будущему, но мы не обещаем, что именно сейчас
дорога будет легкой.
OpenIPC -- это увлекательный эксперимент, в котором вы можете принять участие.
Помогайте нам, и однажды OpenIPC станет самой стабильной, гибкой и открытой
прошивкой для всех IP камер.
## Что можно прочитать про прошивку OpenIPC?
* [Часто задаваемые вопросы и ответы на них][faq1]
* [Заметки от Игоря Залатова][faq2]
## Установка прошивки OpenIPC.
Итак, если вы всё ещё хотите попробовать прошивку OpenIPC на своей камере,
вам поможет [пошаговая инструкция](/ru/installation.md).
[logo]: https://cdn.themactep.com/images/logo_openipc.png
[socs]: https://github.com/OpenIPC/firmware/wiki/supported_devices
[faq1]: https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md
[faq2]: https://github.com/OpenIPC/wiki/blob/master/ru/discussion.md
[g-usbttl]: https://google.com/search?q=ftdi+usb+ttl
[g-3.3ttl]: https://google.com/search?q=logic+level+converter+3.3v+5v

51
ru/installation.md 100644
View File

@ -0,0 +1,51 @@
![OpenIPC logo][logo]
Установка OpenIPC. Шаг за шагом.
================================
### Шаг 1. Определите тип процессора.
![SoC Marking](../images/soc-hisilicon.jpg)
ример маркировки процессора Hisilicon Hi3518EV100. Значимые символы обведены жёлтым._
### Шаг 2. Скачайте прошивку.
Найдите свой тип процессора на странице <https://github.com/OpenIPC/firmware> и убедитесь, что для него есть готовая прошивка.
Если вам повезло, и такая прошивка существует -- скачайте её на свой компьютер.
### Шаг 3. Установите и настройте сервер TFTP.
TFTP расшифровывается как Trivial File Transer Protocol. Как следует уже из
названия, это очень простой протокол, предназначенный для передачи файлов по
компьютерной сети. TFTP не поддерживает аутентификацию. Его код настолько прост
и компактен, что TFTP клиенты используются в сетевых и встроенных системах для
получения загрузочных образов с сетевых серверов.
#### Если на вашем компьютере Linux
Если на вашем компьютере установлен Linux, то здесь всё просто. Скомилированный
и готовый к использованию пакет сервера TFTP уже лежит в репозитарии, и вам
только надо установить его и настроить:
```
sudo apt install tftpd-hpa
sudo sed -i '/^TFTP_OPTIONS/s/"$/ --create"/' /etc/default/tftpd-hpa
sudo systemctl restart tftpd-hpa.service
```
Теперь у вас есть свой TFTP сервер, который работает с файлами в директории
`/srv/tftp`. Разверните архив с прошивкой, скачаный в п.2 в эту директорию.
```
sudo tar -C /srv/tftp/ -xvf openipc.*.tgz
```
_...to be continued._
** ПРОВЕРИТЬ ВСЕ КОМАНДЫ НА ЖИВОЙ СИСТЕМЕ!***
[logo]: https://cdn.themactep.com/images/logo_openipc.png