这个项目能做什么

WFB-NG 是一种下一代长距离分组无线电链路,它让 WiFi 网卡在监听模式下工作,无需关联或等待 ACK 即可发送和接收任意 802.11 数据包。它面向低延迟视频和遥测链路,常用于 FPV 和无人机配置。 README 中描述的关键能力: - 将 RTP 数据包一对一映射到 IEEE80211 数据包以最小化延迟,而不是序列化为字节流。 - 前向纠错(FEC),设置可调;默认设置可以从 12 个数据包的块中恢复 4 个丢失的数据包。在 amd64、arm32 和 arm64 上,SIMD 加速的 FEC 据称比纯 C 版本快 5-10 倍。 - 除视频下行链路外,还支持上下行链路的双向 MAVLink 遥测。 - 用于通用流量的 IPv4 隧道,不过 README 指出它比原始 UDP 流有更多开销。 - 通过根据 RX RSSI 选择 TX 网卡实现自动 TX 分集。 - 使用 libsodium 进行流加密和认证。 - 分布式运行,从不同主机上的网卡收集数据,以避免单个 USB 总线瓶颈。 - 聚合 MAVLink 和隧道数据包,以避免每个小数据包都发送一个 WiFi 数据包。 - 动态 FEC 和无线电调制更改,且不中断链路。 - 完整的信道状态日志记录,包括 MAVLink 解析器,用于离线调试。 - 支持 Linux 流量整形器,以优先处理信道或数据/FEC 数据包。 - 适用于 Raspberry Pi 或其他支持 gstreamer/OpenGL 的系统的 OSD,兼容任何屏幕分辨率。 - 支持的 CPU 架构:arm32v7、arm64v8、amd64、mips64le、s390x、ppc64le、i386,即内核 >= 4.x 且带 USB 端口的 Linux。 支持的 WiFi 硬件: - RTL8812au(稳定,802.11ac)需要外部补丁驱动;已在 5GHz 模式下使用 ALPHA AWUS036ACH 测试。 - RTL8812eu(稳定,802.11ac)需要外部补丁驱动;已使用 LB-LINK BL-M8812EU2 模块测试。 - Atheros AR9350(稳定,802.11n,LDPC)开箱即用,但需要内核补丁来控制 TX 功率;已使用 TP-Link CPE510 测试,预计可在运行 OpenWRT 的类似 ath9k SoC 设备上工作。 对于 Atheros SoC,由于 CPU、Flash 和 RAM 限制,推荐使用集群模式(beta)。对于仅接收用途,任何支持监听模式的网卡都可能可用。 入门:README 指向 PX4 指南和 Setup HOWTO wiki。快速开始选项包括从 Releases 下载 Raspberry Pi 镜像,烧录两张 SD 卡,插入 WiFi 适配器,并启用 systemd 服务(地面站上的 wifibroadcast@gs、rtsp、fpv-video、osd;无人机上的 wifibroadcast@drone、fpv-camera)。Debian/Ubuntu 地面站路径通过 DKMS 安装补丁版 RTL8812AU 或 RTL8812EU 驱动,并运行 install_gs.sh。链路监控使用 wfb-cli gs。故障排除涵盖 journalctl 日志、匹配 drone.key/gs.key,以及匹配 /etc/wifibroadcast.cfg 中的 WiFi 信道和链路域。 FAQ 要点:任何数据包大小 <= 3993 的 UDP 数据都可以传输,例如 RTP 中的 x264/265、MAVLink,或通过隧道的通用 IPv4。WFB-ng 不绑定特定 GPU;它处理 UDP 数据包,而 RTP 流需要视频编码器。与原始 wifibroadcast 相比,它使用 UDP 作为数据源,并将一个源 UDP 数据包打包进一个无线电数据包,且无线电数据包大小可变,README 称这大大降低了视频延迟。 构建选项包括内联 make、RPM、DEB 和 bdist tar.gz。地面站和无人机的加密密钥使用 wfb_keygen 生成。该项目是 GPLv3 下的自由软件,不提供担保,社区支持通过 Telegram 群组进行。文档中包含一份数据传输标准 RFC 草案。