版本号140420 温湿度检测系统通讯协议.docx
- 文档编号:26706310
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:49
- 大小:126.81KB
版本号140420 温湿度检测系统通讯协议.docx
《版本号140420 温湿度检测系统通讯协议.docx》由会员分享,可在线阅读,更多相关《版本号140420 温湿度检测系统通讯协议.docx(49页珍藏版)》请在冰豆网上搜索。
版本号140420温湿度检测系统通讯协议
温湿度检测系统串口通讯和Zigbee无线通讯协议
V2.0
目录
温湿度检测系统串口通讯和Zigbee无线通讯协议1
目录1
更新说明4
系统结构图5
一、工作流程6
A数据采集流程6
B路由节点状态查询流程6
C除湿、温度控制流程6
D各节点配置流程7
E调试命令说明7
F重发和重启机制7
二、系统节点编号8
三、串口通讯8
3.1数据监控中心PC<----->上层协调器8
A、PC上层协调器(数据包1)9
(a)数据采集命令7Byte9
(b)节点状态查询命令7Byte9
(c)配置节点命令14Byte9
(d)除湿命令22Byte9
(e)常用命令1Byte10
B、上层协调器PC(数据包2)10
(a)单个网络节点状态信息(路由节点和终端节点)65Byte10
(b)下层单个网络采集的数据信息66Byte10
(c)应答串口的配置命令的数据包22Byte11
(d)应答串口0xE0命令的数据包14Byte11
(e)应答串口0xE1命令的数据包22Byte11
(f)应答串口0xE2命令的数据包14Byte11
(h)应答除湿控温22Byte12
(i)常用命令1Byte12
(j)报警信号1Byte12
3.2上层终端<----->底层协调器12
A、上层终端底层协调器12
(a)数据采集命令7Byte12
(b)节点状态查询命令7Byte13
(c)除湿命令22Byte13
(e)常用命令1Byte13
B、底层协调器上层终端13
(a)下层单个网络采集的数据信息66Byte13
(b)下层单个网络节点状态信息(路由节点)65Byte14
(c)应答除湿控温22Byte14
(d)常用命令1Byte14
3.3监控PC<----->待配置节点14
A、监控PC待配置节点15
(a)配置节点命令14Byte15
(b)常用命令1Byte15
B、待配置节点监控PC15
(a)应答串口的配置节点命令的数据包22Byte15
(b)应答串口0xE0命令的数据包14Byte15
(c)应答串口0xE1命令的数据包22Byte16
(d)应答串口0xE2命令的数据包14Byte16
(f)常用命令1Byte16
3.4底层采集节点<----->STC单片机(IIC)波特率:
1920017
1、底层采集节点STC单片机17
(a)常用命令1Byte17
2、STC单片机底层采集节点17
(a)温度湿度电压电容数据包9Byte17
(x)常用命令1Byte17
四、Zigbee无线通讯17
4.1传输网络通讯17
A、上层协调器上层节点17
(a)数据采集命令7Byte17
(b)节点状态查询命令7Byte18
(c)常用命令1Byte18
(d)除湿命令22Byte18
B、上层节点上层协调器19
(a)上层网络节点状态信息(路由节点和终端节点)6Byte19
(b)下层单个网络采集的数据信息66Byte19
(c)下层单个网络节点状态信息(终端节点)65Byte19
(d)应答除湿控温22Byte20
(e)常用命令1Byte20
4.2采集网络通讯20
A、底层协调器底层节点20
(a)节点状态查询命令(底层路由)7Byte20
(b)除湿命令22Byte20
(x)常用命令1Byte21
B、底层网络节点底层协调器21
(a)底层终端采集的数据包10Byte21
(d)应答除湿控温7Byte21
(x)常用命令1Byte22
C、底层路由底层协调器22
(a)自身节点状态数据6Byte22
五、TCP/IP网络通讯22
5.1监控中心---底层协调器22
(a)数据采集命令7Byte22
(b)节点状态查询命令7Byte22
(c)除湿命令22Byte23
(d)常用命令1Byte23
5.2底层协调器---监控中心23
(a)下层单个网络采集的数据信息66Byte23
(b)下层单个网络节点状态信息(路由节点)65Byte24
(d)应答除湿控温22Byte24
(e)常用命令1Byte24
更新说明
更新人:
李志新
更改时间:
2014.04.19
之前版本:
14’03’26
更新内容:
1、更新07命令,命令的格式不变,命令的第四位代表节点状态发送延迟时间的基数;
2、更新LC返回ACK信息的格式及内容;
3、新增06命令,用于关闭除湿机;
4、新增LC与仓库PC之间的常规命令E1、E2、以及返回FC;
5、新增仓库PC给LC的0xAB命令,用于返回ACK给LC。
4、5在程序中有。
系统结构图
温湿度检测系统网络结构图如下:
一、工作流程
A数据采集流程
(1)数据监控中心向上层协调器节点发送数据采集命令:
(i)在正常工作时,该命令为定时发送,(ii)如需实时监测某一节点的信息,可通过单击监控软件的按钮发送单一节点或某几个节点的采集命令(两种情况都通过更新单个仓库所有节点的信息来实现)。
上层协调器节点返回确认信息(下称ACK,任何信息发送端在发送信息后需等待ACK,如果等待时间超过阈值1,则重发,重发次数超过阈值2,则报错。
)
(2)上层协调器节点向下广播某仓库的采集命令,命令中包含该仓库应有节点数目,节点数量Nx,相应仓库的上层终端收到采集命令返回ACK。
各种节点收到数据后,应当先校验,后处理,是自己的命令和工作,才返回ACK,否则不返回任何信息。
(3)上层终端节点通过232向底层协调器节点发送采集命令,底层协调器返回ACK。
(4)底层协调器节点发送唤醒信号,采集节点被唤醒后,采集温度、湿度、电压等数据,然后按照自身库内ID*10ms的延时,向底层协调器发送采集数据,底层协调器则等待所有采集节点传送采集数据。
(5)底层协调器节点收到采集数据,按照每10个节点数据为一个数据包,向上发送。
根据上层发送的节点数量Nx,当底层终端传送Nx个数据包后,向上层终端发送当前节点的采集数据,未达到Nx,则等待,如若等待时间超过设定阈值,说明存在错误节点,则有效信息包数量之和与真实节点数量不一致,此数据与正常采集数据包格式一致,由PC判断节点状态。
上层网络传输数据按手动路由方式,每个节点传输数据至自身父节点,直至上层协调器。
至此,本仓库采集完成。
B路由节点状态查询流程
监控中心在向仓库内部发送指令(检测温湿度,控制等)前先发送07命令,检测上层网络各节点在线状态,各个被查节点按照网内节点ID*10ms的延时,向协调器上报自己的网内ID及父节点的网内ID。
由此PC可以判断其网络结构是否为由父到子的树状拓扑结构。
若正常,则可以发送03,04,05命令。
若异常,则在上层界面请求更新上层网络结构。
此时需广播发送08命令来更新上层网络,08命令包含错误两个UR的网内ID,UR的网络延迟启动时间T1。
收到命令的UR先做判断,若是自己则重启,重启后节点网络初始化的延迟时间T2=T1*IDinNet。
若08命令中异常节点的网内ID均为0xFF,则表示要重启整个上层网络。
收到命令的UR均重启,重启后节点网络初始化的延迟时间仍为T2=T1*IDinNet。
网络更新完成并再次发送07命令检测无误后,则可以向仓库发送指令。
而对于底层路由(包含除湿机等控制节点)状态的查询,是在执行完刚才的流程后。
UC广播发送03命令,UE收到后先做判断,若是自己的仓库,则将命令串口发给LC。
LC将命令广播,底层相应被检测节点收到命令后,将按IDinHouse*10ms延迟将ID打包无线发给LC。
LC收到各节点的小数据包后打包成一个大数据包串口发给UE。
UE经上层网络逐级发给UC。
通讯过程中,双方收到正确数据,返回给对方ACK为:
0xFC,收到错误数据,返回给对方ACK为:
0xFD;
C除湿、温度控制流程
除湿、温度控制功能:
监控中心PC、仓库显示界面均具有。
除湿、温度控制过程显示:
监控中心PC、仓库显示界面均具有。
监控中心在每天定时或者手动采集温湿度数据后,判断各个仓库温湿度数值,与标准值对比:
湿度:
超过设定值开始除湿,除湿时间读取PC中的设置值,该设置值由监控中心操作人员根据季节、天气及仓库面积、除湿机功率等因素设置,默认时间1小时。
开始除湿时,监控PC通过网络(无线网络或有线网络)向待除湿仓库底层协调器发送除湿命令(格式见通讯格式目录),此时若仓库显示界面处于开启状态,则将控制除湿机的权限移交给仓库界面,此时LC返回给UCACK信息(具体格式见LC应答ACK信息),拒绝开启除湿机。
反之,LC返回ACK信息同意开启除湿机并发送此命令给相应除湿机节点(具体节点设置参考时间设置)。
节点收到后启动除湿机,并向底层协调器报告除湿状态,底层协调器分析除湿节点,将出错的节点ID转发给监控PC及仓库内显示界面。
湿度控制过程结束。
D各节点配置流程
C.1配置流程包括:
(1)节点初始化(0xE0命令)
协调器PanID初始化为0x1111,非协调器节点PanID初始化为0x2222
(2)存储自身PrimaryIEEE地址(0xE2命令)
(3)配置和存储NVIEE地址和PanID。
(0x0A命令)
C.2配置途径包括:
通过串口配置;
E调试命令说明
0xE0
清空已配置的NVIEEE,初始化PanID,并重启返回结果(注1)
0xE1
返回自身NVIEEE、PriIEEE、PanID(查询功能)
0xE2
将自身PrimaryIEEE地址写入NV区,并从串口输出
0xE9
EC(包头)+(Task_Id)+(自身节点ID)+(父节点短地址)+(自身短地址)8Byte
注1:
协调器PanID初始化为0x1111,非协调器节点PanID初始化为0x2222
注2:
0xE0、0xE1、0xE2三个命令可以通过串口发送。
F重发和重启机制
E.1为保证数据传输的正确性,节点具有命令或数据包的超时重发机制(重发两次)
E.2为防止节点在工作过程中非正常重启,节点具有重启机制:
二、系统节点编号
系统节点编号与节点PrimaryIEEEaddress一致,印刷后粘贴子节点盒子上。
经配置后,NVIEEEaddress含8个字节,格式如下:
字节数
2BYTE
1BYTE
1BYTE
2BYTE
1BYTE
1BYTE
内容
出货年份
当年批号
节点类型
节点ID
所在仓库
库内ID/网内ID
Ex
20
13
01
**
00
01
01
FF
节点NVIEEE节点类型如下表:
标号
节点类型
0A
上层协调器节点
0B
上层路由节点
1B
底层路由节点
0C
上层终端节点
1D
底层协调器节点
1E
底层采集节点
2E
底层除湿控制节点
3E
底层温度控制节点
00
手持终端节点
所在仓库:
存储节点所在仓库的ID号
库内ID:
底层路由、底层采集节点、底层除湿节点、底层温度节点按仓库分别编址,从0x01开始
网内ID:
指上层网络路由节点网内地址,0x01开始
其余节点无意义,补0
节点ID统一编址,从0x01开始
三、串口通讯
3.1数据监控中心PC<----->上层协调器
PC上层协调器
上层协调器PC
(a)数据采集命令
(a)底层传送的采集数据
(b)节点状态查询命令
(b)被测节点的状态数据包
(c)配置节点命令
(c)应答配置命令数据包
(d)除湿命令
(d)应答除湿控温命令
(e)常用命令
(e)应答常用命令
(f)报警信号
A、PC上层协调器(数据包1)
(a)数据采集命令7Byte
功能
数据包头
命令代码
数据对象
对象数量
CRC校验
大小
1Byte
1Byte
2Byte
1Byte
2Byte
数据包头
0xFE
命令代码
0x04
采集单个仓库内指定节点温湿度数据命令
数据对象
待采集仓库节点ID,指相应仓库上层终端节点ID
对象数量
待采集仓库节点的数量,最大0xFF
(b)节点状态查询命令7Byte
功能
数据包头
命令代码
数据对象
对象数量
CRC校验
大小
1Byte
1Byte
2Byte
1Byte
2Byte
数据包头
0xFE
命令代码
0x07
检测上层网络路由和终端节点状态命令
0x03
检测单个下层网络的路由节点状态命令
数据对象
对于07命令,该位代表UR将自己ID打包发送的延迟时间基数。
延迟时间t=基数*网内ID*100ms。
对于03命令,该位代表待采集仓库上层终端的节点ID
对象数量
(Ⅰ)检测上层网络,上层网络中所有路由和终端节点数量
(Ⅱ)检测下层网络,待检测仓库的路由节点数量
(c)配置节点命令14Byte
功能
数据包头
命令代码
PanID
NVIEEE
CRC校验
大小
1Byte
1Byte
2Byte
8Byte
2Byte
数据包头
0xFE
命令代码
0x0A
配置节点命令
PanID
待更新的PanID
NVIEEE
待更新的NVIEEE
(d)除湿命令23Byte
功能
数据包头
命令代码
除湿时间
数据对象
对象数量
数据内容
CRC校验
大小
1Byte
1Byte
1Byte
2Byte
1Byte
15Byte
2Byte
数据包头
0xFE
命令代码
0x05
单个仓库除湿控温命令
除湿时间
采用压缩BCD码,最大除湿时间10.0小时
数据对象
待除湿仓库节点库内ID,指相应仓库上层终端节点ID
对象数量
待开启除湿节点的数量,最大为控制节点数,全1即0xFF表示全部打开
数据内容
选择性开启时,待开启除湿节点的节点ID列表,按位存储,每一位代表一个除湿机,1为开,0为关,位顺序对应库内节点ID,15字节数据最低位为1号节点,最高位为120号节点
MSB
………………….
LSB
首字节
尾字节
(e)关闭除湿机命令23Byte
功能
数据包头
命令代码
未用
数据对象
对象数量
数据内容
CRC校验
大小
1Byte
1Byte
1Byte
2Byte
1Byte
15Byte
2Byte
数据包头
0xFE
命令代码
0x06
关闭单个仓库除湿机命令
数据对象
待除湿仓库节点库内ID,指相应仓库上层终端节点ID
对象数量
待关闭除湿节点的数量,全1即0xFF表示全部关闭
数据内容
选择性关闭时,待关闭除湿节点的节点ID列表,按位存储,每一位代表一个除湿机,1为关,0为不关,位顺序对应库内节点ID,15字节数据最低位为1号节点,最高位为120号节点
MSB
………………….
LSB
首字节
尾字节
(f)更新上层网络命令7Byte
功能
数据包头
命令代码
网内节点ID(父)
网内节点ID(子)
网络启动延迟时间
CRC校验
大小
1Byte
1Byte
1Byte
1Byte
1Byte
2Byte
数据包头
0xFE
命令代码
0x08
网络重启/节点重启
网内节点ID(父、子)
发现互为父节点情况:
1、出错的两个节点重启2、当网内ID均为0xFF时,上层网络重启
网络启动延迟时间
设备启动后,网络启动的延迟时间
(g)常用命令1Byte
0xFD
PC收到的数据包错误
0xFC
PC收到的数据包正确
0xE0
清空已配置的NVIEEE,初始化PanID,并重启返回结果
0xE1
用于返回自身NVIEEE、PriIEEE、PanID
0xE2
返回待配置节点的PrimaryIEEE和PanID
0xE0:
初始化后的结果是PanID=0x1111
B、上层协调器PC(数据包2)
(a)单个网络节点状态信息(路由节点和终端节点)65Byte
功能
数据包头
数据类型
有效信息包数量
信息包(全部路由节点)
CRC校验
IDinNet(父)
IDinNet
…
IDinNe(父)
IDinNet
大小
1Byte
1Byte
1Byte
2Byte
…
2Byte
2Byte
数据包头
0xFE
数据类型
0x07
数据包是上层网络节点状态信息
0x03
数据包是下层单个网络节点状态信息
有效信息包数量
新07命令返回数据包包含父节点的网内ID和该节点自己的网内ID
信息包
被测测节点信息
被检测节点ID,2Byte,不足30个的位置补0
(b)下层单个网络采集的数据信息66Byte
功能
数据包头
数据类型
有效信息包数量
传送结束标志
信息包(10段)
CRC校验
库内节点ID
采集数据
大小
1Byte
1Byte
1Byte
1Byte
1Byte
5byte
2Byte
数据包头
0xFE
数据类型
0x04
数据包是下层网络采集的数据信息
有效信息包数量
每个数据包包含5个信息包,除有效信息包外,其余补0
传送结束标志
0xFF
表示传送结束
0x00
表示传送未结束
信息包
采集
传感数据
传感节点ID
采集数据
温度湿度
电压/电容
1Byte
3byte
2byte
(c)应答串口的配置命令的数据包22Byte
功能
数据包头
数据类型
信息包
CRC校验
PriIEEE
PanID
NVIEEE
大小
1Byte
1Byte
8Byte
2Byte
8Byte
2Byte
数据包头
0xFE
数据类型
0x0A
应答串口的配置节点命令的数据包
信息包
PriIEEE
PriIEEE
PanID
PanID
NVIEEE
NVIEEE
(d)应答串口0xE0命令的数据包14Byte
功能
数据包头
数据类型
信息包
CRC校验
PriIEEE
PanID
大小
1Byte
1Byte
8Byte
2Byte
2Byte
数据包头
0xFE
数据类型
0x0C
应答串口的0x0C命令的数据包,对于UC节点,返回自身信息
信息包
PriIEEE
PriIEEE
PanID
PanID
(e)应答串口0xE1命令的数据包22Byte
功能
数据包头
数据类型
信息包
CRC校验
PriIEEE
PanID
NVIEEE
大小
1Byte
1Byte
8Byte
2Byte
8Byte
2Byte
数据包头
0xFE
数据类型
0x0A
应答串口的配置节点命令的数据包
信息包
PriIEEE
PriIEEE
PanID
PanID
NVIEEE
NVIEEE
(f)应答串口0xE2命令的数据包14Byte
功能
数据包头
数据类型
信息包
CRC校验
PriIEEE
PanID
大小
1Byte
1Byte
8Byte
2Byte
2Byte
数据包头
0xFE
数据类型
0x0C
应答串口的0x0C命令的数据包,对于UC节点,返回自身信息
信息包
PriIEEE
PriIEEE
PanID
PanID
(h)应答除湿控温22Byte
功能
数据包头
命令代码
数据对象
对象数量
数据内容
CRC校验
大小
1Byte
1Byte
2Byte
1Byte
15Byte
2Byte
数据包头
0xFE
命令代码
0x05
单个仓库除湿控温命令
数据对象
除湿控温仓库库内节点ID,指相应仓库上层终端节点ID
对象数量
未成功开启除湿控温节点的数量
数据内容
未成功开启除湿节点的节点ID列表,按位存储,每一位代表一个除湿机,1为未开,0为开启,位顺序对应库内节点ID,15字节数据最低位为1号节点,最高位为120号节点
MSB
………………….
LSB
首字节
尾字节
(i)应答关闭除湿机命令22Byte
功能
数据包头
命令代码
数据对象
对象数量
数据内容
CRC校验
大小
1Byte
1Byte
2Byte
1Byte
15Byte
2Byte
数据包头
0xFE
命令代码
0x06
关闭单个仓库除湿控温命令
数据对象
除湿控温仓库库内节点ID,指相应仓库上层终端节点ID
对象数量
未成功关闭除湿控温节点的数量
数据内容
未成功关闭除湿节点的节点ID列表,按位存储,每一位代表一个除湿机,1为未关闭,0为已关闭,位顺序对应库内节点ID,15字节数据最低位为1号节点,最高位为120号节点
MSB
………………….
LSB
首字节
尾字节
(j)底层协调器应答UC所发命令的ACK信息8Byte
功能
数据包头
LC的ID
LC的任务ID
LC的状态
仓库PC状态
CRC校验
大小
1Byte
2Byte
1byte
1byte
1byte
2Byte
数据包头
0xAC
对于UC发出的03、04、05、06命令,LC收到后即返回ACK信息
LC的状态
0x00/0x01
对于UC的05、06命令,若下位机开启,则控制权限交给下位机,此时LC状态置为0x00,表示LC不处理UC的05(06)命令。
反之则为0x01,表示处理该05(06)命令。
对于03、04命令,若LC为空闲状态,则始终返回0x00。
仓库PC状态
0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 版本号140420 温湿度检测系统通讯协议 版本号 140420 温湿度 检测 系统 通讯 协议