温湿度采集系统命令格式.docx

上传人:b****5 文档编号:8364455 上传时间:2023-01-30 格式:DOCX 页数:15 大小:17.03KB
下载 相关 举报
温湿度采集系统命令格式.docx_第1页
第1页 / 共15页
温湿度采集系统命令格式.docx_第2页
第2页 / 共15页
温湿度采集系统命令格式.docx_第3页
第3页 / 共15页
温湿度采集系统命令格式.docx_第4页
第4页 / 共15页
温湿度采集系统命令格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

温湿度采集系统命令格式.docx

《温湿度采集系统命令格式.docx》由会员分享,可在线阅读,更多相关《温湿度采集系统命令格式.docx(15页珍藏版)》请在冰豆网上搜索。

温湿度采集系统命令格式.docx

温湿度采集系统命令格式

温湿度系统数据协议

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

温湿度探头协议:

0x7eADDR3ADDR2ADDR1ADDR0T1T2T3T4H1H2H3H4BaterryCHECKSUM

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=(unsignedchar*)&temperature_f;//温度数据,浮点型

buffer[5]=*p;

p++;

buffer[6]=*p;

p++;

buffer[7]=*p;

p++;

buffer[8]=*p;

p=(unsignedchar*)&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.液晶终端主动向上位机传送一帧实时的温湿度数据格式:

0x7eframeLENTHmonitorAADR1monitorAADR00x01ADDR3ADDR2ADDR1ADDR0T1T2T3T4H1H2H3H4BaterryCHECKSUM

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.液晶终端主动向上位机传送一帧实时的温湿度数据格式之后,上位机应答液晶终端命令:

0x7eframeLENTHmonitorAADR1monitorAADR00x02CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x02:

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

CHECKSUM:

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

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

3.上位机向液晶终端发送命令读取历史温度:

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

0x7eframeLENTHmonitorAADR1monitorAADR00x03CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x03:

读取温湿度命令

CHECKSUM:

校验

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

4.液晶终端应答上位机读取历史温湿度:

0x7eframeLENTHmonitorAADR1monitorAADR00x04YearMonthDateHourMinuteSecondADDR3ADDR2ADDR1ADDR0T1T2T3T4H1H2H3H4BaterryCHECKSUM

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:

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

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

5.停止读取历史数据:

0x7eframeLENTHmonitorAADR1monitorAADR00x05CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x05:

停止读取历史数据命令

CHECKSUM:

校验

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

6.应答停止读取历史数据命令:

0x7eframeLENTHmonitorAADR1monitorAADR00x06CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x06:

停止读取历史数据命令

CHECKSUM:

校验

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

7.停止报警:

0x7eframeLENTHmonitorAADR1monitorAADR00x07CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x07:

停止报警命令

CHECKSUM:

校验

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

8.应答停止报警:

0x7eframeLENTHmonitorAADR1monitorAADR00x08CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x08:

停止报警命令

CHECKSUM:

校验

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

9.启动报警:

0x7eframeLENTHmonitorAADR1monitorAADR00x09CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x09:

启动报警命令

CHECKSUM:

校验

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

10.应答启动报警:

0x7eframeLENTHmonitorAADR1monitorAADR00x0aCHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x0a:

启动报警命令

CHECKSUM:

校验

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

11.上位机发送命令设置温度报警

0x7eframeLENTHmonitorAADR1monitorAADR20x0b/0x0cADDR3ADDR2ADDR1ADDR0T1T2T3T4CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x0b:

最低温度报警0x0c:

最高温度报警

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

T1:

T2:

T3:

T4:

温度数据

CHECKSUM:

校验

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

12.应答上位机发送命令设置温度报警

0x7eframeLENTHmonitorAADR1monitorAADR20x1d/0x1eADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x1d:

应答上位机发送命令设置温度报警上限值。

0x1e应答设置下限值

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

13.上位机发送命令设置湿度报警

0x7emonitorAADR1monitorAADR20x0e/0x0fADDR3ADDR2ADDR1ADDR00x01H1H2H3H4CHECKSUM

0x7e:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x0e:

最低湿度报警0x0f:

最高湿度报警

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

H1:

H2:

H3:

H4:

湿度数据

CHECKSUM:

校验

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

14.应答上位机发送命令设置湿度报警

0x7eframeLENTHmonitorAADR1monitorAADR20x1f/0x20ADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x1f:

应答上位机发送命令设置湿度报警上限值。

0x20应答设置下限值

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

15.上位机向液晶终端添加一个温湿度探头

0x7eframeLENTHmonitorAADR1monitorAADR20x11ADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x11:

上位机发送添加探头命令

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

16.应答上位机添加探头命令

0x7eframeLENTHmonitorAADR1monitorAADR20x12/0x13ADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x12/0x13:

应答上位机发送添加探头命令,设置添加成功应答0x12,设置添加失败应答0x13,

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

17.上位机向液晶终端删除一个温湿度探头

0x7eframeLENTHmonitorAADR1monitorAADR20x14ADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x14:

上位机删除探头命令

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

18.应答上位机向液晶终端删除一个温湿度探头

0x7eframeLENTHmonitorAADR1monitorAADR20x15/0x16ADDR3ADDR2ADDR1ADDR0CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x15/0x16:

应答上位机删除探头命令,0x15删除成功,0x16删除失败

ADDR3:

采集点地址最高字节

ADDR2:

采集点地址

ADDR1:

采集点地址

ADDR0:

采集点地址最低字节

CHECKSUM:

校验

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

19.上位机发送查询液晶终端系统时间

0x7eframeLENTHmonitorAADR1monitorAADR20x17CHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x17:

查询液晶终端系统时间命令

CHECKSUM:

校验

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

20.液晶终端上位机发送查询液晶终端系统时间

0x7eframeLENTHmonitorAADR1monitorAADR20x18yearmonthdatehourminutesecondCHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x18:

应答上位机查询液晶终端系统时间

Year:

Month:

Date:

Hour:

小时

Minute:

Second:

CHECKSUM:

校验

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

21.上位机设置液晶终端系统时间

0x7eframeLENTHmonitorAADR1monitorAADR20x19yearmonthdatehourminutesecondCHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x19:

上位机设置液晶终端系统时间

Year:

Month:

Date:

Hour:

小时

Minute:

Second:

CHECKSUM:

校验

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

22.液晶终端应答上位机设置液晶终端系统时间

0x7eframeLENTHmonitorAADR1monitorAADR20x1aCHECKSUM

0x7e:

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

frameLENTH:

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

monitorAADR1:

液晶屏地址高字节

monitorAADR0:

液晶屏地址低字节

0x1a:

液晶终端应答上位机设置液晶终端系统时间

CHECKSUM:

校验

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1