English | 简体中文
本项目是一个扑翼机(仿生鸟)蓝牙控制逆向工程项目。通过分析手机APP与扑翼机之间的蓝牙通信协议,实现了用电脑代替手机APP进行飞行控制的完整方案。
本项目是一个扑翼机(仿生鸟)蓝牙控制逆向工程项目。通过分析手机APP与扑翼机之间的蓝牙通信协议,实现了用电脑代替手机APP进行飞行控制的完整方案。
X-FLY/ ├── scripts/ # 控制脚本目录 │ ├── code字节测试.py # 单bit测试+组合指令测试 │ ├── wasd.py # WASD键盘控制(推荐) │ ├── verify_control.py # 连接验证脚本 │ ├── code.py # 基础控制脚本 │ ├── code2.py # 方向测试 │ ├── code3.py # 油门测试 │ ├── code4.py # 组合测试 │ └── code5.py # 完整控制测试 │ ├── platform-tools/ # 蓝牙抓包工具 │ ├── capture_windows.bat # Windows抓包脚本 │ ├── android_capture_tool-*.bat # Android抓包工具 │ └── BT_HCI_*.curf # 抓包数据文件 │ ├── 分组数据包/ # 抓包数据保存目录 │ └── *.log # 通信日志文件 │ ├── docs/ # 文档目录(待完善) ├── temp/ # 临时文件目录 ├── README.md # 项目说明文档 └── .cnb.yml # CNB配置文件
pip install bleak
python scripts/wasd.py
W: 前进(居中+油门) A: 左转+油门 D: 右转+油门 S: 停止(居中+无油门) Q: 完全停止并退出
| 特征UUID | 功能说明 |
|---|---|
00007771-8e22-4541-9d4c-21edae82ed19 | 设备初始化与模式控制 |
0000acc1-0000-1000-8000-00805f9b34fb | 飞行控制指令(方向+油门) |
连接后必须发送初始化指令:
f9 04 51 01 56 5a 52 01 53 5a
格式:BB AA(十六进制)
第一字节(BB)- 方向控制:
00 - 停止01 - 左转20 - 居中(直飞)40 - 右转80 - 强右转第二字节(AA)- 油门控制:
00 - 无油门02 - 小油门03 - 中油门FF - 满油门# 启动+居中前进
2002 # 居中 + 小油门
# 左转+油门
0102 # 左转 + 小油门
# 右转+油门
4002 # 右转 + 小油门
# 停止
0000 # 完全停止
| 脚本名 | 功能 | 适用场景 |
|---|---|---|
wasd.py | WASD键盘控制 | ✅ 日常使用,推荐 |
code字节测试.py | 系统化字节测试 | 协议分析 |
verify_control.py | 连接验证 | 首次连接测试 |
| 脚本名 | 测试内容 |
|---|---|
code.py | 基础控制功能 |
code2.py | 单方向测试 |
code3.py | 单油门测试 |
code4.py | 方向+油门组合 |
code5.py | 完整控制测试 |
Windows系统:
cd platform-tools
capture_windows.bat
Android系统:
使用 android_capture_tool-*.bat 配合Wireshark分析
使用Wireshark打开.curf或.log文件,分析蓝牙通信协议
欢迎提交Issue和Pull Request!
如果这个项目对你有帮助,请给个Star支持一下!