mirror of https://github.com/OpenIPC/wiki.git
add Russian introduction.
parent
9fc1baf941
commit
54aaee9160
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 |
106
ru/discussion.md
106
ru/discussion.md
|
@ -1,81 +1,106 @@
|
|||

|
||||
![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
|
||||
|
|
155
ru/index.md
155
ru/index.md
|
@ -1,11 +1,158 @@
|
|||

|
||||
![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) -- это, как правило, крупный чип
|
||||
на обратной стороне от объектива. Лазерная гравировка на поверхности чипа
|
||||
подскажет вам, с каким именно процессором вы имеете дело.
|
||||
|
||||
Сделайте фотографии всех плат, компонентов, маркировок и наклеек. Они еще не
|
||||
раз понадобятся вам для идентификации устройств без последующего разбора камеры.
|
||||
|
||||
Аккуратно снимите объектив (он держится на двух винтах) и сделайте фото матрицы.
|
||||
Одни и те же процессоры могут комплектоваться разными типами матриц, каждая из
|
||||
них требует собственного кофигурационного файла.
|
||||
|
||||
Сделайте фотографии разъемов, чтобы не перепутать подключения, если вам
|
||||
понадобится их разъединить, например для удобного доступа к матрице. _Маленькая
|
||||
хитрость: сделайте маркировку на обеих частях разъема цветным фломастером для
|
||||
пластика, так вы точно будете знать, какой штекер от какого разъема._
|
||||
|
||||

|
||||
|
||||
### Знание Linux.
|
||||
|
||||
Необходимым условием для установки на вашу IP камеру прошивки OpenIPC является
|
||||
ваше умение работать в среде Linux. Прошивка OpenIPC построена на базе Linux.
|
||||
И хотя мы стремимся сделать нашу прошивку максимально простой и понятной обычному
|
||||
пользователю, проект находится в ранней стадии разработки. А это значит, что
|
||||
каждый день мы вносим изменения в код, и некоторые из них требуют ручного
|
||||
вмешательства на уровне системы.
|
||||
|
||||
### Паяльник и умение с ним работать.
|
||||
|
||||
Самый простой способ получения доступа к загрузчику и операционной системе
|
||||
камеры -- подключение к её порту UART. Это довольно простая процедура,
|
||||
требующая недорогого [адаптера][g-usbttl] для серийного подключения с порта USB вашего
|
||||
компьютера.
|
||||
|
||||
Большинство камер идут с нераспаянным, а зачастую и немаркированным портом
|
||||
UART. Как правило, это группа из трех, реже четырех контактных площадок,
|
||||
расположенных на самом краю платы.
|
||||
|
||||

|
||||
|
||||
Вам нужно будет самостоятельно определить порт на плате, выяснить его
|
||||
распиновку, и либо распаять на него коннектор, либо припаять провода напрямую
|
||||
к контактам порта. Так же можно использовать прищепку с пружинными щупами для
|
||||
подключения адаптера к камере. В любом случае, соединение должно быть надежным,
|
||||
иначе пропадание контакта во время записи/чтения может обернуться искажением
|
||||
передаваемых данных, что в свою очередь может обернуться порчей содержимого
|
||||
флэш-памяти и вывести камеру из строя. И тогда вам потребуется программатор
|
||||
микросхем и паяльная станция.
|
||||
|
||||
**Прежде чем подключать адартер к камере, убедитесь, что переключатель уровня
|
||||
рабочего напряжения на адартере установлен в 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
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
![OpenIPC logo][logo]
|
||||
|
||||
Установка OpenIPC. Шаг за шагом.
|
||||
================================
|
||||
|
||||
### Шаг 1. Определите тип процессора.
|
||||
|
||||

|
||||
_Пример маркировки процессора 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
|
Loading…
Reference in New Issue