1. 项目概述
BETAFPV LiteRadio 2是一款专为FPV无人机设计的入门级无线电遥控器,其内置的SIM模式允许用户通过USB连接电脑,将遥控器作为模拟器控制器使用。这个项目要解决的问题是:如何通过Python程序读取并解析LiteRadio 2的摇杆和按键数据,实现自定义控制逻辑开发。
我在实际开发中发现,虽然官方提供了Betaflight Configurator等配套工具,但缺乏对开发者友好的底层接口文档。经过多次逆向工程和协议分析,终于找到了一套稳定可靠的Python接入方案。这个方案不仅适用于无人机模拟器开发,还可扩展用于机器人控制、游戏外设改造等场景。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件准备与驱动配置
2.1 设备连接与模式切换
LiteRadio 2提供三种工作模式,需要通过物理开关切换:
- Mode 1:传统遥控模式(不适用于本项目)
- Mode 2:常见布局模式(左手油门)
- SIM:模拟器模式(必须切换至此)
连接步骤:
- 将底部开关拨到SIM位置
- 使用Micro USB线连接电脑
- 等待设备枚举完成(Win系统会提示"HID-compliant game controller")
注意:部分Linux系统可能需要手动设置hidraw权限,执行
sudo chmod 666 /dev/hidraw*
2.2 设备识别与验证
在Windows系统可以通过设备管理器查看硬件ID:
code复制USB\VID_0483&PID_5720&REV_0200
这个VID/PID组合是STMicroelectronics的标准标识,表明设备使用STM32芯片方案。
Python环境下可用以下代码检测设备:
python复制import hid
for device in hid.enumerate():
if device['vendor_id'] == 0x0483 and device['product_id'] == 0x5720:
print(f"Found LiteRadio 2 at {device['path'].decode()}")
3. HID协议逆向工程
3.1 数据包结构解析
通过USB协议分析工具(如Wireshark+USBPcap)捕获的数据显示,设备每10ms发送一个8字节的HID报告:
| 字节偏移 | 含义 | 取值范围 |
|---|---|---|
| 0 | 右摇杆X轴 | 0-255 |
| 1 | 右摇杆Y轴 |
