1. 温控屏协议
1.1. 1. 文档信息
- 协议版本:V1.1
- 建议优先查看第6节整体交互时序图,了解概况
1.2. 2. 通讯参数
默认通讯参数如下:
| 项目 | 参数值 |
|---|---|
| 传输模式 | 半双工 |
| 波特率 | 默认 9600bps |
| 数据格式 | 起始位 1 位,数据位 8 位 |
| 校验位 | 偶校验 (Even) |
| 停止位 | 1 位 |
1.3. 3. 数据结构
1.3.1. 3.1 指令下发 (温控屏 -> 网关)
| 网关地址 | 功能码 | 功能参数 | 暖通设备数量 | 暖通设备地址 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 1 byte | 1 byte | 1 byte | 数量 × 2 byte | 1 byte |
1.3.2. 3.2 数据反馈 (网关 -> 温控屏)
| 网关地址 | 功能码 | 功能参数 | 暖通设备数量 | 暖通设备地址 + 状态值 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 1 byte | 1 byte | 1 byte | 数量 × 10 byte | 1 byte |
网关地址:本网关自身485地址, 默认为0x01
功能码:查询、控制指令
功能参数:功能码的参数值
暖通设备地址定义: 地址长度:由2个字节组成 空调地址:由(外机地址,内机地址)组成 。 新风地址:第一个字节固定为
0x41(65),第二个字节为新风 485 地址 地暖地址:第一个字节固定为0x42(66),第二个字节为地暖 485 地址暖通设备状态值: 长度:由8个字节组成 房间:默认为00
| 开关 | 温度 | 模式 | 风速 | 房间 | 校验 | (故障) | 风向 |
|---|---|---|---|---|---|---|---|
| 1 byte | 1 byte | 1 byte | 1 byte | 1 byte | 1 byte | 1 byte | 1 byte |
- 校验计算:从“网关地址”到“校验”前所有数据字节的和,取低 8 位(溢出不计)
1.4. 4. 查询指令集
| 功能码 | 功能参数 | 相应含义 |
|---|---|---|
| 0x50-查询空调状态 | 0xFF | 温控屏查询 |
| 0x51-查询新风状态 | 0xFF | 温控屏查询 |
| 0x52-查询地暖状态 | 0xFF | 温控屏查询 |
| 0x10-查询温控屏温度和湿度 | 0xFF | 网关主动查询, 禁止频繁查询, 会有总线冲突 |
- 查询空调状态:
| 网关地址 | 功能码 | 功能参数 | 暖通设备数量 | 暖通设备地址 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 0X50 | 0XFF | 0XFF | 0XFF 0XFF | 1 byte |
- 查询新风状态:
| 网关地址 | 功能码 | 功能参数 | 暖通设备数量 | 暖通设备地址 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 0X51 | 0XFF | 0XFF | 0XFF 0XFF | 1 byte |
- 查询地暖状态:
| 网关地址 | 功能码 | 功能参数 | 暖通设备数量 | 暖通设备地址 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 0X52 | 0XFF | 0XFF | 0XFF 0XFF | 1 byte |
- 查询温控屏温度和湿度:
指令
| 网关地址 | 功能码 | 功能参数 | 校验 (Checksum) |
|---|---|---|---|
| 1 byte | 0X10 | 0XFF | 1 byte |
回应
| 网关地址 | 功能码 | 功能参数 | 温度 | 湿度 | 校验 (Checksum) |
|---|---|---|---|---|---|
| 1 byte | 0X10 | 0XFF | 2字节 | 2字节 | 1 byte |
[!TIP] 温度,湿度实际值(一位小数) = (温度|湿度) / 10
1.5. 5. 控制指令集
1.5.1. 5.1 空调设备控制
| 功能码 | 功能参数 | 相应含义 |
|---|---|---|
| 0x31-控制开关 | 0x01 | 开机 |
| 0x00 | 关机 | |
| 0x32-控制温度 | 0x10~0x1E | 温度16~30℃ |
| 0x33-控制模式 | 0x01 | 制冷 |
| 0x02 | 除湿 | |
| 0x04 | 送风 | |
| 0x08 | 制热 | |
| 0x34-控制风速 | 0x00 | 自动 |
| 0x01 | 高速 | |
| 0x02 | 中速 | |
| 0x04 | 低速 | |
| 0x35-控制风向 | 前后左右风向, 1个字节, 按位控制 | 见下表, 风向参数 |
风向参数
| 风向类型 | Bit范围 | 规则说明 |
|---|---|---|
| 前后风向 | Bit7~Bit4(高四位) | 0:扫风 1-6:位置1-位置6 F:保持当前不变 |
| 左右风向 | Bit3~Bit0(低四位) | 0:扫风 1-6:位置1-位置6 F:保持当前不变 |
1.5.2. 5.2 新风设备控制
| 功能码 | 功能参数 | 相应含义 |
|---|---|---|
| 0x71-控制开关 | 0x01 | 开机 |
| 0x00 | 关机 | |
| 0x73-控制模式 | 0x01 | 换气 |
| 0x02 | 排风 | |
| 0x74-控制风速 | 0x00 | 自动 |
| 0x01 | 高速 | |
| 0x02 | 中速 | |
| 0x04 | 低速 |
1.5.3. 5.3 地暖设备控制
| 功能码 | 功能参数 | 相应含义 |
|---|---|---|
| 0x81-控制开关 | 0x01 | 开机 |
| 0x00 | 关机 | |
| 0x82-控制温度 | 0x5~0x5A | 温度5~90℃ |
1.5.4. 6. 交互时序图
sequenceDiagram
participant T10 as 温控屏 (Client)
participant GW as 网关 (Server)
T10->>GW: 0x50-查询空调状态, 获取到所有空调信息
GW-->>T10: 回复所有空调信息
T10->>GW: 发送控制指令
GW-->>T10: 回应空调状态变化
1.6. 7. 指令发送示例
1.6.1. 7.1 查询状态示例
- 查询地址为01的空调网关下全部空调参数:
发送:01 50 FF FF FF FF 4D 接收:01 50 FF 06 01 01 01 14 02 03 20 00 00 00 (室内机01-01的10字节状态) 01 02 00 14 02 01 23 00 00 00 (室内机01-02的10字节状态) 01 03 01 14 02 03 24 00 00 00 (室内机01-03的10字节状态) 02 00 01 14 03 01 20 00 00 00 (室内机02-00的10字节状态) 02 01 00 14 02 03 20 00 00 00 (室内机02-01的10字节状态) 02 02 00 14 03 01 20 00 00 00 (室内机02-02的10字节状态) 3C
1.6.2. 7.2 控制指令示例
空调地址1-3开机:
发送:01 31 01 01 01 03 38 接收:01 31 01 01 01 03 38空调地址1-3温度设定为26℃:
发送:01 32 1A 01 01 03 52 接收:01 32 1A 01 01 03 52