XLSW_3DP_US-IR/CommunicationProtocol.md
2025-01-20 15:27:53 +08:00

79 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# US&IR传感器模块通信协议
## US&IR传感器模块通信协议
| **序号** | **修改内容** | **版本** | **日期** | **修改人** |
|:------:|:--------:|:------:|:----------:|:-------:|
| 1 | 初版 | V0.1 | 2025-01-20 | Hulk |
| | | | | |
| | | | | |
| | | | | |
### 发包格式
| **包头** | **类型** | **数据长度** | **数据** | **校验** |
|:------:|:------:|:-----------:|:------:|:------:|
| D5 | 0x04 | Data Length | Data | CRC |
- 数据长度只包含数据部分,不包含包头、类型、数据长度、校验
- CRC求和校验包含类型、数据长度、数据
- 数据部分为ascii码
### 回包格式
| **包头** | **状态码** | **数据长度** | **数据** | **校验** |
|:------:|:----------:|:-----------:|:------:|:------:|
| B5 | 0xF0 正常包 | Data Length | Data | CRC |
| B5 | 0xF1 CRC错误 | Data Length | Data | CRC |
| B5 | 0xF2 包头错误 | Data Length | Data | CRC |
| B5 | 0xF3 类型错误 | Data Length | Data | CRC |
| B5 | 0xF4 包长度错误 | Data Length | Data | CRC |
- 数据长度只包含数据部分,不包含包头、类型、数据长度、校验
- CRC求和校验包含状态码、数据长度、数据
- 有效数据部分为uint32_t高字节在前
- 包错误和指令错误时数据部分为ascii码 `err`
-------------------
## US&IR传感器模块功能
### 1. 读取液面的超声距离
- 发送M1指令读取距离液面的超声距离。
- `D5 04 02 4D 31 84`
- 电涡流传感器模块涡流回复数据
- `B5 F0 02 1D C0 CF`, 有效数据为 `0x1DC0`,转换为`7616`,距离为76.16mm
- `B5 F0 02 16 A5 AD`, 有效数据为 `0x16A5`,转换为`5797`,距离为57.97mm
- 错误命令M3指令回包
- `B5 F0 03 65 72 72 3C`,有效数据为 `err`
- CRC错误回包
- `B5 F1 03 65 72 72 3D`, 有效数据为 `err`
- 包头错误回包
- `B5 F2 03 65 72 72 3E`, 有效数据为 `err`
- 类型错误回包
- `B5 F3 03 65 72 72 3F`, 有效数据为 `err`
- 数据长度错误回包
- `B5 F4 03 65 72 72 40`, 有效数据为 `err`
### 2. 读取液面红外温度传感器数据
- 发送M2指令读取液面红外温度传感器数据。
- `D5 04 02 4D 32 85`
- 电涡流传感器模块温度补偿回复数据
- `B5 F0 02 00 BD AF`, 有效数据为 `0x00BD`,转换为`189`(单位为摄氏度*10温度为18.9℃
- `B5 F0 02 01 0C FF`, 有效数据为 `0x010C`,转换为`268`(单位为摄氏度*10温度为26.8℃
- 错误命令M3指令回包
- `B5 F0 03 65 72 72 3C`,有效数据为 `err`
- CRC错误回包
- `B5 F1 03 65 72 72 3D`, 有效数据为 `err`
- 包头错误回包
- `B5 F2 03 65 72 72 3E`, 有效数据为 `err`
- 类型错误回包
- `B5 F3 03 65 72 72 3F`, 有效数据为 `err`
- 数据长度错误回包
- `B5 F4 03 65 72 72 40`, 有效数据为 `err`
### 3. 读取数据时间间隔
- 推荐数据时间间隔至少为1s