预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

无线传感器网络(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。 读取成功返回格式如下: 地址:加入传感器模块地址。 数据:传感器+测量值(ASSII码)。其中光敏:GM+***(3字节ASII码);温度:WD+***(3字节ASII码);可调电位器:AD+***(3字节ASII码)。 读取失败返回格式如下: 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闪烁)。 返回格式:返回格式与发送格式相同,只是数据有变化。 测试成功:返回数据为OK。具体格式如下: 测试失败:返回数据为E0。具体格式如下: 2)TBL TBL:传感器电池寿命。 TBL具体格式如下: 需要加入的地址和数据———地址:传感器模块编号;数据:无。 读取成功返回格式如下: 地址:被测传感器模块的地址。 数据:电压(3字节ASII码,精确到0.1V,例如3.2V)。 读取失败返回格式如下: 3)TBE TBE:BEEP测试。 TBE具体格式如下: 需要加入的地址和数据———地址:传感器模块地址;数据:1为发声,0为不发声。 测试成功返回格式如下: 地址:传感器模块地址。 数据:OK。 测试失败返回格式如下: 例如:如果想读取网络内某个节点的WD传感器,只需往网关发送一帧命令即可,网关会通过无线访问该节点,然后节点从无线返回该节点温度值给网关,网关再从串口以同样的数据格式返回此节点的温度值。具体格式如下: 首先PC从串口发送此命令到网关: 如果网关读取成功,则将多串口返回数据: 以上表示读取物理地址为00000001(ASCII码)的节点的温度传感器,节点返回的温度值为25℃。 如果读取失败,则返回格式如下: