Mavix — начало работы
Что такое Mavix
Mavix — система FPV-пилотирования дронов через интернет. Видеопоток с камеры дрона приходит к вам напрямую по технологии WebRTC, а команды управления с USB-джойстика уходят на полётный контроллер дрона по протоколу CRSF (для Betaflight/iNav) или MAVLink (для ArduPilot/PX4). Сервер отвечает только за авторизацию и за то, чтобы дрон и оператор нашли друг друга в сети — само видео и команды идут между ними напрямую.
Чтобы пользоваться системой, нужны три вещи: ваш аккаунт, прошивка MavixBoard на дроне (Raspberry Pi) и приложение MavixDesktop на вашем ПК.
Что вам понадобится
- Raspberry Pi 4 или новее с Ubuntu Server 24.04 LTS или Raspberry Pi OS. Устанавливается на дрон рядом с полётным контроллером.
- Полётный контроллер с одной из поддерживаемых прошивок: Betaflight, iNav (через CRSF по UART) или ArduPilot/PX4 (через MAVLink по USB).
-
Камера: USB-камера (тестируется через
fswebcam) или CSI-камера через libcamera/rpicam. Поток кодируется в H.264 на стороне дрона. - ПК с Windows 10+ или Linux x64 — для приложения оператора.
- USB-джойстик — Radiomaster Pocket (Mode 2 / EdgeTX) и аналоги. Поддерживаются также обычные геймпады.
- Стабильный интернет и на дроне, и на ПК. Для дрона подойдёт Wi-Fi или LTE-модуль (Waveshare SIM7600 и аналоги).
Первый полёт: от установки до взлёта
1. Зарегистрируйтесь и войдите
На сайте Mavix создайте аккаунт по email и паролю. После входа вам станет доступна страница «Скачать» — там лежат все программы.
2. Установите MavixDesktop на ПК
Скачайте приложение оператора для вашей операционной системы:
.exe для Windows или .AppImage для Linux. При первом
запуске войдите своим email и паролем. После авторизации откроется
экран со списком дронов — пока он будет пустым.
3. Установите MavixBoard на дрон
Скачайте установщик MavixBoard (архив .tar.gz) — при
сборке сервер автоматически встроит в него токен вашего аккаунта
и идентификатор дрона, так что дрон сразу привяжется к вам.
Перенесите файл на Raspberry Pi и распакуйте:
tar xzf mavixboard-XXXXXXXX.tar.gz
cd mavixboard-XXXXXXXX
sudo ./install.sh
Установщик создаст изолированный Python-venv в
/opt/mavixboard/, поставит все зависимости из
архива (интернет в этот момент не нужен) и
положит ваш токен в /etc/mavixboard/preset.env.
Ручной запуск (для проверки, что всё работает):
set -a; . /etc/mavixboard/preset.env; set +a
sudo /opt/mavixboard/.venv/bin/python -m mavixboard
Останавливается Ctrl+C. Если хотите, чтобы дрон
стартовал автоматически при включении питания, включите
systemd-юнит:
sudo systemctl enable --now mavixboard
sudo journalctl -u mavixboard -f
После этого служба будет автоматически запускаться при каждой загрузке RPi.
4. Настройте полётный контроллер
Подключите три провода между RPi и FC: RPi TX (Pin 8) →
FC UART RX, FC UART TX → RPi RX (Pin 10),
и GND на GND. Питание не нужно — оба устройства 3.3В.
Конкретная настройка зависит от вашей прошивки (Betaflight, iNav или ArduPilot) — подробности в разделе «Поддерживаемые полётные контроллеры».
5. Дождитесь появления дрона в списке
Когда дрон подключится к серверу, он автоматически появится в окне MavixDesktop. Список обновляется автоматически.
6. Подключитесь и взлетайте
Кликните по карточке дрона. Откроется окно с видеопотоком и панелью настройки. На первом запуске рекомендуется выполнить калибровку камеры — приложение само переберёт поддерживаемые разрешения и FPS.
Поддерживаемые полётные контроллеры
Mavix работает с тремя семействами прошивок:
- Betaflight — CRSF по UART на 420 000 бод
- iNav — CRSF по UART (требует
receiver_type = SERIALиserialrx_halfduplex = OFF) - ArduPilot / PX4 — MAVLink по USB через
/dev/ttyACM*
Для CRSF минимальный конфиг через CLI (на примере UART4):
serial 3 64 115200 115200 0 115200
set serialrx_provider = CRSF
set serialrx_inverted = OFF
feature TELEMETRY
map TAER
aux 0 0 0 1800 2100 0 0
save
Для iNav дополнительно нужны set receiver_type = SERIAL,
set small_angle = 180 и set min_check = 1000.
Для ArduPilot настройка не требуется — трансмиттер автоматически определяет MAVLink FC по USB и пробрасывает поток в QGroundControl через UDP 14550.
Работа в приложении оператора
Главный экран приложения — список ваших дронов. Каждая карточка показывает имя дрона и индикатор статуса:
- Зелёный — дрон подключён и готов к управлению.
- Жёлтый — идёт подключение.
- Серый — дрон не на связи (выключен или вне сети).
В шапке кабинета доступна страница настройки джойстиков. В окне управления дроном внизу справа отображается текущий пинг.
Подключение и калибровка джойстика
Подключите джойстик к USB-порту ПК — он сразу появится в списке. Для каждого устройства доступны действия:
- Калибровка — 10-шаговый мастер: центр, максимум/минимум по каждой оси (тяга, рыскание, тангаж, крен), затем кнопка ARM.
- Загрузить из файла — восстановите ранее сохранённую калибровку.
- Сохранить в файл — выгрузите свою калибровку для другого ПК.
Стандартный маппинг для Radiomaster Pocket (Mode 2 / EdgeTX):
| Стик | Канал | Функция |
|---|---|---|
| Правый X | CH2 | Крен (Roll) |
| Правый Y | CH3 | Тангаж (Pitch) |
| Левый Y | CH1 | Тяга (Throttle) |
| Левый X | CH4 | Рыскание (Yaw) |
| Тумблер | CH5 | ARM / DISARM |
Тумблеры на Pocket экспортируются как оси, а не кнопки — приложение определяет тип автоматически.
Управление видеопотоком
В окне управления дроном:
- Переключайте активную камеру стрелками ← → если их несколько.
- Меняйте разрешение, FPS и битрейт. Битрейт применяется на лету, разрешение и FPS требуют короткой перезагрузки потока.
- При переключении камер неактивная камера автоматически снижает битрейт до 200 кбит/с — канал не перегружается, поток не прерывается.
- Запускайте принудительную калибровку камеры через кнопку «Калибровка камер». Во время неё дрон перебирает все доступные режимы — это может занять продолжительное время.
Порядок ARM и безопасность
Перед каждым полётом проверьте порядок включения:
- Отключите USB от полётного контроллера.
- Подключите батарею.
- Подождите 5 секунд — FC завершит инициализацию.
- Стик газа полностью вниз.
- Щёлкните тумблер ARM на джойстике.
Снимите пропеллеры перед первым тестом — особенно если вы только что прошили FC или поменяли калибровку.
Если что-то пошло не так
Дрон не появляется в списке
- Проверьте, что служба запущена:
systemctl status mavix.service. - Убедитесь, что у дрона есть выход в интернет (Wi-Fi или LTE).
- Проверьте логи на дроне:
journalctl -u mavix.service -f.
FC не армируется
В CLI любого FC введите status — строка Arming disabled flags
покажет причину. Самые частые:
- RXLOSS — нет RC-сигнала. Проверьте провода RPi ↔ FC,
dtoverlay=disable-btв/boot/firmware/config.txt, и что serial console отключена. - THROTTLE / THR — газ не на нуле. Стик газа полностью вниз, для iNav:
set min_check = 1000. - ANGLE / ACC — дрон не ровно. Для iNav:
set small_angle = 180иcalibrate acc. - MSP (Betaflight) — отключён USB, питайте от батареи.
Видео фризит или прерывается
- Снизьте битрейт и FPS в настройках камеры.
- Проверьте сигнал Wi-Fi или уровень LTE на дроне (
mmcli -m 0). - Если оба устройства за NAT с симметричной фильтрацией, потребуется TURN-сервер.
Не работает джойстик
- Проверьте, что устройство видно в системе (на Linux —
jstest /dev/input/js0). - Сделайте новую калибровку — старая могла быть выполнена для другого устройства.
WebRTC не подключается
- Проверьте, что у дрона стабильное интернет-соединение.
- Если используется LTE — установите приоритет:
sudo nmcli connection modify lte ipv4.route-metric 50. - В сложных сетях с симметричным NAT нужен TURN-сервер.
Забыли пароль
На странице входа нажмите «Забыли пароль?» — сервер отправит вам письмо со ссылкой для сброса. Ссылка действительна один час.
Полная техническая спецификация (архитектура WebRTC, формат CRSF-фреймов, схемы подключения) доступна в разделе «Техническая документация».