1. 介绍
ZigBee是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术
ZigBee建立在IEEE 802.15.4标准(定义了PHY和MAC层)之上,ZigBee联盟对其网络层和应用层进行了标准化
ZigBee协议栈可分为五层
- 物理层(PHY) - 介质访问控制层(MAC) - 网络层(NWK) - 应用程序支持子层(APS) - 应用层(APL)
2.特点
1、低功耗。
在低耗电待机模式下,2 节5 号干电池可支持1个节点工作6~24个月,甚至更长。这是Zigbee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。
2、低成本。
通过大幅简化协议(不到蓝牙的1/10) ,降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且Zigbee免协议专利费。每块芯片的价格大约为2 美元。
3、低速率。
Zigbee工作在20~250 kbps的较低速率,分别提供250 kbps(2.4GHz)、40kbps (915 MHz)和20kbps(868 MHz) 的原始数据吞吐率,满足低速率传输数据的应用需求。
4、近距离。
传输范围一般介于10~100 m 之间,在增加RF 发射功率后,亦可增加到1~3 km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。
5、短时延。
Zigbee 的响应速度较快,一般从睡眠转入工作状态只需15 ms ,节点连接进入网络只需30 ms ,进一步节省了电能。相比较,蓝牙需要3~10 s、WiFi 需要3 s。
6、高容量。
Zigbee 可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254 个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000 个节点的大网。
7、高安全。
Zigbee 提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL) 防止非法获取数据以及采用高级加密标准(AES 128) 的对称密码,以灵活确定其安全属性。
8、免执照频段。
采用直接序列扩频在工业科学医疗( ISM) 频段,2. 4 GHz (全球) 、915 MHz(美国) 和868 MHz(欧洲) 。
3.三种组网结构
ZigBee之所以能在传感器网络等领域应用中被广泛应用,这得益于它强大的组网能力,可以形成星型网、树型网和网状网等三种ZigBee网络,可以根据实际的开发项目需要来选择适合的ZigBee网络结构进行组网,这三种ZigBee网络结构也各有千秋。
星形拓扑
星形拓扑是其三种拓扑结构中最为简单的一个拓扑形式,它包含一个Co-ordinator(中央协调器) 节点和多个End Device(终端)节点。每一个End Device (终端)节点只能和 Co-ordinator (协调器)节点进行链接通信,不能再链接其他End Device (终端)节点。如果需要在两个 End Device (终端)节点之间进行互相的通信必须得通过链接Co-ordinator (协调器)节点才能进行信息的接收、转发。
这种拓扑形式具有一个缺点:节点之间的数据传输途径有且只有一条唯一的路由。Co-ordinator(协调器)节点的状态有可能成为整个网络的影响点。星形网络拓扑实现的组网不需要使用 ZigBee 的网络层协议,因为本身IEEE 802.15.4的协议层就已经是在星形拓扑形式的基础上实现的,但是这增加开发者在应用层更多的工作,包括需要自己进行处理信息的接收、转发等工作。
树形拓扑
树形拓扑包括一个Co-ordinator(协调器)节点以及多个的 Router(路由器) 和 End Device(终端)节点。Co-ordinator (协调器)连接多个Router(路由) 和 End Device(终端)节点, 其子节点的 Router(路由)也可以连接多个Router(路由)和End Device(终端)节点, 通过这样子进行重复的叠加多个层级形成树状网。树形拓扑结构如图:
需要注意的是:
- Co-ordinator (协调器)节点和 Router (路由)节点可以由多个连接的子节点。
- 但End Device(终端)节点不能再连接其他子节点。
- 有同一个父节点(协调器或路由)的节点之间可以称为兄弟节点
- 有同一个祖父节点(协调器或路由)的节点之间可以称为堂兄弟节点
树状拓扑中的通信规则:
- 每一个路由节点都只能和他的父节点和子节点之间进行通信。
- 如果需要从节点与节点之间需要发送数据,那信息就会沿着树的路由往上上传递到最近的一个祖先节点后,再往下传递到目标节点。
树形拓扑的缺点:信息有且只有唯一的一条路由通道。而且信息的传递路由是通过协议栈层进行处理的,整个的通信路由过程对于应用层来说是相对完全透明的。①②③
Mesh拓扑(网状拓扑)
Mesh拓扑包含一个Co-ordinator(协调器)节点和多个Router(路由)节点 和End Device(终端)节点。Mesh网络拓扑形式和树形拓扑大致相同;但是基于树状结构来说,网状网络拓扑是具有更灵活的通信路由规则的拓扑形式,在可能的情况下,路由节点之间是可以进行直接通信的。这种路由机制使得节点间的信息通信变得更加的有效率,而且这也意味当通信时一个路由路径中出现了问题,信息也可以沿着其他的路由自动进行传输。Mesh网状拓扑的示意图如下所示:
MESH 网状网络拓扑结构的网络具有非常强大的功能,网络可以通过“多级跳”的方式来进行通信;而且MESH 网状网络拓扑结构还可以组成非常复杂的网络;其组成的网络还具备自组织、自愈的功能;
星型和树型网络都比较适合点对多点且传输距离较近的应用。
4.Zigbee协议栈使用
使用 ZigBee 协议栈进行开发的基本思路可以概括为如下三点:
- 用户对于 ZigBee 无线网络的开发就简化为应用层的 c 语言程序开发,不需要深入研究复杂的 ZigBee 协议栈;
- ZigBee 无线传感器网络中数据采集,只需用户在应用层加入传感器的读取函数即可;
- 如果考虑节能,可以根据数据采集周期进行定时,定时时间到就唤醒 ZigBee 的终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器。