微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于ZigBee无线传感器网络的智能家居设计

基于ZigBee无线传感器网络的智能家居设计

时间:05-23 来源:互联网 点击:

(1)在网络开始建立前,首先要确定这个设备为ZigBee协调器。我们通过协议栈配置文件ZigBee.def中的#define I_AM_COORDINATOR来定义这个设备为ZigBee协调器。协调器的应用层调用NLME_NETWORK_FORMATION.request原语,发出建立网络请求,网络层收到这个原语后,要求MAC层执行信道能量扫描。
(2)MAC层调用MLME_SCAN.request,主要找到信道能量低于设定能量值的信道,标注这些信道是可用信道。通过函数NWKStartDiscovery(),对扫描的起始信道进行设置假定起始值为N。然后执行MACStartED()对信道进行能量检测扫描,得到信道能量值。
(3)通过MACStartScan(TRUE)对信道N进行主动扫描,判断是否发现网络。通过记录每次接收到的信标帧信息扫描可用信道中网络活动情况,并将扫描结果记录在个域网描述符列表中,最后找到一个最优信道。
(4)调用函数APLNetworkForm()在最优信道上建立网络,给网络随机分配一个PAN ID,通过MACSetShortAddrLSB(0x00)和MACSetShort AddrMSB(0x00)给协调器分配一个0x0000的网络地址,并把协调器的MAC地址存入邻居表中。网络层向MAC层发送MLME_START.request原语请求开始发送信标帧运行新的个域网,MAC层将运行结果通过MLME_START.confirm原语返回网络层。网络层收到个域网启动状态后,通过NL ME_NETWORK_FORMATION.confirm原语将告知应用层建立要求的网络状态。最后协调器应用层通过发送NLME_PERMIT_JOIN.request原语允许设备与网络连接。
2.2 设备入网
在一个ZigBee协调器设备建立网络后,路由器设备或者终端设备,可以加入协调器建立的网络,具体加入网络有两种方式,一种是通过关联(Association)方式,就是待加入的设备发起加入网络,另一种是直接(Direct)方式。下面重点讨论第一种方式,也是实际中用的最多的方式。
首先对于一个ZigBee终端设备,只能加入一个网络。对于新设备来说,它首先会扫描周围它可找到的网络,寻找有能力批准自己加入网络的网络协调器,并把可以找到的所有网络协调器的资料存入自己的相邻表。存入相邻表的网络协调器的资料包括ZigBee协议版本、协议栈配置文件、PAN ID、逻辑信道以及是否允许加入网络等。在相邻表中选择一个深度最小的网络协调器,并对其发出请求信息,如果出现相同最小深度的两个以上网络协调器信息,那么随机选取一个发送请求。如果相邻表中没有合适的网络协调器信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么网络协调器同时会分配给它一个16位的网络地址,此时入网成功,终端设备可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或者相邻表中没有合适的网络器。
设备关联加入网络的具体实现如下:
(1)在加入网络前,首先要确定这个设备是ZigBee终端设备。通过协议栈配置文件ZigBee.def中的#define I_AM_END_DEVICE来定义这个设备为ZigBee终端设备。
(2)确定为终端设备后,应用层首先设定待扫描的信道以及每个信道扫描的时间,调用NLME_NE1WORK_DISCOVERY.request原语寻找合适网络,网络层收到该原语后,通过MLME_SCAN.request,原语要求MAC层执行主动扫描获得目前网络描述参数。通过函数NWKStartDiscovery(),对扫描的起始信道进行设置,假定起始值为N。然后执行MACStartScan(TRUE)对信道N进行主动扫描。
(3)完成扫描后,网络层将发送NLMF_NETWORK_DISCOVERY.confirm原语告知应用层。通过调用回调函数AppOkayToAssociate()来判断是否要加入这个网络,判断的标准是网络协调器的MAC地址是否符合终端设备的要求,这样可以使终端设备加入到指定的网络中,应用层根据情况调用NLME_JOIN.request原语从邻居表中选择所发现的网络加入。网络确定后,网络层将请求MAC层管理实体对逻辑信道,PAN标识符等有关属性进行配置,发送MLME_SYNC.request原语获取它所要连接协调器的信标,实现与协调器的同步。然后调用MLME_ASSOCIATE.request原语到MAC层。
(4)执行函数PHYPutTxData(MAC_CMD_AS_SOCIATE_REQ)向协调器发送加入请求,并等待发送加入请求的确认。协调器接收到连接请求后首先调用MACIsJoinPermitted()来判断网络是否允许任何设备关联,允许则返回给终端设备确认帧。协调器的网络层将分配惟一的16位网络地址给该设备,并根据设备提供的信息在它的邻居表中为终端设备创建新的入口,随后向MAC发送表明连接成功的MLM_ASSOCIATE.response原语表明设备已经成功同网络连接。设备的MAC层收到来自协调器的连接响应命令帧后,通过MLME_ASSOCIATE.confirm原语发送给设备应用层表明加入成功,设备的网络层将在邻居表中设置逻辑地址信息。

3 结束语
介绍了基于ZigBee无线传感器网络技术组建信息家居网络,如图4所示,能够对家居环境进行较好的监控,根据现在家居存在的问题,拟采取现有通信网络与短距离无线网络相结合的方法提高家居数据的准确性、实时性和可靠性。相对于常见的Bluetooth、Wi-Fi等具有低复杂度、低成本、低功耗、高安全性等优点,随着无线网络技术的进一步发展,它将成为智能家居发展的趋势。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top