1. 温控屏网关协议

1.1. 1. 文档信息

  • 协议版本:V1.1
  • 温控屏做为网关, 称为服务端, MCU或其它设备通过WIFI或485同温控屏通信, 称为客户端
  • 建议优先查看第6节整体交互时序图,了解概况

声必可T10温控屏做网关协议pdf

1.2. 2. 通讯方式

1.2.1. 2.1 485:

连接温控屏的485口进行通信,因为温控屏只有一个485口, 被占用后,此时温控屏只能用后壳的继电器接口, 使用水机功能 485通讯参数如下:

项目 参数值
传输模式 半双工
波特率 默认 9600bps
数据格式 起始位 1 位,数据位 8 位
校验位 偶校验 (Even)
停止位 1 位

1.2.2. 2.2 WIFI网络通信流程

采用 UDP 广播发现 + TCP 长连接 的机制。MCU 通过广播获取温控屏网关 IP 地址后,建立 TCP 链路进行数据交互 可以先看本节第5点交互时序图,了解大概流程

2.2.1. 设备发现阶段 (UDP Broadcast)

MCU 向局域网发送 UDP 广播报文,探测在线的温控屏设备

  • 本地监听端口5567
  • 目标端口43708
  • 广播地址xxx.xxx.xxx.255 (例如 192.168.1.255)
  • 广播报文定义
字节序号 数据 (Hex) 说明
Byte 0 0xFF 帧头
Byte 1 0xB0 功能码 (设备发现)
Byte 2-5 0x00, 0x00, 0x00, 0x00 预留/填充
Byte 6 0xAF 结束位/校验位

2.2.2. 温控屏网关响应阶段 (UDP Response)

温控屏网关收到广播后,向 MCU 回应自身的 IP 地址信息。

  • 回应数据示例FF B0 FF FF 52 30 30 30 34 39 32 35 34 32 33 37 38 31 39 34 32 C0 A8 16 85
  • 报文结构解析

[!TIP] 解析说明:MCU 需从响应报文的最后4 个字节中提取网关的动态 IP 地址

字段 数据 (Hex) 描述
固定头Byte 0-3 0xFF 0xB0 0xFF 0xFF 识别网关响应标识
设备号Byte 4-19 0x52 0x30 0x30 0x30 0x34 0x39 0x32 0x35 0x34 0x32 0x33 0x37 0x38 0x31 0x39 0x34 唯一ID R000492542378194
DHCP Byte 20 0x1 是否是动态IP
IP 地址Byte 21-24 0xC0 0xA8 0x16 0x85 对应 IP: 192.168.22.133
校验码Byte 25 0xxx ... 校验码

2.2.3. 连接建立阶段 (TCP Connection)

MCU 获取 IP 地址后,作为 Client 端主动发起 TCP 连接

  • 目标 IP:从步骤 2 中解析出的网关 IP
  • 目标端口9999
  • 后续动作:连接成功后,双方进入业务通信模式。

2.2.4. 业务通信 (Business Communication)

通信过程中, 由MCU定期发送心跳PING包, 如果网关在线, 会回应心跳PONG包

PING 包

字段 数据 (Hex) 描述
固定头Byte 0-1 0x12 0x34 心跳标识
设备号Byte 2-17 0x52 0x30 0x30 0x30 0x34 0x39 0x32 0x35 0x34 0x32 0x33 0x37 0x38 0x31 0x39 0x34 唯一ID R000492542378194
地址Byte 18-25 0x0 0x0 ... 保留位, 默认为0
校验码Byte 26 0xxx ... 校验码

PONG包

字段 数据 (Hex) 描述
固定头Byte 0-1 0x12 0x34 心跳标识
设备号Byte 2-17 0x52 0x30 0x30 0x30 0x34 0x39 0x32 0x35 0x34 0x32 0x33 0x37 0x38 0x31 0x39 0x34 唯一ID R000492542378194
地址Byte 18-25 0x0 0x0 ... 保留位, 默认为0
校验码Byte 26 0xxx ... 校验码

2.2.5. 交互时序图

sequenceDiagram participant MCU as MCU (Client) participant GW as 温控屏网关 (Server) Note over MCU: 监听 UDP 5567 MCU->>GW: UDP 广播 (Port: 43708) Note right of MCU: 发送 {0xFF, 0xB0...0xAF} GW-->>MCU: UDP 响应 (包含网关 IP) Note left of GW: 向UDP 5567端口,返回 {0xFF, 0xB0, 0xFF, 0xFF, IP...} MCU->>GW: TCP 连接请求 (Port: 9999) GW-->>MCU: TCP ACK (连接成功) MCU->>GW: TCP 心跳包PING (Port: 9999) GW-->>MCU: TCP ACK (心跳包Pong) Note over MCU, GW: 开始正常业务通信

1.3. 3. 数据结构

1.3.1. 3.1 指令下发 (MCU -> 温控屏网关)

温控屏地址 功能码 功能参数 暖通设备数量 暖通设备地址 校验 (Checksum)
1 byte 1 byte 1 byte 1 byte 数量 × 2 byte 1 byte

1.3.2. 3.2 数据反馈 (温控屏网关 -> MCU)

温控屏地址 功能码 功能参数 暖通设备数量 暖通设备地址 + 状态值 校验 (Checksum)
1 byte 1 byte 1 byte 1 byte 数量 × 10 byte 1 byte
  • 温控屏地址:本温控屏自身485地址, 默认为0x01

  • 功能码:查询、控制指令

  • 功能参数:功能码的参数值

  • 暖通设备地址定义地址长度:由2个字节组成 空调地址:由(外机地址,内机地址)组成 。01 ???? 新风地址:第一个字节固定为 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.3.3. 3.3 状态主动反馈 (温控屏网关 -> MCU)

当温控屏网关中设备的状态被改变了, 会主动向MCU发送状态, 数据格式同3.2节, 数据中暖通设备数量是1

1.4. 4. 查询指令集

功能码 功能参数 相应含义
0x50-查询空调状态 0xFF MCU主动查询
0x51-查询新风状态 0xFF MCU主动查询
0x52-查询地暖状态 0xFF MCU主动查询
0x10-查询温控屏网关温度和湿度 0xFF MCU主动查询, 禁止频繁查询, 会有总线冲突
  • 查询空调状态
温控屏地址 功能码 功能参数 暖通设备数量 暖通设备地址 校验 (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 MCU as MCU (Client) participant GW as 温控屏网关 (Server) MCU->>GW: 0x50-查询空调状态, 获取到所有空调信息 GW-->>MCU: 发送 所有空调信息 MCU->>GW: 发送控制指令 GW-->>MCU: 回应空调状态变化

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
    

results matching ""

    No results matching ""