Перейти к основному содержимому
  1. Блог/

ALFA AWUS036ACH: Дальнобойный цифровой видеолинк для дронов с wfb-ng — руководство с открытым исходным кодом (2026)

Оглавление

Автор: Техническая команда Yupitek (авторизованный дистрибьютор ALFA Network на Тайване) Целевая аудитория: Энтузиасты дронов, makers, исследователи безопасности, разработчики дронов для сельского хозяйства и инспекций Сложность: ★★★☆☆ (требуются базовые знания Linux и полётных контроллеров)

TL;DR: wfb-ng — это открытое ПО, которое превращает WiFi-адаптеры с поддержкой monitor mode, такие как ALFA AWUS036ACH, в дальнобойное радио для дронов, позволяя построить малозадерживающую, шифрованную передачу видео и телеметрии MAVLink.

1. Зачем строить цифровой видеолинк с картой ALFA?
#

Если вы пользовались традиционным аналоговым FPV (5.8 ГГц), вам знаком этот «снег»: сигнал забивается помехами при препятствиях, изображение ухудшается при удалении, и хуже всего — любой с приёмником может увидеть вашу картинку — без шифрования и без обратной телеметрии.

Наша команда за последний год устанавливала линки для клиентов в сфере сельского хозяйства, инспекций и обучения безопасности, и мы обнаружили повторяющуюся потребность: можно ли использовать обычную USB-карту ALFA с открытым ПО, чтобы создать «цифровой, шифрованный, одновременно передающий видео + телеметрию» дальнобойный линк?

Ответ — да, и это проще, чем вы думаете.

По сравнению с традиционным аналоговым FPV, использование карты ALFA с wfb-ng даёт подавляющие преимущества:

  • Низкая задержка: режим raw WiFi injection обходит ACK и handshake 802.11, достигая сквозной задержки в десятки миллисекунд, сопоставимой с аналоговым FPV.
  • Цифровое шифрование: пакеты видео и телеметрии шифруются libsodium; никто не сможет расшифровать ваш сигнал без ключа.
  • Мультиплексирование в одном линке: на одной карте и одной частоте можно одновременно передавать:
    • Живое видео (RTP / RTSP)
    • Телеметрию MAVLink (двунаправленно, полётный контроллер ↔ наземная станция)
    • TCP/IP-туннель (для VPN, SSH, передачи файлов)
  • Разнесение передачи (TX diversity): можно использовать несколько карт для разнесения передачи, повышая устойчивость к препятствиям.
  • Открытый исходный код и настраиваемость: стоимость этого DIY-линка значительно ниже коммерческих решений (DJI O3 / Walksnail и др.), и всё открыто и настраиваемо.
Примечание: Эта статья не предназначена для «замены» оригинальной видеосистемы DJI, а предлагает практический путь с открытым исходным кодом для тех, кто хочет контролировать свой линк, иметь резервную копию или строить индивидуальные нагрузки.

2. Что это? Введение в wfb-ng
#

wfb-ng (Wireless Fibre / WiFi Broadcast – next generation) — это проект с открытым исходным кодом для цифрового FPV и телеметрии. Его ключевая идея блестяща:

Он использует WiFi не как «сеть», а как «радио».

Обычный 802.11, разработанный для локальных сетей, требует ассоциации (association), подтверждения ACK и ретрансляции — эти механизмы в сценариях большой дальности, движения и слабого сигнала замедляют передачу и сокращают дальность. wfb-ng вместо этого использует инъекцию сырых WiFi-пакетов (raw WiFi injection):

  • Карта переходит в monitor mode, ни к чему не «подключаясь».
  • Напрямую инжектирует низкоуровневые WiFi-пакеты, без ACK и ретрансляций (использует FEC для коррекции ошибок).
  • Обходит ограничения дальности и задержки обычного 802.11, доводя дальность до аппаратного предела.

Проще говоря, он превращает обычную USB-карту в пару «цифровых радиостанций», способных передавать видео RTP, телеметрию MAVLink и даже IP-туннель.

  • Страница проекта (GitHub): https://github.com/svpcom/wfb-ng.git
  • Широко используется в экосистеме PX4 / ArduPilot для DIY-видеолинков, активное сообщество; также популярный открытый линк в сообществе украинских дронов.

3. Главный герой: ALFA AWUS036ACH
#

«Радио» этого линка — ALFA AWUS036ACH.

Она использует чип Realtek RTL8812AU, поддерживает 802.11ac (WiFi 5) , двухдиапазонный 2.4 ГГц / 5 ГГц, интерфейс USB 3.0 Type-C и съёмные антенны (RP-SMA). Самое важное: официально протестированное оборудование wfb-ng использует AWUS036ACH на обоих концах в режиме 5 ГГц. То есть это модель с наиболее стабильной поддержкой драйверов, проверенной авторами проекта.

Почему выбрана именно она? Три ключевые причины:

  1. Достаточная мощность: конструкция высокой мощности ALFA в сочетании с внешними антеннами высокого усиления даёт дальнобойность, значительно превосходящую встроенные карты ноутбуков.
  2. Monitor mode + инъекция: RTL8812AU с пропатченным драйвером (см. ниже) стабильно поддерживает monitor mode и raw packet injection — обязательное условие для wfb-ng.
  3. Универсальность и надёжность: USB-интерфейс подходит как для дрона, так и для наземной станции; если одна карта выйдет из строя, достаточно заменить её.
Внимание: wfb-ng требует специального пропатченного драйвера (например, rtl88xxau_wfb). Стандартные драйверы Linux не могут войти в режим инъекции, необходимый wfb-ng. Инструкции по установке см. в разделах «Список ПО» и «Пошаговая настройка».

4. Список оборудования (Hardware List)
#

Весь линк разделяется на две группы: на борту дрона (Drone) и наземная станция (Ground Station) .

На борту дрона (Drone)
#

КомпонентРекомендуемая модель / Описание
Бортовой компьютерRaspberry Pi 3B / 3B+ / Zero 2 W / 4 (на выбор; для 1080p рекомендуется Pi 4 или Zero 2 W)
КамераRaspberry Pi Camera (интерфейс CSI) или Logitech C920 (интерфейс USB)
WiFi-модульALFA AWUS036ACH (или любая карта на чипе RTL8812AU)
ПитаниеBEC 5V (для независимого питания карты; см. «Важные предупреждения»)
Фильтрующий конденсатор470µF с низким ESR (подключается между +5V и GND карты)
Полётный контроллерPixhawk (протокол MAVLink, подключение через UART к бортовому компьютеру)

Наземная станция (Ground Station)
#

КомпонентРекомендуемая модель / Описание
КомпьютерLinux (Ubuntu / Debian x86-64) или ещё одна Raspberry Pi
WiFi-модульALFA AWUS036ACH
ПО для просмотраМашина с QGroundControl (может быть тем же компьютером)

Примечание: Если нужен только приём (RX) , подойдёт любая карта с поддержкой monitor mode, даже роутер с OpenWRT. Тем не менее, данная инструкция основана на AWUS036ACH.


5. Список ПО (Software List)
#

Операционные системы
#

  • Raspberry Pi OS / Debian / Ubuntu (ядро Linux ≥ 4.x)

Основной проект
#

  • wfb-ng (svpcom/wfb-ng): основная программа цифрового видео / телеметрии
  • Пропатченный драйвер:
    • RTL8812AU → svpcom/rtl8812au (ветка v5.2.20, установка через dkms)
    • RTL8812EU → svpcom/rtl8812eu
    • После загрузки драйвера карта будет отображаться как rtl88xxau_wfb (или rtl8812eu)

Системные зависимости
#

sudo apt update
sudo apt install -y \
  python3-all libpcap-dev libsodium-dev libevent-dev \
  python3-pip python3-pyroute2 python3-twisted python3-serial \
  python3-all-dev python3-venv iw socat debhelper dh-python \
  fakeroot build-essential python3-msgpack python3-setuptools \
  libgstrtspserver-1.0-dev

Шифрование
#

  • libsodium: используйте wfb_keygen для генерации drone.key (на борту) и gs.key (наземная станция)

Просмотр на наземной станции
#

  • QGroundControl: мониторинг состояния полётного контроллера и телеметрии
  • GStreamer / RTSP: приём и воспроизведение видео, передаваемого с дрона

6. Ссылки GitHub и тех. характеристики ALFA AWUS036ACH
#

Официальные ссылки
#

ЭлементСсылка
Проект wfb-nghttps://github.com/svpcom/wfb-ng.git
Пропатченный драйвер (RTL8812AU)https://github.com/svpcom/rtl8812au
Пропатченный драйвер (RTL8812EU)https://github.com/svpcom/rtl8812eu
Страница продукта ALFA AWUS036ACHhttps://yupitek.com/ru/products/alfa/awus036ach/
Руководство PX4 WFB-nghttps://docs.px4.io/main/en/tutorials/video_streaming_wfb_ng.html

Технические характеристики ALFA AWUS036ACH
#

ХарактеристикаДетали
ЧипRealtek RTL8812AU
Стандарт802.11a / b / g / n / ac (WiFi 5)
Диапазон2.4 ГГц + 5 ГГц, двухдиапазонный
ИнтерфейсUSB 3.0 Type-C
Антенна2 × съёмные RP-SMA (2T2R MIMO)
Monitor modeПоддерживает monitor mode + packet injection (требуется пропатченный драйвер wfb-ng)
Драйвер wfb-ngrtl88xxau_wfb (svpcom/rtl8812au, v5.2.20)
ПозиционированиеКарта, официально протестированная wfb-ng (оба конца в режиме 5 ГГц)

7. Пошаговая настройка (ключевая глава)
#

Ниже четыре раздела. Путь A (быстрый старт с Raspberry Pi) наиболее рекомендуется — почти «записал и работай»; B подходит для тех, кто хочет вручную установить наземную станцию на настольном Linux x86; C / D охватывают пару ключей и файлы конфигурации, необходимые в обоих путях.

A. Быстрый старт с Raspberry Pi (наиболее рекомендуется)
#

wfb-ng предоставляет предварительно собранные образы для Raspberry Pi. Запишите один для дрона и один для наземной станции — они готовы к работе после включения.

1. Скачивание и запись образа

Перейдите на страницу Releases wfb-ng на GitHub, скачайте последний *.img.gz, распакуйте и запишите на две SD-карты (одну для дрона, другую для наземной станции).

# Распаковка образа (пример; имя файла зависит от реального Release)
gunzip wfb-ng-*.img.gz
# Используйте Raspberry Pi Imager, dd или balenaEtcher для записи на SD

2. Вставьте карту, включите, подключитесь по SSH

Вставьте ALFA AWUS036ACH в оба устройства, подайте питание и подключитесь по SSH (IP и учётные данные по умолчанию):

ssh [email protected]
# Пароль: raspberry

3. Включение сервиса наземной станции (Ground Station)

Выполните на Pi наземной станции:

sudo systemctl enable wifibroadcast@gs
sudo systemctl enable rtsp
sudo systemctl enable fpv-video
sudo systemctl enable osd
sudo reboot

4. Включение сервиса дрона (Drone)

Выполните на Pi дрона:

sudo systemctl enable wifibroadcast@drone
sudo systemctl enable fpv-camera
sudo reboot

5. Мониторинг состояния линка на наземной станции

wfb-cli gs

Если вы видите информацию о подключении, канале и уровне потерь пакетов, линк активен. Откройте QGroundControl для просмотра телеметрии и видео.


B. Ручная установка на Debian / Ubuntu (наземная станция)
#

Если вы используете настольный Linux x86-64 в качестве наземной станции, можно установить вручную.

1. Установка dkms и пропатченного драйвера

git clone -b v5.2.20 https://github.com/svpcom/rtl8812au.git
cd rtl8812au
sudo ./dkms-install.sh

2. Проверка, что драйвер wfb-ng управляет картой

# Должен отображаться wlan0 с MTU 2312
ifconfig

# Имя драйвера должно быть rtl88xxau_wfb (RTL8812AU) или rtl8812eu (RTL8812EU)
ethtool -i wlan0
Если ethtool -i wlan0 показывает стандартный rtl8812au вместо rtl88xxau_wfb, пропатченный драйвер установлен неправильно, и wfb-ng не сможет войти в режим инъекции. Проверьте установку dkms на наличие ошибок.

3. Запуск официального скрипта установки

curl -o install_gs.sh https://raw.githubusercontent.com/svpcom/wfb-ng/refs/heads/master/scripts/install_gs.sh
sudo bash ./install_gs.sh

4. Мониторинг линка

wfb-cli gs

C. Ключи и сопряжение
#

Видео и телеметрия wfb-ng шифруются. Дрон и наземная станция должны использовать соответствующие ключи для связи.

# Генерация ключей (сгенерируйте на дроне, затем распространите)
wfb_keygen

# drone.key → поместите на дрон
# gs.key     → поместите на наземную станцию
# Оба должны совпадать; иначе линк будет показывать «подключён, но без данных»

Если вы использовали скрипт автоматической установки из раздела B (install_gs.sh) , он сгенерирует и настроит ключи автоматически. При ручной установке убедитесь, что drone.key и gs.key из одной пары.


D. Файл конфигурации: /etc/wifibroadcast.cfg
#

/etc/wifibroadcast.cfg — основной файл конфигурации wfb-ng. Вот наиболее часто настраиваемые параметры:

[common]
# Канал 165 = 5825 МГц (диапазон 5.8 ГГц)
wifi_channel = 165

# Код страны 'BO' (Боливия) для разблокировки максимальной мощности передачи
wifi_region = 'BO'

[drone]
# link_domain должен быть «полностью одинаковым» на дроне и наземной станции
link_domain = "my_wfb_link_01"

[drone_mavlink]
# Приём MAVLink с UART полётного контроллера (настройте UART на 1500000 бод)
peer = 'serial:ttyS0:1500000'

[drone_video]
peer = 'listen://0.0.0.0:5602'

[gs]
# То же самое — оба конца должны совпадать
link_domain = "my_wfb_link_01"

Три наиболее частые ошибки:

  1. wifi_channel должен совпадать на обоих концах: здесь мы используем 165 (5825 МГц, 5.8 ГГц), настройте одинаково на дроне и наземной станции.
  2. link_domain должен совпадать на обоих концах: это «идентификатор» линка; если не совпадает, соединения не будет.
  3. Скорость UART полётного контроллера должна быть 1500000 бод: peer = 'serial:ttyS0:1500000' требует, чтобы UART контроллера тоже был настроен на 1500000 бод, иначе MAVLink не будет приниматься.
Внимание: wifi_region = 'BO' служит для разблокировки максимальной мощности, но это не означает, что его использование законно в вашей стране. См. раздел «Юридическое предупреждение» ниже.

8. Заметки по реализации / частые проблемы
#

В этом разделе собраны реальные проблемы, с которыми мы столкнулись при внедрении. Пожалуйста, прочтите внимательно.

⚠️ Проблема 1: Недостаточное питание карты → сброс порта и массовая потеря пакетов
#

AWUS036ACH потребляет большой мгновенный ток при передаче (TX) . При прямом подключении к стандартному порту USB 2.0 Raspberry Pi питание USB не выдерживает пикового тока, что приводит к: сбросу порта карты, обрыву линка, повреждению пакетов и зависанию изображения.

Решение (обязательно на дроне):

  • Питайте карту напрямую от BEC 5V (не от USB Pi); подключите выход BEC к карте.
  • Подключите конденсатор 470µF с низким ESR между +5V и GND карты для фильтрации пиков тока при передаче.
  • На наземной станции, если используется порт USB 3.0 ноутбука с оригинальным кабелем USB 3.0, обычно можно питать напрямую без дополнительного BEC.

Этот шаг — ключ к «стабильности». Мы видели много людей, застрявших на потерях пакетов из-за нерешённой проблемы питания.

Проблема 2: Ошибка шифрования / отсутствие соединения
#

Если wfb-cli gs показывает соединение, но нет видео или телеметрии, обычно это одна из двух причин:

  • Несовпадение ключей: проверьте, что drone.key (дрон) и gs.key (наземная станция) из одной пары.
  • Несовпадение канала или link_domain: wifi_channel и link_domain должны быть идентичны на обоих концах.

Команда диагностики:

# Просмотр логов сервиса наземной станции в реальном времени
journalctl -xu wifibroadcast@gs

⚠️ Проблема 3: Юридическое предупреждение (очень важно)
#

Этот линк активно излучает радиоволны и поэтому подпадает под регулирование радиооборудования.

  • Перед использованием убедитесь, что ваше местное законодательство разрешает такую мощность и диапазоны для данного использования WiFi.
  • На Тайване, в Китае, США и Европе действуют свои правила относительно мощности передачи, доступных каналов и «передачи без подключения» в диапазоне ISM 5.8 ГГц.
  • wifi_region = 'BO' служит для разблокировки аппаратного предела мощности, но не означает законность в вашей стране. Настройте канал и мощность в соответствии с законодательством вашей страны; при необходимости уменьшите мощность или переключитесь на разрешённый канал.
  • Используйте только в законных целях (например, на собственной земле, в закрытых тестовых зонах, для обучения). Не создавайте помех связи других лиц.

9. Заключение
#

Итак, используя ALFA AWUS036ACH и открытое ПО wfb-ng, мы построили систему, которая предлагает:

  • Преимущество в стоимости: материалы этого DIY-линка стоят значительно дешевле коммерческих решений.
  • Открытый исходный код: весь код, драйверы и конфигурация публичны и проверяемы.
  • Настраиваемость: канал, мощность, ключи и способ доступа MAVLink — всё под вашим контролем.
  • Большая дальность: цифровое видео + телеметрия в одном линке, с реальной дальностью на 5 ГГц, значительно превосходящей аналоговую, устойчивостью к препятствиям и шифрованием.

Для применений в сельском хозяйстве, инспекциях, обучении безопасности или просто для тех, кто хочет понять «принципы, лежащие в основе цифрового видео», это путь, который стоит изучить.

Наша команда продолжит делиться на блоге практическими заметками об использовании карт ALFA в линках для дронов. Если у вас возникнут проблемы при настройке, не стесняйтесь оставлять комментарии — практика — самый быстрый способ обучения.


常見問題

Чем wfb-ng отличается от обычного WiFi?

Обычному WiFi требуется ассоциация (association) и подтверждение ACK, что неэффективно на больших расстояниях и даёт высокую задержку. wfb-ng использует инъекцию сырых пакетов (raw packet injection), обходя механизм подключения 802.11 и применяя FEC (упреждающую коррекцию ошибок) для борьбы с потерями пакетов, достигая сквозной задержки в десятки миллисекунд.

Почему плате ALFA на дроне нужно отдельное питание?

AWUS036ACH потребляет большой мгновенный ток при передаче (TX). При прямом подключении к порту USB 2.0 Raspberry Pi недостаточное питание приводит к сбросу порта, обрыву линка и повреждению пакетов. Рекомендуется использовать BEC 5V для независимого питания и подключить конденсатор 470µF с низким ESR между +5V и GND для фильтрации.

После подключения нет видео и телеметрии, что делать?

Самая частая причина — несовпадение ключей: проверьте, что drone.key (на борту) и gs.key (на наземной станции) из одной пары. Затем убедитесь, что wifi_channel и link_domain полностью совпадают на обоих концах. Используйте journalctl -xu wifibroadcast@gs для просмотра логов в реальном времени.

Обязательно ли использовать ALFA AWUS036ACH для wfb-ng?

Теоретически подойдёт любая карта на чипе RTL8812AU, но AWUS036ACH — официально протестированное оборудование проекта wfb-ng с наиболее стабильной поддержкой драйверов. В сценариях высокой мощности и большой дальности конструкция питания ALFA и съёмные антенны дают значительные преимущества.


Приложение: Глоссарий для начинающих (ключевые термины простым языком)
#

Если вы впервые сталкиваетесь с этой технологией, вот краткое объяснение терминов, наиболее часто используемых в этой статье:

ТерминПростое объяснение
FPV (First Person View)«Вид от первого лица»: как если бы вы сидели в кабине дрона и видели в реальном времени то, что снимает его камера, на экране или очках.
Цифровое видео vs. аналоговое видеоАналоговое видео похоже на старый телевизор: слабый сигнал = экран, полный помех, и любой может его перехватить. Цифровое видео преобразует изображение в пакеты данных, которые можно шифровать, и оно лучше сопротивляется помехам, хотя оборудование и настройка сложнее.
monitor mode (режим монитора)Обычная WiFi-карта может только «подключаться» к роутеру. Monitor mode позволяет ей «слушать и отправлять радиосигналы напрямую, ни к чему не подключаясь» — это техническая основа данной статьи.
packet injection (инъекция пакетов)В monitor mode — это «выброс» пользовательских радиопакетов в эфир без прохождения через обычный процесс подключения WiFi. wfb-ng использует этот механизм для передачи видео и телеметрии.
wfb-ngОткрытое ПО, которое «превращает» WiFi-карту в специализированное радио для дронов, а не использует её как обычную сеть. Ядро этой статьи.
FEC (Forward Error Correction, упреждающая коррекция ошибок)Заключается в отправке дополнительной «резервной» информации во время передачи; даже если некоторые пакеты потеряны, приёмник может восстановить исходное изображение без запроса повторной отправки (которая замедлила бы передачу на больших расстояниях и высоких скоростях).
MAVLinkПротокол «общего языка» между полётным контроллером дрона (например, Pixhawk) и наземной станцией для передачи состояния полёта и отправки команд.
RTP / RTSPРаспространённые протоколы для передачи живого видео по сети; многие IP-камеры и системы видеонаблюдения используют их.
libsodium шифрованиеБиблиотека шифрования с открытым исходным кодом, используемая в этой статье для шифрования видео и телеметрии, гарантируя, что только дрон и наземная станция с соответствующими ключами могут расшифровать содержимое.
TX diversity (разнесение передачи)Использование нескольких карт для одновременной передачи одних и тех же данных; если сигнал одной карты блокируется, другая может его компенсировать — как «двойная страховка».
BEC (Battery Eliminator Circuit)Модуль стабилизации напряжения, понижающий напряжение батареи дрона до 5 В, необходимых карте, и выдерживающий пиковые токи, чтобы избежать нестабильности питания.
RTL8812AUМодель чипа Realtek, используемого в карте ALFA AWUS036ACH, определяющая её поддержку monitor mode и packet injection.

Одной фразой: wfb-ng «маскирует» карту ALFA под выделенную радиостанцию для дрона, позволяя передавать видео и данные управления на большие расстояния открытым и шифрованным способом — «частный канал», который вы (оператор) активно строите.


Ссылки
#


Эта статья написана технической командой Yupitek (авторизованный дистрибьютор ALFA Network на Тайване) на основе официальной документации wfb-ng и практического опыта. Перед внедрением убедитесь в соблюдении местных норм радиочастотного регулирования и соответствующим образом настройте мощность и каналы.

Здесь пока нет статей.