文档库 最新最全的文档下载
当前位置:文档库 › Zigbee网关通信协议

Zigbee网关通信协议

无线传感器网络(Zigbee)网关的的通信协议网关是通过串口与PC 机相连的。PC 机可以通过串口发送采集命令和收集采集数据,为了能有效管理这些数据,需要执行统一的数据通信格式。

下面介绍该系统中所使用的通用数据格式。

每一帧数据都采用相同的帧长度,且都带有帧头、数据和帧尾。具体格式如下:

如上所示,每一帧数据的长度都是32字节。除帧头和帧尾,每一帧数据都由命令头、发送地址、有效数据和校验和组成。

命令头:所执行的命令。

地址:所访问模块的长(前8字节)/短地址(后2字节)。

数据:传送各个参数、变量与返回值及各种需要突发发送的数据。

校验和:从命令头到数据尾的加和校验,用于确定数据正确与否。注:命令头、地址的长地址部分和数据都采用ASCII码。

这个系统的命令分为3种,分别为

?读命令R(ead):包括读各个传感器或网络状态命令。

?测试命令T(est):测试LED、BEEP或电池寿命命令。

?扩展板命令E(xtend):控制和读扩展板命令。

下面介绍具体命令格式。

1.读命令

1) RAS

RAS(ReadallSensor):读传感器。

RAS具体格式如下:

需要加入地址和数据——地址:传感器模块地址;数据:GM***/WD***。传感器种类包括光敏:GM;温度:WD;可调电位器:AD。

(1)读取成功返回格式如下:

地址:加入传感器模块地址。

数据:传感器+ 测量值(ASSII码)。其中光敏: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 具体格式如下:

需要加入的地址和数据——地址:传感器节点地址;数据:控制数据。数据: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)读取失败返回格式如下:

3) TBE

TBE:BEEP测试。

TBE 具体格式如下:

需要加入的地址和数据———地址:传感器模块地址;数据:1为发声,0为不发声。

(1)测试成功返回格式如下:

地址:传感器模块地址。

数据:OK。

(2)测试失败返回格式如下:

例如:如果想读取网络内某个节点的WD 传感器,只需往网关发送一帧

命令即可,网关会通过无线访问该节点,然后节点从无线返回该节点

温度值给网关,网关再从串口以同样的数据格式返回此节点的温度值。具体格式如下:

①首先PC 从串口发送此命令到网关:

②如果网关读取成功,则将多串口返回数据:

以上表示读取物理地址为00000001(ASCII码)的节点的温度传感器,节点返回的温度值为25 ℃。

(3)如果读取失败,则返回格式如下:

相关文档