Инструкция по установке и развертыванию
программного обеспечения
1. Информация, необходимая для установки и эксплуатации программного обеспечения
1.1 Требования к оборудованию
Для эффективной работы системы предлагается
использовать следующее оборудование:
● АТБ-RK3588J-SMC (производство: Россия).
● Rockchip RK3588 iCore 3588Q Firefly 8K.
● Orange Pi 5.
● Mekotronics R58 Mini PC.
1.2 Требования к программному обеспечению
Серверная часть системы должна быть установлена
в соответствии с предоставленными дистрибутивами
производителя. Для клиентской части необходим
веб-браузер, поддерживающий Chromium
(например, Google Chrome версии 113.x или выше).
1.3 Характеристики видеопотока
Для обеспечения эффективной обработки видеопотоков,
требуемые характеристики
видеопотока составляют:
● разрешение камеры: HD 720p (1280×720 px) или
FullHD 1080p (1920x1080 px);
● частота кадров: 20 - 30 FPS (кадров в секунду).
● Протокол передачи видеопотоков: RTSP.
1.4 Интернет соединение
Для стабильной работы видеопотоков требуется
скорость интернет-соединения 6-8 Мбит/с на каждый
видеопоток.
1.5. Уровень подготовки администратора системы
Администратор должен обладать знаниями
и практическим опытом в области:
● Системного администрирования операционных
систем семейства Linux.
● Установки и администрирования серверного оборудования.
● Настройки сетей и работы с сетевыми протоколами.
1.6. Уровень подготовки пользователей
Пользователь должен иметь базовые навыки работы с
веб-браузером и понимать
предметную область системы.
2. Установка необходимого программного обеспечения
2.1 Установка SDK
Для использования нейросетевого ускорителя на базе
модуля RK3588 необходимо
установить SDK, представленный производителем модуля.
Получение SDK:
Вариант 1: GitHub
Перейдите на страницу SDK на Github: https://github.com/airockchip/rknn-toolkit2
Клонируйте репозиторий локально:
git clone https://github.com/airockchip/rknn-toolkit2/
Вариант 2: Файловый сервер ROC (для Windows):
Необходима специальная программа для скачивания
пакетов на Windows. (Подробнее
уточните на странице SDK).
Установка rknn-toolkit2:
Перейдите в директорию с пакетами:
cd ./rknn-toolkit2-v2.1.0-2024-08-08/rknn-toolkit2/packages/
Выберите версию Python: В данном случае: 3.8.
Установите пакет:
pip install
rknn_toolkit2-2.1.0+708089d1-cp38-cp38-linux_x86_64.wh
Установка библиотеки rknn:
Перейдите в директорию с библиотекой:
cd
~/rknn-toolkit2-v2.1.0-2024-08-08/rknpu2/runtime/Linux/librknn_api/aarch64/
Скопируйте библиотеку в системные библиотеки Linux:
sudo cp librknnrt.so /usr/lib/
Скопируйте заголовочные файлы в системные
заголовочные файлы:
sudo cp
~/rknn-toolkit2-v2.1.0-2024-08-08/rknpu2/runtime/Linux/librknn_api/include/* /usr/local/include
Важно:
● Замените ~/rknn-toolkit2-v2.1.0-2024-08-08 на
фактический путь к директории с SDK.
● Используйте права администратора (sudo) для
копирования файлов в системные директории.
2.2 Смена имени пользователя и настройка прав
В данном разделе описываются шаги для изменения имени пользователя, от имени
которого будут функционировать разработанные
сервисы, а также смены имени хоста
для упрощенного обнаружения устройства в сети.
В результате изменения имя вашего
устройства будет отображаться как "sts-desktop"
в локальной сети.
Информация о пользователях:
● Пользователь по умолчанию (зависит от
используемой платформы): firefly
● Пароль по умолчанию: firefly
● Пользователь для установки: sts
● Пароль для установки: sts
Для смены имени пользователя и настройки прав
выполните следующие команды:
Подключитесь к устройству:
Используйте SSH для доступа к устройству с правами
пользователя firefly:
ssh firefly@ip
Измените имя хоста:
Задайте новое имя хоста с помощью следующей команды:
sudo hostnamectl set-hostname sts-desktop
Создайте нового пользователя:
Создайте нового пользователя с именем editor:
sudo adduser editor
Добавьте пользователя в группы:
Предоставьте новому пользователю права, добавив
его в группы firefly и sudo:
sudo usermod -a -G firefly editor
sudo usermod -aG sudo editor
Выйдите из текущей сессии:
Завершите сессию для смены пользователя:
logout
Подключитесь как новый пользователь:
Войдите в систему под новым пользователем editor:
ssh editor@ip
Смените имя существующего пользователя:
Теперь измените имя пользователя firefly на sts:
sudo usermod -l sts firefly
Переместите домашнюю директорию:
Измените директорию пользователя:
sudo usermod -m -d /home/sts sts
Установите новый пароль для пользователя:
Установите пароль для нового пользователя:
sudo passwd sts
Измените имя группы:
Переименуйте группу firefly в sts:
sudo groupmod -n sts firefly
Выйдите из текущей сессии:
Завершите сессию для завершения всех изменений:
logout
Удалите пользователя editor:
Подключитесь как пользователь sts и удалите временного пользователя editor:
ssh sts@ip
sudo userdel -r editor
2.3 Решение ошибки PAM.D
Если при использовании команды sudo возникает ошибка pam_unix(sudo:auth):
conversation failed, следуйте приведённым ниже шагам
для ее устранения.
Откройте файл конфигурации PAM для sudo:
Чтобы внести изменения в настройки PAM, откройте файл /etc/pam.d/sudo в текстовом
редакторе с привилегиями суперпользователя. В данном
примере используется
редактор nano:
sudo nano /etc/pam.d/sudo
Проверьте наличие необходимой строки:
Убедитесь, что в файле присутствует следующая строка:
auth sufficient pam_permit.so
Это позволит системе успешно выполнять аутентификацию.
Пример содержимого
файла /etc/pam.d/sudo должен выглядеть примерно так:
# cat /etc/pam.d/sudo
#%PAM-1.0
# The line below should fix the sudo:auth could not identify
password
auth sufficient pam_permit.so
# The lines below are the default config
auth include system-auth
account include system-auth
password include system-auth
session optional pam_keyinit.so revoke
session include system-auth
Сохраните изменения:
После внесения изменений сохраните файл,
нажав CTRL + O, затем подтвердите имя
файла, нажав Enter. Чтобы выйти из редактора,
нажмите CTRL + X.
Проверьте работу команды sudo:
Повторите команду, которая вызывала ошибку,
чтобы убедиться, что проблема
устранена:
sudo [ваша_команда]
Если после этих действий ошибка не исчезла,
возможно, потребуется дополнительная
диагностика, включая проверку других конфигурационных
файлов PAM или системных
настроек, которые могли бы привести к сбоям
аутентификации.
2.4 Установка JAVA
Модуль администрирования приложения требует
наличия Java, поэтому перед
установкой необходимых пакетов важно сначала
удовлетворить эту зависимость.
Для установки JRE 21 нужно добавить репозиторий
Temurin и выполнить установку
OpenJDK 21 из него. Следуйте приведённым ниже шагам:
Убедитесь в наличии поддержки HTTPS для apt:
Прежде всего, проверьте, что инструмент apt может
использовать HTTPS-транспорт.
Для этого выполните следующую команду:
apt install -y wget apt-transport-https gpg
Скачайте GPG ключ от Eclipse Adoptium:
Далее необходимо загрузить GPG ключ, который будет
использоваться для проверки
подлинности пакетов из репозитория. Выполните
следующую команду:
wget -qO -
https://packages.adoptium.net/artifactory/api/gpg/key/public |
gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg >
/dev/null
Добавьте репозиторий Temurin:
После добавления ключа необходимо добавить
сам репозиторий. Выполните
следующую команду, чтобы сделать это:
echo "deb https://packages.adoptium.net/artifactory/deb
$(awk -F=
'/^VERSION_CODENAME/{print$2}' /etc/os-release) main"
| sudo tee
/etc/apt/sources.list.d/adoptium.list
Установите JRE 21:
Теперь, когда репозиторий добавлен,
можно обновить кэш пакетов и установить JRE
21:
sudo apt update
sudo apt install temurin-21-jre
Проверка установки:
После завершения установки вы можете проверить,
была ли Java установлена
успешно, выполнив команду:
java -version
2.5 Установка GstreamerRTSP
Для трансляции видео по протоколу RTSP
на устройстве необходимо установить
пакеты GStreamer, которые обеспечивают
поддержку RTSP. Установка этих пакетов
позволит использовать возможности GStreamer
для обработки и передачи потокового
видео.
Обновите список доступных пакетов:
Прежде чем выполнять установку, рекомендуется
обновить список доступных пакетов
с помощью команды:
sudo apt-get update
Установите необходимые пакеты GStreamer:
После обновления репозитория, установите
нужные пакеты RTSP с помощью
следующей команды:
sudo apt-get install libgstrtspserver-1.0-dev gstreamer1.0-rtsp
Проверка установки:
После завершения установки убедитесь,
что пакеты установлены правильно, с
помощью команды:
dpkg -l | grep gstreamer1.0
2.6 Установка deb-пакетов системы
Установка .deb пакетов:
После того как rknn-toolkit и Gstramer установлены,
вы можете приступить к установке
заранее загруженных пакетов .deb для детекторов.
Выполните следующую команду
для установки пакета:
sudo dpkg -i package.deb
Замените package.deb на имя вашего
соответствующего .deb файла (admin-panel,
processing-service, control-service, rtdts).
Проверка статуса установленного пакета:
Для контроля состояния работы установленного
пакета используйте systemd.
Выполните следующую команду, чтобы проверить статус:
sudo systemctl status package
Мониторинг журналов:
Для мониторинга логов и отслеживания событий,
связанных с вашим пакетом, вы
можете использовать журнал системного демона.
Выполните следующую команду:
journalctl -f -u package
2.7 Установка Redis
Для правильной работы системы необходимо
установить Redis, который служит
высокопроизводительным хранилищем данных
в памяти и широко используется для
кэширования и управления состоянием приложений.
Обновите список доступных пакетов:
Прежде чем устанавливать Redis,
рекомендуется обновить список доступных пакетов с
помощью команды:
sudo apt-get update
Установите Redis:
После обновления репозитория выполните
следующую команду для установки Redis:
sudo apt-get install redis
Проверьте установку:
После завершения установки убедитесь,
что Redis установлен и работает корректно.
Вы можете проверить статус сервиса
с помощью следующей команды:
sudo systemctl status redis
Если Redis установлен и запущен,
вы увидите соответствующий статус.
Запуск и остановка Redis:
Вы можете управлять службой Redis с помощью команд:
sudo systemctl start redis # Запуск Redis
sudo systemctl stop redis # Остановка Redis
sudo systemctl restart redis # Перезапуск Redis
2.8 Установка Mediamtx
Для корректного функционирования системы
необходимо установить Mediamtx —
программное обеспечение, предназначенное
для обработки и управления потоками
медиа.
Скачайте пакет Mediamtx:
Для загрузки пакета Mediamtx выполните
следующую команду:
wget -q
https://storage.codeinside.ru/projects/mediamtx/
mediamtx_service.
deb
Установите загруженный пакет:
После завершения загрузки выполните команду
для установки пакета:
sudo dpkg -i mediamtx_service.deb
Эта команда установит Mediamtx на ваше устройство.
Если в процессе установки
возникнут ошибки, вызванные отсутствующими
зависимостями, вы можете их
исправить, выполнив:
sudo apt-get install -f
Проверьте статус установки:
После завершения установки проверьте,
успешно ли установился Mediamtx, используя:
sudo systemctl status mediamtx
Запуск и управление службы Mediamtx:
Чтобы управлять службой Mediamtx,
вы можете использовать следующие команды:
sudo systemctl start mediamtx # Запуск Mediamtx
sudo systemctl stop mediamtx # Остановка Mediamtx
sudo systemctl restart mediamtx # Перезапуск Mediamtx
3. Установка ПО системы на устройства
Для установки программного обеспечения
на устройство выполните следующие шаги.
Скачать открытый ключ:
Обратитесь к администратору системы.
Он предоставит вам актуальную ссылку для
скачивания открытого ключа.
Эта ссылка может быть размещена на внутреннем сайте
компании, в файловом хранилище
или в системе управления версиями (Git). Открытый
ключ доступен по следующей ссылке:
https://confl.codeinside.ru/download/attachments/
37093820/public.gpg.key?version=1&modi
ficationDate=1695132770152&api=v2.
Перейдите по ссылке. Откроется страница,
где вы сможете скачать файл открытого
ключа.
Сохраните файл. Выберите местоположение
для сохранения файла, например, в
домашнюю директорию пользователя
(например, /home/sts/).
Добавление GPG ключа:
После того как ключ будет скачан, добавьте
его в вашу систему с помощью следующей
команды:
sudo apt-key add /home/sts/public.gpg.key
Добавление репозитория:
Далее необходимо добавить репозиторий
программного обеспечения. Выполните
следующую команду:
deb http://nexus.codeinside.dmz:8081/repository/apt-local-prod/
bionic main
Обновление списка пакетов:
Обновите список пакетов, чтобы ваша система
могла видеть новые пакеты из
добавленного репозитория:
sudo apt update
Поиск пакетов:
Для получения информации о доступных пакетах,
включая их описание, версию и
зависимости, выполните следующие команды:
sudo apt-cache show rtdts
sudo apt-cache show admin-panel
sudo apt-cache show processing-service
sudo apt-cache show control-service
sudo apt-cache show plate-recognition-custom
sudo apt-cache show accidents
Просмотр доступных версий пакетов:
Чтобы увидеть все доступные версии конкретной
программы (включая установленные,
доступные и устаревшие версии), выполните
следующие команды:
sudo apt list -a rtdts
sudo apt list -a admin-panel
sudo apt list -a processing-service
sudo apt list -a control-service
sudo apt list -a plate-recognition-custom
sudo apt list -a accidents
Установка необходимого программного обеспечения:
Для установки необходимого пакета, например,
admin-panel, выполните следующую
команду:
sudo apt install admin-panel
Установка определенной версии пакета:
Если необходимо установить конкретную
версию программы, используйте следующую
команду:
sudo apt install admin-panel=2.0.0
Примечание: Замените 2.0.0 на нужную версию пакета.
Обновление пакетов:
Чтобы обновить все установленные пакеты
и установить доступные обновления,
выполните следующую команду:
sudo apt update && apt upgrade -y
4 Поиск IP-адреса устройства в сети
Чтобы взаимодействовать с админ-панелью
устройства, необходимо определить его
IP-адрес в сети. Существует несколько способов сделать это.
4.1 Вариант 1. Проверка IP-адреса напрямую на устройстве
Подключите монитор и клавиатуру к устройству
через порты HDMI и USB
соответственно.
Войдите в систему, выбрать пользователя sts
и введя пароль устройства: “sts”.
Откройте терминал, используя комбинацию
клавиш “Ctrl+Alt+T”.
В открывшемся окне терминала введите
следующую команду для отображения
сетевых настроек:
ip a
Найдите строку, содержащую inet, что укажет
на локальный IP-адрес устройства.
4.2 Вариант 2. Проверка IP-адреса устройства
при помощи
поиска по имени в локальной сети
Для этого варианта рекомендуется использовать
программу Angry IP Scanner.
Ссылка для скачивания: https://angryip.org/download/#linux.
Установите Angry IP Scanner на ваш компьютер.
Укажите диапазон локальной сети в полях ввода
“IP Range” и нажмите кнопку “Start”.
Программа начнет сканирование сети в поисках
подключенных устройств.
Определите IP-адрес устройства по результатам
поиска. Устройство должно быть
найдено под именем sts-desktop.local.
4.3 Вариант 3. Проверка IP-адреса устройства в списке
DHCP на роутере
Вы можете проверить, какой IP-адрес был
динамически присвоен устройству через
панель управления роутером. Это позволит
подтвердить, что устройство корректно
подключено и имеет действующий IP-адрес
в локальной сети.
Введите в строке поиска браузера известный
IP-адрес вашего роутера (например,
http://192.168.1.1).
Авторизуйтесь в панели управления роутером,
введя логин и пароль для доступа к
настройкам.
Найдите раздел, отображающий список
подключенных устройств или DHCP-клиентов.
Это может быть на вкладке Attached Devices
или аналогичной.
Проанализируйте список для идентификации
вашего устройства. В этом разделе будут
указаны IP-адреса, MAC-адреса и другая
информация о каждом DHCP-клиенте.
4.4 Вариант 4. Использование статически определенного
IP-адреса
Если вы хотите заранее знать IP-адрес устройства,
вы можете настроить его вручную,
указав статический IP. Инструкция по заданию
статического IP-адреса в локальной
сети доступна по следующей ссылке:
https://losst.pro/kak-zadat-ip-adres-v-linux?
ysclid=m0xwx903h8246641.
5. Тестирование и проверка работы системы
В этом разделе описываются способы проверки
работы видеопотоков и доступности
сервисов.
5.1 Проверка работы видеопотоков
После завершения установки необходимо убедиться,
что видеопотоки с камер
обрабатываются корректно.
Проверьте, что камера подключена:
Убедитесь, что камера физически подключена
к устройству, и все кабели надёжно
соединены.
Запустите команду для проверки видеопотока:
Выполните следующую команду в терминале,
чтобы проверить, что видеопоток от
камеры доступен и корректно обрабатывается:
gst-launch-1.0 rtspsrc location=rtsp://<camera_ip>/stream !
decodebin ! autovideosink
Замените <camera_ip> на актуальный IP-адрес
вашей камеры. Если всё настроено
правильно, вы должны увидеть видеопоток
в открывшемся окне.
Отладка:
Если видеопоток не отображается, проверьте следующее:
● Правильность IP-адреса и пути к потокам.
● Сеть, к которой подключена камера,
и наличие доступа к ней.
● Настройки камеры и кодеки, используемые
для передачи видеопотока.
5.2 Проверка доступности сервисов
Чтобы убедиться, что все установленные
сервисы функционируют корректно,
воспользуйтесь командой systemd для проверки их статуса:
Введите следующую команду для проверки
статуса сервиса admin-server:
sudo systemctl status admin-panel
Интерпретация результатов:
Статус сервиса покажет, работает ли он
в данный момент и есть ли какие-либо
проблемы.
● Если сервис успешно запущен, вы увидите
сообщение active (running).
● Если сервис не запущен или произошла
ошибка, изучите вывод команды для
выявления причин. Обратите внимание
на такие сообщения, как failed или
inactive.
Дополнительные команды:
Чтобы перезапустить сервис, используйте команду:
sudo systemctl restart admin-panel
Чтобы проверить все запущенные сервисы, используйте:
sudo systemctl --type=service
6. Рекомендации по запуску системы
Для обеспечения бесперебойной работы
и быстрого доступа к системе рекомендуется
настроить автоматический запуск всех
установленных сервисов при загрузке
устройства.
6.1 Запуск через systemd
Выполните следующие действия
для каждого установленного сервиса.
Включение сервиса:
Чтобы система запускалась вместе
с устройством, выполните следующую команду:
sudo systemctl enable admin-panel
Запуск сервиса:
Затем запустите сервис вручную с помощью:
sudo systemctl start admin-panel
6.2 Мониторинг состояния системы
Для контроля работы системы и отслеживания
любых событий или сообщений об
ошибках, используйте команду journalctl
следующим образом:
journalctl -f -u admin-panel
● -f опция позволяет просматривать журналы
в режиме реального времени.
● -u опция фильтрует журналы по указанному
сервису, в данном случае
'admin-panel'.
7. Вход в админ-панель устройства
Чтобы получить доступ к админ-панели системы, выполните следующие шаги:
Откройте веб-браузер:
На компьютере или устройстве, подключенном
к той же сети, что и оборудование,
откройте веб-браузер.
Введите IP-адрес устройства:
В строке адреса браузера введите найденный
IP-адрес устройства и добавьте порт
подключения 9093. Например:
http://192.168.1.79:9093
Авторизация:
На странице авторизации введите учетные
данные для доступа к системе. Данные по
умолчанию для авторизации:
● Логин: admin
● Пароль: admin
Запуск системы:
После успешного входа вы получите доступ
к настройкам и функциям админ-панели
системы. Настройте систему в соответствии
с вашими требованиями.
Для получения подробной информации
о взаимодействии с системой и доступных
функциях, ознакомьтесь с документом
“Smart Traffic. Руководство пользователя”.