ARevoy/oms150s-control
GitHub: ARevoy/oms150s-control
基于 ESP32 和 nRF24L01+ 的 VEVOR OMS150S 拖曳马达备用无线控制器,通过逆向原生 2.4GHz 通信协议实现完整的配对与驾驶功能。
Stars: 1 | Forks: 0
# OMS150S 控制
**一个冗余的 ESP32 控制器,专为 VEVOR OMS150S 拖曳马达设计 —— 在关闭原装遥控器的情况下进行配对、连接和驱动。**
[](LICENSE)



原装遥控器是一个没有备用零件的单点故障源——一旦丢失,价值约 1000 美元的马达就成了废铁。这是一个极简、独立的备用控制器:一个便宜的 ESP32 + nRF24,可以在马达原生的 2.4 GHz 链路上**从零开始配对、连接并控制转向/油门**。完全通过 RF 抓包构建——没有拆解任何设备。
本仓库是**精简的功能性 MVP**。复现控制所需的所有内容都在同一个文件夹中。(另一个仓库包含了完整的逆向工程故事、死胡同和分析——这里只提供可用的成果。)
## 包含内容
```
README.md you are here
PROTOCOL.md self-contained protocol reference (RF, framing, CRC, pairing, drive)
AGENTS.md rules for writing your own parsers / injectors / sims
schemas/packets.ksy Kaitai Struct byte-map of every frame (the machine-readable schema of record)
diagrams/state-machine.md link lifecycle + connect & two-packet-mode sequence diagrams (Mermaid)
DISCLAIMER.md safety & scope — read before transmitting
firmware/
mvp_control/mvp_control.ino ⭐ the MVP: pair -> connect -> drive + native modes, clean & commented
op_control_full/op_control.ino the full proven sketch (heading readout, capture tools, all pairing modes)
```
## 硬件
一个 **ESP32 (WROOM)** + **nRF24L01+PA+LNA** 模块。
| nRF24 引脚 | ESP32 引脚 |
|---|---|
| CE | GPIO 4 |
| CSN | GPIO 17 |
| SCK | GPIO 18 (VSPI) |
| MISO | GPIO 19 (VSPI) |
| MOSI | GPIO 23 (VSPI) |
| VCC | 3V3 — **在 VCC/GND 之间并联一个 10 µF 电容** |
| GND | GND |
serial @ 921600"] --> B{"Get a link"} B -->|"g · motor in pair mode"| C["SOLO-PAIR
motor mints a link to us"] B -->|"P · trigger a real pairing"| D["SIDE-PAIR
sniff & adopt the assignment"] C --> E["H · connect
status 07 → 03"] D --> E E --> F["Drive: L / R / + / -"] E --> G["Modes: O·F arm · S·B·Y hold"] style C fill:#2b6cb0,color:#fff style D fill:#2b6cb0,color:#fff style E fill:#2f855a,color:#fff ```
所有串口命令
| 按键 | 操作 | |---|---| | `g` | 从零开始单独配对(马达处于配对模式) | | `P` | 旁路配对(嗅探实时配对过程) | | `H` | 仅连接 —— 验证接管 + 打印遥测数据 | | `L` / `R` | 连接 + 向左 / 向右转向 | | `+` / `-` | 连接 + 油门加大 / 减小 | | `O` / `F` | 原生模式:马达开启 (arm) / 关闭 | | `S` / `B` / `Y` | 原生模式:定点锁定 / 航向 / 巡航(触发 → 保持 20 秒 → 取消) | | `A b,b,b,b,b` | 设置 op-link 地址 (hex) | | `C nn` | 设置 op-link 基础通道 | | `?` | 状态 |标签:ESP32, nRF24L01, UML, 云资产清单, 无人机协议, 无线通信, 物联网, 硬件控制, 逆向工程