- Yopitek Ltd/
- Блог/
- ALFA AWUS036ACH: Дальнобойный цифровой видеолинк для дронов с wfb-ng — руководство с открытым исходным кодом (2026)/
ALFA AWUS036ACH: Дальнобойный цифровой видеолинк для дронов с wfb-ng — руководство с открытым исходным кодом (2026)
Оглавление
Автор: Техническая команда Yupitek (авторизованный дистрибьютор ALFA Network на Тайване) Целевая аудитория: Энтузиасты дронов, makers, исследователи безопасности, разработчики дронов для сельского хозяйства и инспекций Сложность: ★★★☆☆ (требуются базовые знания Linux и полётных контроллеров)
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 и др.), и всё открыто и настраиваемо.
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 ГГц. То есть это модель с наиболее стабильной поддержкой драйверов, проверенной авторами проекта.
Почему выбрана именно она? Три ключевые причины:
- Достаточная мощность: конструкция высокой мощности ALFA в сочетании с внешними антеннами высокого усиления даёт дальнобойность, значительно превосходящую встроенные карты ноутбуков.
- Monitor mode + инъекция: RTL8812AU с пропатченным драйвером (см. ниже) стабильно поддерживает monitor mode и raw packet injection — обязательное условие для wfb-ng.
- Универсальность и надёжность: USB-интерфейс подходит как для дрона, так и для наземной станции; если одна карта выйдет из строя, достаточно заменить её.
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)
- RTL8812AU →
Системные зависимости#
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-ng | https://github.com/svpcom/wfb-ng.git |
| Пропатченный драйвер (RTL8812AU) | https://github.com/svpcom/rtl8812au |
| Пропатченный драйвер (RTL8812EU) | https://github.com/svpcom/rtl8812eu |
| Страница продукта ALFA AWUS036ACH | https://yupitek.com/ru/products/alfa/awus036ach/ |
| Руководство PX4 WFB-ng | https://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-ng | rtl88xxau_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 для записи на SD2. Вставьте карту, включите, подключитесь по SSH
Вставьте ALFA AWUS036ACH в оба устройства, подайте питание и подключитесь по SSH (IP и учётные данные по умолчанию):
ssh [email protected]
# Пароль: raspberry3. Включение сервиса наземной станции (Ground Station)
Выполните на Pi наземной станции:
sudo systemctl enable wifibroadcast@gs
sudo systemctl enable rtsp
sudo systemctl enable fpv-video
sudo systemctl enable osd
sudo reboot4. Включение сервиса дрона (Drone)
Выполните на Pi дрона:
sudo systemctl enable wifibroadcast@drone
sudo systemctl enable fpv-camera
sudo reboot5. Мониторинг состояния линка на наземной станции
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.sh2. Проверка, что драйвер wfb-ng управляет картой
# Должен отображаться wlan0 с MTU 2312
ifconfig
# Имя драйвера должно быть rtl88xxau_wfb (RTL8812AU) или rtl8812eu (RTL8812EU)
ethtool -i wlan0ethtool -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.sh4. Мониторинг линка
wfb-cli gsC. Ключи и сопряжение#
Видео и телеметрия 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"Три наиболее частые ошибки:
wifi_channelдолжен совпадать на обоих концах: здесь мы используем 165 (5825 МГц, 5.8 ГГц), настройте одинаково на дроне и наземной станции.link_domainдолжен совпадать на обоих концах: это «идентификатор» линка; если не совпадает, соединения не будет.- Скорость 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 под выделенную радиостанцию для дрона, позволяя передавать видео и данные управления на большие расстояния открытым и шифрованным способом — «частный канал», который вы (оператор) активно строите.
Ссылки#
- Проект wfb-ng (svpcom/wfb-ng): https://github.com/svpcom/wfb-ng.git
- Страница продукта ALFA AWUS036ACH: https://yupitek.com/ru/products/alfa/awus036ach/
- Пропатченный драйвер (RTL8812AU): https://github.com/svpcom/rtl8812au
- Пропатченный драйвер (RTL8812EU): https://github.com/svpcom/rtl8812eu
- Документация PX4 WFB-ng: https://docs.px4.io/main/en/tutorials/video_streaming_wfb_ng.html
Эта статья написана технической командой Yupitek (авторизованный дистрибьютор ALFA Network на Тайване) на основе официальной документации wfb-ng и практического опыта. Перед внедрением убедитесь в соблюдении местных норм радиочастотного регулирования и соответствующим образом настройте мощность и каналы.
Здесь пока нет статей.