Elrs协议
一、 遥控器与接收器是如何连接的(连接机制总结)
你今天体验并完成了 ELRS 协议中最核心的“口令对频(Binding Phrase)”连接机制,它的具体演进和工作原理如下:
传统的无线对频(Bind 按钮模式):
最开始,接收机上电后由于没有接收到配对信号,在检测超时后会自动释放出对频广播。
此时在遥控器上点击
Bind,两端通过无线电空中握手交换了一串临时身份码,此时接收机 LED 变常亮,完成了第一次连接。
高效的团队协作连接(Wi-Fi 口令模式 - 你们公司采用的方式):
原理:ELRS 允许用户给设备设定一个自定义的“对频字符串(密码)”。芯片内部会通过哈希算法,将这串密码转化为一段唯一的特征码(Binding UID)。
飞机端(RX):接收机上电超过一定时间(通常 60 秒)未连上遥控器,就会触发自动开启 Wi-Fi 热点。你通过手机连接
ExpressLRS RX,在后台网页将密码改为了12345678。遥控器端(TX):同样让遥控器高频头开启 Wi-Fi 模式,通过手机登录
ExpressLRS TX,将其内部的密码也改为了一模一样的12345678。握手生效:当两端各自重启后,遥控器和接收机算出的特征码(UID)完全一致(在你的网页上均呈现为
106,19,19,206,193,30)。由于密码对上了,接收机 LED 瞬间由闪烁变为常亮,链路彻底打通。
💡 为什么公司喜欢用这种方式?在企业研发中,如果使用传统按键对频,换一台遥控器就要去飞机上戳一次按键,极易损坏硬件。而使用口令对频,实验室里所有的遥控器和飞机只要刷入相同的公司密码,任何人拿着任何一台遥控器都能直接通电测试任何一台飞机,极大地提高了工效。
二、 你所使用到的 ExpressLRS (ELRS) 协议技术特性
既然你已经开始接触公司的正式项目,了解 ELRS 协议在行业内的技术优势非常重要。技术部选用它主要基于以下几点:
1. 极高的刷新率与超低延迟
传统的遥控协议(如 PWM、SBUS、PWM等)刷新率一般在 50Hz 左右(延迟约 20ms)。而ExpressLRS 是一种基于 LoRa 调制技术的开源新一代遥控系统。
它支持高达500Hz 甚至 1000Hz的超高无线刷新率。这意味着遥控器摇杆的细微动作,可以在 2 毫秒内传达给飞机,对于共轴反桨这类需要实时精细调整舵机姿态的飞行器来说至关重要。
2. 底层协议流:CRSF 协议
从接收机传给 STM32 主控板的数据,采用的是CRSF(Crossfire)协议格式。
在你公司的
elrs.c源码中,STM32 通过串口以420000 bps的高波特率开启 DMA 接收。数据的帧头地址为
0xC8(代表飞行控制器 Flight Controller)。帧类型为
0x16(CRSF_FRAMETYPE_RC_CHANNELS_PACKED),代表遥控器通道打包数据。数据包里用极其精简的11位(bits)表达一个通道的值,在一个数据包内打包了 16 个通道的完整数据,这也是它延迟低的秘诀。
3. 链路质量(LQ)与双向遥测(Telemetry)
在elrs.c中,你还可以看到针对CRSF_FRAMETYPE_LINK_STATISTICS链路统计帧的解析(如uplink_Link_quality)。
ELRS 协议不仅能发射信号,还能实现双向通信。接收机会把当前的无线信号质量(LQ)、信噪比(SNR)以及飞机的电池电压等遥测数据实时传回给你的 RadioMaster Pocket 遥控器。你在遥控器屏幕上看到的
1:100或LQ值,就是飞机发回来的实时健康报告。