Об этом проекте
WFB-NG — это дальнобойный пакетный радиоканал нового поколения, который работает с WiFi-картами в режиме мониторинга, отправляя и принимая произвольные пакеты 802.11 без ассоциации и ожидания ACK. Он предназначен для видеосвязи и телеметрии с низкой задержкой, обычно используется в FPV и дронах.
Ключевые возможности, описанные в README:
- Однозначное отображение пакетов RTP в пакеты IEEE80211 для минимизации задержки, а не сериализация в байтовый поток.
- Прямая коррекция ошибок (FEC) с настраиваемыми параметрами; настройки по умолчанию позволяют восстановить 4 потерянных пакета из блока в 12 пакетов. Утверждается, что FEC с ускорением SIMD на amd64, arm32 и arm64 работает в 5-10 раз быстрее чистой версии на C.
- Двунаправленная телеметрия MAVLink для восходящего и нисходящего каналов наряду с видеоканалом вниз.
- Туннель IPv4 для общего трафика, хотя в README отмечается, что он имеет больше накладных расходов, чем необработанные UDP-потоки.
- Автоматическое разнесение TX за счёт выбора TX-карты на основе RX RSSI.
- Шифрование и аутентификация потока с использованием libsodium.
- Распределённая работа, сбор данных с карт на разных хостах для избежания узкого места одной шины USB.
- Агрегация пакетов MAVLink и туннеля для избежания отправки WiFi-пакета на каждый маленький пакет.
- Динамическое изменение FEC и радиомодуляции без прерывания связи.
- Полное журналирование состояния канала, включая парсер MAVLink, для отладки в автономном режиме.
- Поддержка шейперов трафика Linux для приоритизации каналов или пакетов данных/FEC.
- OSD для Raspberry Pi или других систем с поддержкой gstreamer/OpenGL, совместимый с любым разрешением экрана.
- Поддерживаемые архитектуры CPU: arm32v7, arm64v8, amd64, mips64le, s390x, ppc64le, i386, то есть Linux с ядром >= 4.x и портом USB.
Поддерживаемое WiFi-оборудование:
- RTL8812au (стабильно, 802.11ac) требует внешнего пропатченного драйвера; протестировано с ALPHA AWUS036ACH в режиме 5 ГГц.
- RTL8812eu (стабильно, 802.11ac) требует внешнего пропатченного драйвера; протестировано с модулем LB-LINK BL-M8812EU2.
- Atheros AR9350 (стабильно, 802.11n, LDPC) работает из коробки, но требует патчей ядра для управления мощностью TX; протестировано с TP-Link CPE510 и, как ожидается, будет работать на аналогичных устройствах ath9k SoC под управлением OpenWRT.
Для Atheros SoC рекомендуется кластерный режим (бета) из-за ограничений CPU, Flash и RAM. Для использования только на приём любая карта с режимом мониторинга может подойти.
Начало работы: README указывает на руководство PX4 и вики Setup HOWTO. Варианты быстрого старта включают загрузку образа Raspberry Pi из Releases, запись двух SD-карт, подключение WiFi-адаптеров и включение служб systemd (wifibroadcast@gs, rtsp, fpv-video, osd на наземной станции; wifibroadcast@drone, fpv-camera на дроне). Путь для наземной станции на Debian/Ubuntu устанавливает пропатченный драйвер RTL8812AU или RTL8812EU через DKMS и запускает install_gs.sh. Мониторинг канала использует wfb-cli gs. Устранение неполадок охватывает журналы journalctl, соответствие drone.key/gs.key и соответствие WiFi-канала и домена связи в /etc/wifibroadcast.cfg.
Основные моменты FAQ: любые UDP-данные с размером пакета <= 3993 могут быть переданы, например x264/265 в RTP, MAVLink или общий IPv4 через туннель. WFB-ng не привязан к конкретному GPU; он работает с UDP-пакетами, и для RTP-потоков необходим видеокодер. По сравнению с оригинальным wifibroadcast он использует UDP в качестве источника данных и упаковывает один исходный UDP-пакет в один радиопакет с переменными размерами радиопакетов, что, как указано в README, значительно снижает задержку видео.
Варианты сборки включают встроенный make, RPM, DEB и bdist tar.gz. Ключи шифрования для наземной станции и дрона генерируются с помощью wfb_keygen. Проект является свободным программным обеспечением под GPLv3 без гарантий, поддержка сообщества осуществляется через группу в Telegram. В документацию включён черновик RFC по стандарту передачи данных.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.