4.3.1数据格式
1) 包头(header)固定为0xFFFF;
2) 长度(len)是指从cmd 开始到整个数据包结束所占用的字节数;
3) 命令字(cmd)表示具体的命令含义,详见协议举例;
4) 消息序号(sn)由发送方给出,接收方响应命令时需把消息序号返回给发送方;
5) 标志位(flag),本产品填写默认0;
6) payload(p0数据区),详细参见p0 数据区约定;
7) 检验和(checksum)的计算方式为从len~DATA,按字节求和;
8) 所有发送的命令都带有确认,如在200 毫秒内没有收到接收方的响应,发送方;应重发,最多重发3 次;
9) 多于一个字节的整型数字以大端字节序编码(网络字节序);
“p0 数据区约定”有如下功能:
1) WiFi模块向MCU发送控制命令时携带p0 命令和命令标志位以及可写数据区
2) MCU主动发送状态时或者回复模块的状态查询时携带p0命令和完整数据区
3) 数据区会自动合并布尔和枚举变量,且有严格的顺序,不可任意改变

上传协议P0区:action(1B) + dev_status(11B) ;
下达协议p0区:action(1B) + attr_flags(1B) + attr_vals(6B)
4.3.2数据上报
4.3.3下行控制
4.4Gizwits运作流程
起始工作是对外设、用户和协议等的初始化。当 WiFi 通过串口设备配置并成功连接云平台后,ESP8266将不断收到来自云端的数据点和状态信息。这些信息在接收完成后,会以GAgent协议帧的方式传递给主控芯片,而主控芯片再则将其放入缓冲区,之后进行抓包解析,并进行事件的处理,也就是下行的动作执行。如果再有上行数据采集,主控芯片将收到到数据处理为协议帧发送给WiFi 设备,再由WiFi负责将数据传输到服务器。
五、装配与测试
本文使用的方法是先将各模块调通,再组合在一起,组合时电源问题凹显,于是买了一个多路电源模块。外型部分目前仅用角钢切割组成支架,算是半成品吧。
机智云APP互动界面与实物图
视频地址:https://www.bilibili.com/video/av53274806
六、存在问题与改进建议
6.1传感器数据异常
解决办法,数据采集后经滤波处理,立Flag,近期出。
6.2运行日志
改用SD卡存储设备运行日志
6.3外型改进
智能花盆支架--->将设备整合到花盆内,为此应该要自己画PCB..
6.4传感器升级
持续优化传感器部分,例如采用博世BME280环境温湿度大气压三合一传感器替代DS18B20实现数据采集宽度上的升级。
6.5交互升级
未来可增加按键实现OLED菜单选择;增加蜂鸣器实现报警提醒,增加LED状态指示灯提示供电状态与工作模式。
6.6自建服务器
使用自建服务器,数据库存储常见植株的最适宜生长环境,为自动化控制提供更智能的选择。
————————————————
版权声明:本文为CSDN博主「JYU_hsy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40774605/article/details/90416456