饮水机主板对通讯模块协议文档
目录
描述
杭州东骏科技有限公司的通讯模块和艾迪卫饮水机出水板及控制主板之间的硬件串口通讯的定义。
名词定义
- 模块 指我们提供的通信模块。
- 设备 指调用“模块”的主机设备,一般指饮水机中的出水板、控制板等自助设备。
通讯数据格式
模块采用UART串口协议与主机进行问答式串行通讯,波特率为4800,8位数据位,1位停止位,无校验位。
命令格式
STA | CMD | LEN(部分指令有该字段) | DATA | END |
STA:单字节,开头标志,固定为EE。
CMD:单字节,命令字节
LEN:单字节,DATA的长度(部分指令有该字段)。
DATA:数据字节,不定长。
END:单字节,结尾标志,固定为FF。
业务接口
饮水机出水
通知出水板出水
数据方向:模块→设备
CMD:0x58
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 | DATA6 |
---|---|---|---|---|---|
指令码1byte | 出水阀编号1byte | 脉冲低位1byte | 脉冲高位1byte | 备用1byte | 备用1byte |
DATA1:指令码。 0->出水电磁阀X关, 1->出水电磁阀X开, 2->向后台传数据, 3->收费模式/**, 4->系统关, 5->系统开
当指令码为3时,出水阀编码为 0->租金滤芯模式,出水阀编码为 1->流量计费模式
当指令码为8时,模块在线。
指令码为7时,模块离线
DATA2:出水阀编号。0x01->出水电磁阀1,0x02->出水电磁阀2 ....
设备响应命令帧
数据方向:设备→模块
CMD:0x57、0x59(0x59为设备查询模块在线状态时使用)
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 | DATA6 |
---|---|---|---|---|---|
出水阀编号1byte | 用水时间1byte | 状态1byte | 脉冲低位1byte | 用水量低1byte | 用水量高1byte |
DATA1:出水阀编号。0x01->出水电磁阀1,0x02->出水电磁阀2 ....
DATA2:用水时间。电磁阀从打开到关闭的时间
DATA3:状态。0->出水电磁阀关闭状态,1->出水电磁阀关闭状态
DATA5、DATA6:用水量。本次出水毫升数
示例:
设备->模块: EE 59 00 00 00 00 00 00 FF (询问在线否)
模块->设备: EE 58 08 00 00 00 00 00 FF (在线) 或 EE 58 07 00 00 00 00 00 FF (离线) 或 无应答(模块被拔)
模块->设备: EE 58 03 00 00 00 00 00 FF (设置为租赁功能) 或 EE 58 03 01 00 00 00 00 FF(设置为流量计费功能)
饮水机控制板状态
查询饮水机状态
数据方向:模块→设备
CMD:0x56
DATA数据帧:
DATA1 |
---|
指令码1byte |
DATA1:指令码。 2->饮水机状态查询, 4->关闭主板控制, 5->打开主板控制
设备响应命令帧
数据方向:设备→模块
CMD:0x55
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 | DATA6 | DATA7 | DATA8 | DATA9 |
---|---|---|---|---|---|---|---|---|
热水温度1byte | 流量1byte | 状态A1byte | 状态B1byte | 故障报警1byte | C电导率低字节1byte | C电导率高字节1byte | Y电导率低字节1byte | Y电导率高字节1byte |
DATA1:热水温度。当前饮水机内热水的温度
DATA3:状态A。1bit->加热,2bit->进水,3bit->消毒,4bit->排空,5bit->冲洗,6bit->待用,7bit->待用,8bit->待用
DATA4:状态B。1bit->缺水,2bit->低水位,3bit->满水,4bit->待用,5bit->待用,6bit->待用,7bit->待用,8bit->待用
DATA5:故障报警。1bit->传感器1,2bit->传感器2,3bit->传感器3,4bit->流量,5bit->缺水,6bit->溢水,7bit->超温,8bit->待用
DATA6、DATA7:出水口电导率
DATA8、DATA9:进水口电导率
饮水机租赁剩余天数
设置饮水机租赁剩余天数
数据方向:模块→设备
CMD:0x51
DATA数据帧:
DATA1 |
---|
指令码1byte |
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
剩余天数低位1byte | 剩余天数高位1byte | 保留1byte | 保留1byte | 保留1byte |
下发剩余天数为100:EE 51 07 64 00 00 00 00 FF
设备响应命令帧【暂无回复】
数据方向:设备→模块
CMD:0x51
LEN数据长度:DATA的数据长度
LEN |
---|
DATA的数据长度 |
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
剩余天数低位1byte | 剩余天数高位1byte | 保留1byte | 保留1byte | 保留1byte |
饮水机开水器状态
查询饮水机开水器状态【暂无查询,主动上报】
数据方向:模块→设备
CMD:0x52
DATA数据帧:
DATA1 |
---|
指令码1byte |
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
00 | 00 | 00 | 00 | 00 |
EE 52 07 00 00 00 00 00 FF
设备响应命令帧
数据方向:设备→模块
CMD:0x52
LEN数据长度:DATA的数据长度
LEN |
---|
DATA的数据长度 |
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
设备状态1byte | 水位状态1byte | 故障状态1byte | 保留1byte | 保留1byte |
DATA1:1bit->开关机状态0-关机、1-开机,2bit->加热功能0-关闭、1-打开,3bit->保留,4bit->加热状态0-未加热、1-加热中,5bit->过滤功能0-关闭、1-开启,6bit->过滤状态0-未过滤、1-过滤中,7bit->冲洗状态0-未冲洗、1-冲洗中,8bit->UV杀菌灯管状态0-关闭、1-开启
DATA2:1bit->低水位状态0-无、1-有,2bit->中水位状态0-无、1-有,3bit->高水位状态0-无、1-有,4bit->满水位状态0-无、1-有,5bit->保留,6bit->保留,7bit->保留,8bit->保留
DATA3:1bit->有无故障0-无、1-有,2bit->漏水故障0-无、1-有,3bit->预留,4bit->热水传感器开路0-无、1-有,5bit->热水传感器短路0-无、1-有,6bit->加热故障0-无、1-有,7bit->过滤故障0-无、1-有,8bit->干烧故障0-无、1-有
EE 52 07 EF F0 DF 00 00 FF
饮水机滤芯寿命
设置饮水机滤芯寿命
数据方向:模块→设备
CMD:0x53
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
滤芯1的寿命百分比1byte | 滤芯2的寿命百分比1byte | 滤芯3的寿命百分比1byte | 滤芯4的寿命百分比1byte | 滤芯5的寿命百分比1byte |
DATA1:滤芯1的寿命百分比,单位为百份比
DATA2:滤芯2的寿命百分比,单位为百份比
DATA3:滤芯3的寿命百分比,单位为百份比
DATA4:滤芯4的寿命百分比,单位为百份比
DATA5:滤芯5的寿命百分比,单位为百份比
设置滤芯寿命100、100、100、100、100:EE 53 07 64 64 64 64 64 FF
设备响应命令帧【暂无回复】
数据方向:设备→模块
CMD:0x53
LEN数据长度:DATA的数据长度
LEN |
---|
DATA的数据长度 |
DATA数据帧:
DATA1 | DATA2 | DATA3 | DATA4 | DATA5 |
---|---|---|---|---|
滤芯1的寿命百分比1byte | 滤芯2的寿命百分比1byte | 滤芯3的寿命百分比1byte | 滤芯4的寿命百分比1byte | 滤芯5的寿命百分比1byte |
DATA1:滤芯1的寿命百分比,单位为百份比
DATA2:滤芯2的寿命百分比,单位为百份比
DATA3:滤芯3的寿命百分比,单位为百份比
DATA4:滤芯4的寿命百分比,单位为百份比
DATA5:滤芯5的寿命百分比,单位为百份比