1、温湿度采集系统命令格式温湿度系统数据协议传感器与显示终端的通信协议:温湿度探头协议:0x7e ADDR3 ADDR2 ADDR1 ADDR0 T1 T2 T3 T4 H1 H2 H3 H4 Baterry CHECKSUM0x7e:数据包头标志,一个字节表示ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节T1:温度数据1T2:温度数据2T3:温度数据3T4:温度数据4H1:湿度数据1H2:湿度数据2H3:湿度数据3H4:湿度数据4Baterry:电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100,为8
2、0时,表示此时电池电量为80CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节注:温度与湿度为float型,分别占用4个字节来表示。具体算法如下: buffer0 = 0x7e; buffer1 = address3;buffer2 = address2;buffer3 = address1; buffer4 = address0; p = (unsigned char*)&temperature_f;/温度数据,浮点型 buffer5 = *p; p +; buffer6 = *p; p +; buffer7 = *p; p +; buffer8 = *p;
3、 p = (unsigned char*)&humidity_f;/湿度数据,浮点型 buffer9 = *p; p +; buffer10 = *p; p +; buffer11 = *p; p +; buffer12 = *p; buffer13 = 100;/电池电量值 buffer14 = 0; for(i=0;i15;i+) buffer15 = bufferi; 显示终端与上位机的通信协议:-1.液晶终端主动向上位机传送一帧实时的温湿度数据格式:0x7e frameLENTH monitorAADR1 monitorAADR0 0x01 ADDR3 ADDR2 ADDR1 ADDR
4、0 T1 T2 T3 T4 H1 H2 H3 H4 Baterry CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x01:液晶终端主动向上位机传送一帧实时的温湿度数据命令字ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节T1:温度数据1T2:温度数据2T3:温度数据3T4:温度数据4H1:湿度数据1H2:湿度数据2H3:湿度数据3H4:湿度数据4Baterry:
5、电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100,为80时,表示此时电池电量为80CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节-2.液晶终端主动向上位机传送一帧实时的温湿度数据格式之后,上位机应答液晶终端命令:0x7e frameLENTH monitorAADR1 monitorAADR0 0x02 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地
6、址低字节0x02:上位机应答液晶终端主动发送实时温湿度数据命令字CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节*3.上位机向液晶终端发送命令读取历史温度:(上位机发送一次此命令给下位机,下位机就返回一条历史数据给上位机,上位机在不超过规定时间内每下发一次此命令(2秒),终端依次返回下一条历史数据,直到数据读完)0x7e frameLENTH monitorAADR1 monitorAADR0 0x03 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorA
7、ADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x03: 读取温湿度命令CHECKSUM:校验-4.液晶终端应答上位机读取历史温湿度:0x7e frameLENTH monitorAADR1 monitorAADR0 0x04 Year Month Date Hour Minute Second ADDR3 ADDR2 ADDR1 ADDR0 T1 T2 T3 T4 H1 H2 H3 H4 Baterry CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液
8、晶屏地址高字节monitorAADR0:液晶屏地址低字节0x04:液晶终端主动向上位机传送一帧实时的温湿度数据命令字Year:历史记录年Month:历史记录月Date:历史记录日Hour:历史记录小时Minute:历史记录分Second:历史记录秒ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节T1:温度数据1T2:温度数据2T3:温度数据3T4:温度数据4H1:湿度数据1H2:湿度数据2H3:湿度数据3H4:湿度数据4Baterry:电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100,为80时,表示
9、此时电池电量为80CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节*5. 停止读取历史数据:0x7e frameLENTH monitorAADR1 monitorAADR0 0x05 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x05: 停止读取历史数据命令CHECKSUM:校验-6.应答停止读取历史数据命令:0x7e frameLENTH monitorAADR1 monit
10、orAADR0 0x06 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x06: 停止读取历史数据命令CHECKSUM:校验*7.停止报警:0x7e frameLENTH monitorAADR1 monitorAADR0 0x07 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节mo
11、nitorAADR0:液晶屏地址低字节0x07: 停止报警命令CHECKSUM:校验-8.应答停止报警:0x7e frameLENTH monitorAADR1 monitorAADR0 0x08 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x08: 停止报警命令CHECKSUM:校验*9. 启动报警:0x7e frameLENTH monitorAADR1 monitorAADR0 0x09 CHECKSUM0x
12、7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x09: 启动报警命令CHECKSUM:校验-10. 应答启动报警:0x7e frameLENTH monitorAADR1 monitorAADR0 0x0a CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x0a
13、: 启动报警命令CHECKSUM:校验*11.上位机发送命令设置温度报警0x7e frameLENTH monitorAADR1 monitorAADR2 0x0b/0x0c ADDR3 ADDR2 ADDR1 ADDR0 T1 T2 T3 T4 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x0b:最低温度报警 0x0c:最高温度报警ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR
14、0:采集点地址最低字节T1: T2:T3 :T4:温度数据CHECKSUM:校验-12.应答上位机发送命令设置温度报警0x7e frameLENTH monitorAADR1 monitorAADR2 0x1d/0x1e ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x1d:应答上位机发送命令设置温度报警上限值。0x1e应答设置下限值ADDR3:采集点地址最高字节ADD
15、R2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节CHECKSUM:校验*13.上位机发送命令设置湿度报警0x7e monitorAADR1 monitorAADR2 0x0e/0x0f ADDR3 ADDR2 ADDR1 ADDR0 0x01 H1 H2 H3 H4 CHECKSUM0x7e:数据包头标志,一个字节表示monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x0e:最低湿度报警 0x0f:最高湿度报警ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节H1:H2:H3:H4:湿
16、度数据CHECKSUM:校验-14.应答上位机发送命令设置湿度报警0x7e frameLENTH monitorAADR1 monitorAADR2 0x1f/0x20 ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x1f:应答上位机发送命令设置湿度报警上限值。0x20应答设置下限值ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采
17、集点地址最低字节CHECKSUM:校验*15.上位机向液晶终端添加一个温湿度探头0x7e frameLENTH monitorAADR1 monitorAADR2 0x11 ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x11:上位机发送添加探头命令ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节CHECKSUM:
18、校验-16.应答上位机添加探头命令0x7e frameLENTH monitorAADR1 monitorAADR2 0x12/0x13 ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x12/0x13: 应答上位机发送添加探头命令,设置添加成功应答0x12,设置添加失败应答0x13, ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:
19、采集点地址最低字节CHECKSUM:校验*17.上位机向液晶终端删除一个温湿度探头0x7e frameLENTH monitorAADR1 monitorAADR2 0x14 ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x14:上位机删除探头命令ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最低字节CHECKSUM:校
20、验-18.应答上位机向液晶终端删除一个温湿度探头0x7e frameLENTH monitorAADR1 monitorAADR2 0x15/0x16 ADDR3 ADDR2 ADDR1 ADDR0 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x15/0x16:应答上位机删除探头命令,0x15删除成功,0x16删除失败ADDR3:采集点地址最高字节ADDR2:采集点地址ADDR1:采集点地址ADDR0:采集点地址最
21、低字节CHECKSUM:校验*19.上位机发送查询液晶终端系统时间0x7e frameLENTH monitorAADR1 monitorAADR2 0x17 CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x17: 查询液晶终端系统时间命令CHECKSUM:校验-20.液晶终端上位机发送查询液晶终端系统时间0x7e frameLENTH monitorAADR1 monitorAADR2 0x18 year mont
22、h date hour minute second CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x18:应答上位机查询液晶终端系统时间Year:年Month:月Date:日Hour:小时Minute:分Second:秒CHECKSUM:校验*21.上位机设置液晶终端系统时间0x7e frameLENTH monitorAADR1 monitorAADR2 0x19 year month date hour minu
23、te second CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x19:上位机设置液晶终端系统时间Year:年Month:月Date:日Hour:小时Minute:分Second:秒CHECKSUM:校验-22.液晶终端应答上位机设置液晶终端系统时间0x7e frameLENTH monitorAADR1 monitorAADR2 0x1a CHECKSUM0x7e:数据包头标志,一个字节表示frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数monitorAADR1:液晶屏地址高字节monitorAADR0:液晶屏地址低字节0x1a: 液晶终端应答上位机设置液晶终端系统时间CHECKSUM:校验*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1