esp32-car/packet.md

64 lines
1.1 KiB
Markdown

# 数据包格式
## 基础
| 含义 | 数据 |
| ---- | ---- |
| 发送包头 | 0x00 |
| 发送包尾 | 0xff |
| 返回包头 | 0x01 |
| 返回包尾 | 0xfe |
`数据包头` + `包体长度` + `指令` + `数据包体` + `数据包尾`
如:
`00 06 20 AA BB FF`
## 信息查询
### 查询蓝牙连接状态 `0x10`
查询示例 `00 04 10 FF`
| 返回数据 | 含义 |
| -------- | ---- |
| 01 | 已连接 |
| 00 | 未连接 |
返回示例 `01 05 10 01 FE`
### 查询超声波距离 `0x11`
查询示例 `00 04 11 FF`
返回一个 4 字节浮点数,表示距离,单位 m
返回示例 `01 08 11 距离3 距离2 距离1 距离0 FE`
## 控制
### 行进控制 `0x20`
| 方向数据 | 含义 |
| -------- | ---- |
| 0x00 | 停止 |
| 0x01 | 前进 |
| 0x02 | 后退 |
| 0x03 | 左转 |
| 0x04 | 右转 |
包体 `00 06 20 方向 速度 FF`
控制示例 `00 06 20 01 FF FF`
### 原地控制 `0x21`
| 方向数据 | 含义 |
| -------- | ---- |
| 0x00 | 顺时针 |
| 0x01 | 逆时针 |
包体 `00 06 21 方向 时间 FF`
控制示例 `00 06 21 01 01 FF`