温湿度采集系统命令格式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

温湿度系统数据协议

传感器与显示终端的通信协议:

温湿度探头协议:

0x7e ADDR3 ADDR2 ADDR1 ADDR0 T1 T2 T3 T4 H1 H2 H3 H4 Baterry CHECKSUM

0x7e:数据包头标志,一个字节表示

ADDR3:采集点地址最高字节

ADDR2:采集点地址

ADDR1:采集点地址

ADDR0:采集点地址最低字节

T1:温度数据1

T2:温度数据2

T3:温度数据3

T4:温度数据4

H1:湿度数据1

H2:湿度数据2

H3:湿度数据3

H4:湿度数据4

Baterry:电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100%,为80时,表示此时电池电量为80%

CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节

注:温度与湿度为float型,分别占用4个字节来表示。具体算法如下:

buffer[0] = 0x7e;

buffer[1] = address3;

buffer[2] = address2;

buffer[3] = address1;

buffer[4] = address0;

p = (unsigned char*)&temperature_f;//温度数据,浮点型

buffer[5] = *p;

p ++;

buffer[6] = *p;

p ++;

buffer[7] = *p;

p ++;

buffer[8] = *p;

p = (unsigned char*)&humidity_f;//湿度数据,浮点型

buffer[9] = *p;

p ++;

buffer[10] = *p;

p ++;

buffer[11] = *p;

p ++;

buffer[12] = *p;

buffer[13] = 100;//电池电量值

buffer[14] = 0;

for(i=0;i<15;i++)

{

buffer[15] = buffer[i];

}

显示终端与上位机的通信协议:

---------------------------------------------------------------------------------------------------------------------

1.液晶终端主动向上位机传送一帧实时的温湿度数据格式:

0x7e frameLENTH monitorAADR1 monitorAADR0 0x01 ADDR3 ADDR2 ADDR1 ADDR0 T1 T2 T3 T4 H1 H2 H3 H4 Baterry CHECKSUM

0x7e:数据包头标志,一个字节表示

frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数

monitorAADR1:液晶屏地址高字节

monitorAADR0:液晶屏地址低字节

0x01:液晶终端主动向上位机传送一帧实时的温湿度数据命令字

ADDR3:采集点地址最高字节

ADDR2:采集点地址

ADDR1:采集点地址

ADDR0:采集点地址最低字节

T1:温度数据1

T2:温度数据2

T3:温度数据3

T4:温度数据4

H1:湿度数据1

H2:湿度数据2

H3:湿度数据3

H4:湿度数据4

Baterry:电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100%,为80时,表示此时电池电量为80%

CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节

---------------------------------------------------------------------------------------------------------------------

2.液晶终端主动向上位机传送一帧实时的温湿度数据格式之后,上位机应答液晶终端命令:0x7e frameLENTH monitorAADR1 monitorAADR0 0x02 CHECKSUM

0x7e:数据包头标志,一个字节表示

frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数

monitorAADR1:液晶屏地址高字节

monitorAADR0:液晶屏地址低字节

0x02:上位机应答液晶终端主动发送实时温湿度数据命令字

CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节

******************************************************************************

3.上位机向液晶终端发送命令读取历史温度:(上位机发送一次此命令给下位机,下位机就返回一条历史数据给上位机,上位机在不超过规定时间内每下发一次此命令(2秒),终端依次返回下一条历史数据,直到数据读完)

0x7e frameLENTH monitorAADR1monitorAADR0 0x03 CHECKSUM

0x7e:数据包头标志,一个字节表示

frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数

monitorAADR1:液晶屏地址高字节

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 CHECKSUM

0x7e:数据包头标志,一个字节表示

frameLENTH:帧长度,除去包头与frameLENTH本生之外,余下所有字节的个数

monitorAADR1:液晶屏地址高字节

monitorAADR0:液晶屏地址低字节

0x04:液晶终端主动向上位机传送一帧实时的温湿度数据命令字

Year:历史记录年

Month:历史记录月

Date:历史记录日

Hour:历史记录小时

Minute:历史记录分

Second:历史记录秒

ADDR3:采集点地址最高字节

ADDR2:采集点地址

ADDR1:采集点地址

ADDR0:采集点地址最低字节

T1:温度数据1

T2:温度数据2

T3:温度数据3

T4:温度数据4

H1:湿度数据1

H2:湿度数据2

H3:湿度数据3

H4:湿度数据4

Baterry:电池电量百分比,一个字节表示,最大100,最小0,例如:为100时,表示电池电量为100%,为80时,表示此时电池电量为80%

CHECKSUM:校验和,一个字节,除校验和本身以外,以上所有字节得累加和,取低字节

******************************************************************************

相关文档
最新文档