ESP32遥测:几欧元就能跑1公里加密链路

很多飞手还在为几百块的专用遥测模块纠结时,一块普通的ESP32已经能把飞行控制器和地面站连起来了。DroneBridge for ESP32做的事情很直接:把串口数据变成加密的WiFi或ESP-NOW链路,双向、透明,支持MAVLink、MSP、LTM,或者干脆任何自定义协议。重量不到8克,成本大概7欧元左右,标准WiFi能跑150米以上,开了ESP-NOW或Wi-Fi长距离模式能到1公里。

这不是玩具级的临时方案。固件已经迭代到v2.2.1,基于ESP-IDF 5.4,支持AES-GCM 256位加密,连ESP-NOW广播包都加了密。QGroundControl和Mission Planner都能直接用,UDP 14550或TCP 5760都能接。无人机、地面车、甚至简单的无线调试场景,都能塞进去。

打开网易新闻 查看精彩图片

我第一次试的时候是把一块旧的ESP32-C3焊到飞控的UART上,网页打开dronebridge.local,改完波特率点保存就重启了。那次测的是室内,包延迟感觉比预期稳一点。

它真正改掉的是什么

以前要搞可靠遥测,要么买成套的SiK模块,要么自己搭树莓派那套,重量、成本和调试复杂度都摆在那里。ESP32这套把门槛压到了“接两根线再刷个固件”。

普通读者可以这么理解:飞行控制器本来就有串口在吐数据,ESP32就像一个带加密的无线中继,一边接着飞控,一边变成WiFi热点或者客户端,地面站电脑直接连过去就行。不用额外买专用电台,也不用管频段申请那些麻烦。

真正影响实际使用的是加密和解析。所有模式默认AES-GCM 256位,包括ESP-NOW。对MAVLink它还会主动注入Radio Status包,地面站能直接看到RSSI。LTM和MSPv2做了解析,丢包率会低一些。透明模式下从v2.0开始不再强制要求连续数据流,包大小可变,适合突发型协议。

技术实现上它跑在ESP32的双核上,主循环处理串口和网络转发。v2.2之后CPU占用从之前的高位掉到个位数,延迟没明显增加。WiFi可以当AP,也可以当Client;ESP-NOW支持长距离模式,但收发双方都得是支持LR的芯片,外接天线效果会好很多。蓝牙LE是v2.2加的,短距离配置用,配合Windows上的BLE使QGC完整工作,目前还带点小连接问题。

有人觉得开源固件不如商业模块稳,这个判断社区里确实有分歧。我自己用下来,断电重启后参数还在,UDP客户端掉了会自动清理,这些细节比早期版本靠谱。

接线和模式选择的现实问题

飞控UART必须接3.3V逻辑,电压搞错很容易烧板子。接线就三根:TX、RX、GND,有些板子还要供电。飞控那边把端口协议设成对应的就行。

模式选择上,AP模式最简单,电脑直接连它的热点,SSID默认dronebridge,密码一样。Client模式适合已经有路由器的场景,但实际踩过坑的人不少——有些路由器兼容性不好,或者UDP注册需要地面站先发一个心跳包,否则ESP32不知道往哪推数据。ESP-NOW适合一对多或者想拉远距离,带宽大概250kbit左右,够遥测,不够传图。

配置全在网页里完成。连上热点后打开192.168.2.1或者dronebridge.local,波特率、模式、目标IP都能改。保存后重启生效。官方推荐直接用网页刷机工具,省得自己编译。

我试过一次把波特率设错,网页会提示,但当时没注意,飞控那边一直没数据。后来改回来才通。还有一次用Client模式接家里路由器,UDP目标填错,包全丢了半小时。

实际怎么跑起来

  1. 1. 用官方刷机页把固件烧进去,或者下载预编译包自己烧。

  2. 2. 把ESP32的UART接到飞控对应端口,确认电压是3.3V。

  3. 3. 上电后手机或电脑连WiFi热点dronebridge。

  4. 4. 浏览器打开配置页,把串口波特率、协议模式、网络参数调好,保存重启。

  5. 5. 地面站里加UDP目标14550,或者TCP 5760。如果是UDP,先让地面站发一个包注册。

跑完之后地面站应该能看到心跳和姿态数据。如果没数据,优先检查波特率和接线方向。AP模式下客户端断了有时需要重新连一下,这是已知小问题。

理论上如果用支持WiFi6的C5或C6芯片,配合Drone Light Show Edition还能做群体控制和远程开关机,不过那是另一套优化版,普通遥测用标准版就够。

想省钱又要加密遥测的,这块板子确实值得试一次。