《Zigbee网关通信协议.docx》由会员分享,可在线阅读,更多相关《Zigbee网关通信协议.docx(4页珍藏版)》请在三一办公上搜索。
1、Zigbee网关通信协议无线传感器网络网关的的通信协议 网关是通过串口与PC 机相连的。PC 机可以通过串口发送采集命令和收集采集数据,为了能有效管理这些数据,需要执行统一的数据通信格式。 下面介绍该系统中所使用的通用数据格式。 每一帧数据都采用相同的帧长度,且都带有帧头、数据和帧尾。具体格式如下: 如上所示,每一帧数据的长度都是32字节。除帧头和帧尾,每一帧数据都由命令头、发送地址、有效数据和校验和组成。 命令头:所执行的命令。 地址:所访问模块的长(前8字节)/短地址(后2字节)。 数据:传送各个参数、变量与返回值及各种需要突发发送的数据。 校验和:从命令头到数据尾的加和校验,用于确定数据
2、正确与否。 注:命令头、地址的长地址部分和数据都采用ASCII码。 这个系统的命令分为3种,分别为 读命令R(ead):包括读各个传感器或网络状态命令。 测试命令T(est):测试LED、BEEP或电池寿命命令。 扩展板命令E(xtend):控制和读扩展板命令。 下面介绍具体命令格式。 1.读命令 1) RAS RAS(ReadallSensor):读传感器。 RAS具体格式如下: 需要加入地址和数据地址:传感器模块地址;数据:GM*/WD*。 传感器种类包括光敏:GM;温度:WD;可调电位器:AD。 (1) 读取成功返回格式如下: 地址:加入传感器模块地址。 数据:传感器+ 测量值(ASSI
3、I码)。其中光敏:GM+ * * * (3 字节ASII码);温度:WD +*(3字节ASII码);可调电位器:AD+* (3字节ASII码)。 (2) 读取失败返回格式如下: 2) RND RND:无线网络发现。 RND 具体格式如下: 需要加入地址和数据地址:无;数据:无,只需要命令头。 (1)读取成功返回格式如下: 返回网络中节点的性质:RFD(终端节点)/ROU(路由器)+地址+第几个。 例如:如果返回第1个RFD 节点,则数据段为RFD01。具体格式如下: (2)读取成功结束格式如下: 2.测试命令 1) TLD TLD:测试传感器LED 灯。 TLD 具体格式如下: 需要加入的地址
4、和数据地址:传感器节点地址;数据:控制数据。 数据:C(控制亮灭)+D+LED 号(3/4)+X(X=0 灭,X=1 亮);T(LED 闪烁)+D+LED 号(3/4)+X(X=0灭,X=1闪烁)。 返回格式:返回格式与发送格式相同,只是数据有变化。 (1) 测试成功:返回数据为OK。具体格式如下: (2) 测试失败:返回数据为E0。具体格式如下: 2) TBL TBL:传感器电池寿命。 TBL 具体格式如下: 需要加入的地址和数据地址:传感器模块编号;数据:无。 (1) 读取成功返回格式如下: 地址:被测传感器模块的地址。 数据:电压(3字节ASII码,精确到0.1V,例如3.2V)。 (2
5、) 读取失败返回格式如下: 3) TBE TBE:BEEP测试。 TBE 具体格式如下: 需要加入的地址和数据地址:传感器模块地址;数据:1为发声,0为不发声。 (1) 测试成功返回格式如下: 地址:传感器模块地址。 数据:OK。 (2) 测试失败返回格式如下: 例如:如果想读取网络内某个节点的WD 传感器,只需往网关发送一帧命令即可,网关会通过无线访问该节点,然后节点从无线返回该节点温度值给网关,网关再从串口以同样的数据格式返回此节点的温度值。具体格式如下: 首先PC 从串口发送此命令到网关: 如果网关读取成功,则将多串口返回数据: 以上表示读取物理地址为00000001(ASCII码)的节点的温度传感器,节点返回的温度值为25 。 (3) 如果读取失败,则返回格式如下: