Настройка ОС для ровера "Контакт"

Для настройки образа Ubuntu Server на Orange Pi 5 для Ровера "Конатакт" можно использовать следующие шаги.

1. Установка необходимых пакетов

  • Nginx используется как веб-сервер, который обслуживает статические файлы и проксирует запросы к приложениям.

  • FFmpeg используется для обработки медиапотоков, например, видео с камер робота.

sudo apt install nginx ffmpeg

2. Настройка веб-сервера Nginx

  • Настройка проксирования запросов для поддержки WebRTC и API-запросов, а также обслуживания статических файлов.

sudo nano /etc/nginx/sites-enabled/default

Настроенное содержание файла:

server {
    root /var/www/html/front/;
    index index.html;

    location /images/ {
        root /var/www/html/assets/;
        try_files $uri $uri/ =404;
    }

    location /socket.io/ {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:3016;
    }

    location ~/janus/* {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass http://$arg_ipcam;
    }

    location ~/webrtc/* {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass http://$arg_ipcam;
    }

    location /api {
        rewrite            ^/api/?(.*) /$1 break;
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://localhost:3015;
    }

    location / {
        try_files $uri $uri/ =404;
    }

   

 listen 80 default_server; # managed by Certbot
}

3. Создание рабочих директорий

Создаются необходимые директории для различных компонентов системы, которые будут хранить данные приложений, настройки и статические файлы.

4. Настройка и включение служб

Служба приложения "onboard-app"

  • Работает как основное приложение для управления функциями робота.

  • Использует Node.js, запускаемый через NVM.

Содержимое файла сервиса:

Служба "cloud"

  • Серверное приложение для обработки данных с облачными компонентами.

Содержимое файла сервиса:

5. Включение и перезапуск сервисов

Последнее обновление