典型案例
茶吧app协议 及工作流程图
头码 | 功能码 | 数据包长度 | 控制命令1 | 控制命令2 | 控制命令3 | 十字灯光颜色 | 外圈灯光颜色 | 内圈灯光颜色 | 制作水量 | 预热温度 | 冲泡温度 | 浸泡时间 | 浸泡前水泵起动时间 | 清洗次数设定 | 冲泡次数 | LED灰度值 | |||||||||||||||||||||
数据长度 | 1 | 1 | 1 | 1 | 1 | 1 | 3 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||||||||||
app发送 | 0x32 | 0x01(冲泡) 0x02(设置外圈灯光) 0x03(停止冲泡) 0x04(休眠预热) 0x05(灯光模式设置) 0x06(开关灯) 0x07(校准时间) 0x08(清洗周期) 0x09(设置内圈灯光) 0x0A(设置十字灯光) 0x0B(设置大小圈灯光) 0x0c(询问冲泡进度) 0x0d(设置亮度) 0x0e(清洗机器) 0x0f(重置为默认灯光) | 31 | 0xC0:休眠(APP按键时发送) 0xC1:预热或停止冲泡(APP按键时发送) 0xC2:冲泡 0xC3: 清洗 0xC4: 重置为默认灯光 | 0xF0:来自于用户APP下发命令。 0x0F:来自于工程APP下发命令。 | BIT0: 1:预热完成 0:表示预热未完成 BIT3-BIT2: 00: 十字灯调RGB, 01:大圆调RGB, 10:小圆调RGB, 11:大小圆调节RGB.默认为常在 bit4常在 bit5随机 bit6呼吸 bit7:1:LED显示开,0:LED显示关 | R 0-255 G 0-255 B 0-255 | 高低位 | 忽略:0 | 忽略:0 | |||||||||||||||||||||||||||
数据位数 | 0 | 1 | 2 | 3 | 4 | 5 | 6---8 | 9--11 | 12--14 | 15---16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | ||||||||||||||||||||
头码 | 数据包长度 | 机器状态 | 机器故障 | 灯光开关 | 内圈光颜色 | 外圈灯光颜色 | 十字灯光颜色 | app制作水量 | 预热温度 | 冲泡温度 | 浸泡时间 | 大小圆RGB H | 锅炉当前温度值 | 当前水流量 | 清洗次数设定 | 冲泡次数 | LED灰度值 | 大小圆RGB M | 大小圆RGB L | ||||||||||||||||||
数据长度 | 1 | 1 | 1 | 1 | 1 | 3 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 2 | ||||||||||||||||||
app接收 | 0x60 | 32 | 0XB0:正在预热(改为预热的状态 详细状态在控制命令3(灯光开关)的BIT0位) 0xB1: 预热完成(现在无该状态) 0xB2:休眠(关闭预热发一条) 0xB3:工作中(浸泡) 0xB4:冲泡中(此时己经放水到杯中) 0xB5:冲泡结束 0xB6: WIFI升级(只会在休眠状态升级,并且只上传一次机器状态) 0xB7: MCU升级(只会在休眠状态升级,并且只上传一次机器状态) 0xC6: 清洗运行模式 0xC7: 机器报警中(无预热,无睡眠) 0xB8: 机器手动停止冲泡 0xB9: 机器手动停止清洗 | BIT7: NTC开短路 BIT6: 水箱水位过低 BIT5: 70秒锅炉小于70度 BIT4: 炉温过高。 BIT3: 累计冲泡咖啡50杯标志 BIT2: 垃圾盒报警 BIT1: 茶饮机滑动盖未关闭 BIT0:水泵工作15S无流量信号。 | BIT0: 1:预热完成 0:表示预热未完成 BIT3-BIT2: 00: 十字灯调RGB, 01:大圆调RGB, 10:小圆调RGB, 11:大小圆调节RGB.默认为常在 bit4常在 bit5随机 bit6呼吸 bit7:1:LED显示开,0:LED显示关 | R 0-255 G 0-255 B 0-255 | 忽略; | 忽略: | 忽略; | 忽略; | R 0-255 | 忽略; | G 0-255 B 0-255 | ||||||||||||||||||||||||
数据位数 | 0 | 1 | 2 | 3 | 4 | 5---7 | 8--10 | 11--13 | 14---15 | 16 | 17 | 18 | 19 | 20 | 21--22 | 23 | 24 | 25 | 26-27 | ||||||||||||||||||
1:故障 0:正常 | |||||||||||||||||||||||||||||||||||||
1.查询topic 发送:头码(1Byte)、0xA1(1Byte)、数据包长度(1Byte)、校验码(1Byte)。 tea/imei/status/set tea/imei/status/transfer 返回:头码(1Byte)、返回码(1Byte)、数据包长度(1Byte)、错误码(1Byte)、机器状态(1byte)、灯泡颜色(rgb)、灯光模式(1byte) 、(3byte),预留(9Byte)、校验码(1Byte)。(10进制) { "Coffee":[50,161,14,0,1,141,225,83,0,0,0,0,0,0,0,0,0,163] } 2.操作topic tea/imei/operate/set tea/imei/operate/transfer 3.其他额外topic tea/imei/extra/set tea/imei/extra/transfer 4.遗嘱topic tea/imei/lwt 心跳包的两倍时间,没返回数据,视为离线,mqtt会返回:offline 5. 设备重置主题 tea/imei/reset/transfer 机器按下重置按钮就会返回:reset 6.单播升级主题 tea/imei/upgrade/set wifi升级命令#esp8266_radio_upgrade{v1.0} ps:v1.0为服务器里放wifi升级的bin文件存放的文件夹名字 查询机器程序当前版本和机器工作状态:#machine_current_version tea/imei/upgrade/transfer 开始升级:upgrade_start 升级失败:upgrade_fail 升级成功(暂时返回不了,但是app可以判断机器状态是否为0xB6):upgrade_success 7.广播升级主题 tea/upgrade/set wifi升级命令#esp8266_unicast_upgrade{v1.0} ps:v1.0为服务器里放wifi升级的bin文件存放的文件夹名字 | |||||||||||||||||||||||||||||||||||||