1. ZigBee技术概述:物联网无线通信技术对比、ZigBee协议栈特点、ZigBee联盟与标准、ZigBee应用场景分析
各位同学,欢迎来到《单片机无线通信ZigBee协议栈开发与传感器网络实战》的第一章。
做物联网开发这些年,我经常被问到同一个问题:「老师,这么多无线技术,我到底该选哪个?」说实话,这个问题没有标准答案。但如果你要做的是低功耗、自组网、节点多的传感器网络,ZigBee 几乎是绕不开的选择。
这一章,我们先不急着写代码。先把 ZigBee 放在整个物联网无线通信的版图里,看看它到底处在什么位置,有什么本事,适合干什么活。嗯,磨刀不误砍柴工。
1.1 物联网无线通信技术对比
物联网的无线通信技术,说白了就是「远距离」和「近距离」两大阵营。远距离的有蜂窝(4G/5G)、LoRa、NB-IoT;近距离的有 Wi-Fi、蓝牙、ZigBee、Thread、Z-Wave 等。
我刚开始做项目时,也踩过不少坑。有一次给一个智能农业项目选型,客户要求「电池供电、覆盖 200 个节点、数据量不大、要能自动组网」。我当时第一反应是 Wi-Fi,结果一算功耗,电池撑不过三天。后来换成 ZigBee,同样的电池跑了半年多。
下面这张表,是我个人习惯用来做技术选型对比的,分享给大家:
| 技术 | 频段 | 速率 | 功耗 | 组网能力 | 典型距离 | 成本 |
|---|---|---|---|---|---|---|
| Wi-Fi | 2.4/5 GHz | 高(Mbps) | 高 | 星型 | ~100m | 中 |
| 蓝牙/BLE | 2.4 GHz | 中(Mbps) | 低 | 星型/散射网 | ~10m | 低 |
| ZigBee | 2.4 GHz / 868 / 915 MHz | 低(250 kbps) | 极低 | 网状/树状/星型 | ~100m(可多跳) | 低 |
| LoRa | Sub-1 GHz | 极低(kbps) | 极低 | 星型 | ~5km | 中 |
| NB-IoT | 授权频段 | 低(kbps) | 低 | 蜂窝 | ~10km | 高 |
核心结论:ZigBee 的强项不在速度,而在「低功耗 + 大规模自组网」。如果你需要 100 个以上的节点,且每个节点都要靠电池活一年以上,ZigBee 几乎是唯一的选择。
1.2 ZigBee协议栈特点
ZigBee 协议栈,我习惯把它比作「物联网界的快递系统」。你想想看,快递要寄出去,得先打包、贴单、分拣、运输、派送。ZigBee 的数据传输也是类似的流程。
它的协议栈分为四层,从下往上分别是:
- 物理层(PHY):负责最底层的无线收发。说白了就是「怎么把 0 和 1 变成无线电波发出去」。ZigBee 主要工作在 2.4 GHz 频段,全球通用。
- MAC 层:负责「谁先说话、谁后说话」。用 CSMA/CA 机制避免数据碰撞。我在项目中遇到过一个问题:节点一多,数据就丢包。后来发现是 MAC 层的退避时间参数没调好。
- 网络层(NWK):这是 ZigBee 的灵魂。它负责路由、组网、地址分配。ZigBee 能自动形成网状网络,节点坏了数据会自动绕路走。
- 应用层(APL):包括应用支持子层(APS)和 ZigBee 设备对象(ZDO)。这里定义了「数据长什么样、设备怎么互相发现」。ZigBee 的 Cluster Library(ZCL)就是标准化的「数据字典」。
我的经验:初学者最容易忽略的是网络层。很多人把 ZigBee 当串口用,直接发数据,结果发现距离一远就断。记住,ZigBee 的优势是「多跳路由」,不是「点对点透传」。
另外,ZigBee 协议栈还有一个重要特点——低功耗。它有三种工作模式:
- 信标模式:协调器定期发信标,节点只在信标后醒来。适合周期性上报的场景。
- 非信标模式:节点随时可以发,但需要先监听信道。适合事件触发的场景。
- 休眠模式:终端设备大部分时间在睡觉,醒来就发数据。我做过一个温湿度采集项目,用两节 AA 电池,跑了 14 个月。
1.3 ZigBee联盟与标准
ZigBee 不是某一家公司的技术,它由 ZigBee 联盟(现更名为 CSA Connectivity Standards Alliance)维护。这个联盟里包括 TI、NXP、Silicon Labs 等芯片厂商,还有飞利浦、施耐德等应用厂商。
ZigBee 的标准体系,我整理成了一张图:
这里有几个关键标准,大家要记住:
- IEEE 802.15.4:定义了 PHY 和 MAC 层。ZigBee 只是 802.15.4 的一个「上层住户」。同样的底层,还可以跑 Thread、6LoWPAN 等协议。
- ZigBee 3.0:2015 年发布,统一了之前混乱的应用层 Profile。以前 ZigBee 有 HA(家庭自动化)、LL(照明)、ZBA(楼宇自动化)等不同 Profile,互不兼容。ZigBee 3.0 把它们全合并了。
- ZigBee PRO:增强版网络层,支持更大的网络(理论 65000+ 节点),更强的安全机制。
- Green Power:针对能量采集设备的超低功耗标准。节点可以不用电池,靠太阳能或振动取电。
避坑指南:我曾经在项目里混用了不同版本的 ZigBee 设备,结果发现协调器是 ZigBee 3.0,终端设备是 ZigBee HA 2007,死活连不上。后来查资料才知道,ZigBee 3.0 向下兼容性并不完美。所以,选型时一定要统一协议版本。
1.4 ZigBee应用场景分析
ZigBee 到底适合干什么?我总结了三类典型场景:
1.4.1 智能家居
这是 ZigBee 最成熟的应用领域。飞利浦 Hue 灯泡、小米智能家居的某些设备、亚马逊 Echo Plus 的 ZigBee 网关,都是典型代表。
为什么智能家居选 ZigBee?因为家里有几十个设备,灯泡、开关、传感器、窗帘电机,它们需要互相联动。Wi-Fi 做不到低功耗,蓝牙做不到大规模组网。ZigBee 的网状网络正好满足需求。
1.4.2 工业物联网与楼宇自动化
工厂里有几百个传感器,监测温度、湿度、振动、压力。这些传感器分布在各个角落,布线成本太高。ZigBee 的无线自组网能力,可以快速部署。
我记得有个项目,客户要求在一个 5000 平米的仓库里部署 300 个温湿度传感器。如果用有线,布线费用比传感器本身还贵。最后我们用 ZigBee 网状网络,每个节点间距 30 米,数据通过多跳传到网关。部署只花了两天。
1.4.3 农业与环境监测
大棚种植、果园管理、森林防火,这些场景的共同特点是:供电困难、节点分散、数据量小。ZigBee 的低功耗特性在这里发挥得淋漓尽致。
我做过一个果园项目,每个节点采集土壤湿度和光照,用两节 18650 电池供电,配合太阳能板,运行了两年没换电池。数据通过 ZigBee 传到网关,再通过 4G 上传到云平台。
下面这张表,总结了 ZigBee 在不同场景下的适用性:
| 应用场景 | 节点数量 | 数据量 | 实时性要求 | ZigBee 适用性 |
|---|---|---|---|---|
| 智能家居 | 10~100 | 低(控制指令) | 中(秒级) | ★★★★★ |
| 楼宇自动化 | 50~500 | 低~中 | 中(秒级) | ★★★★★ |
| 农业监测 | 20~200 | 极低(分钟级上报) | 低(分钟级) | ★★★★★ |
| 工业控制 | 10~50 | 中 | 高(毫秒级) | ★★★☆☆ |
| 视频监控 | 1~10 | 极高(Mbps) | 高 | ★☆☆☆☆ |
一句话总结:ZigBee 不适合传视频、音频等大数据量场景。它的带宽只有 250 kbps,传一张图片都费劲。但在「低功耗、大规模、小数据量」的场景里,ZigBee 是王者。
好了,第一章的内容就到这里。我们梳理了物联网无线通信技术的全景,对比了 ZigBee 和其他技术的优劣,深入了解了 ZigBee 协议栈的四层结构,也看了它在实际项目中的应用。这些知识,是后面动手开发的基础。