我将从设计目标、网络架构、硬件选型、软件设计、关键技术和部署调试六个方面,为您提供一份完整、可落地的设计方案。

Zigbee无线传感器网络设计方案
设计目标
在设计之初,我们必须明确网络需要实现的具体功能和技术指标。
- 应用场景: 智能农业大棚环境监测,需要实时监测大棚内的空气温度、湿度、土壤湿度、光照强度,并能远程控制灌溉系统。
- 网络规模: 1个协调器,10个路由器(传感器节点),1个终端设备(灌溉控制阀门)。
- 监测参数:
- 空气温度: -20°C ~ 80°C, 精度 ±0.5°C
- 空气湿度: 0% ~ 100% RH, 精度 ±3% RH
- 土壤湿度: 0% ~ 100% (容积含水率), 精度 ±5%
- 光照强度: 0 ~ 65535 Lux
- 数据上报频率: 传感器节点每5分钟上报一次数据。
- 控制功能: 用户可通过手机APP或网页远程手动启动/停止灌溉,或根据土壤湿度阈值自动触发灌溉。
- 技术指标:
- 通信距离: 在大棚环境下,要求相邻节点通信距离不小于50米。
- 网络可靠性: 数据丢包率低于1%。
- 网络寿命: 传感器节点使用2节AA电池供电,要求寿命至少1年。
- 安全性: 网络加入需加密,数据传输需保密,防止未授权设备接入和数据窃听。
网络架构设计
Zigbee网络支持三种拓扑结构:星型、树型和网状,对于我们的智能大棚场景,网状网络是最佳选择。
- 为什么选择网状网络?
- 高可靠性: 数据可以通过多条路径传输,如果某个节点或链路失效,数据会自动选择备用路径,确保通信不中断。
- 自愈能力: 网络具有强大的自组织能力,当节点移动或新节点加入时,网络能自动重新路由。
- 扩展性强: 可以轻松添加新的传感器节点,网络会自动将其纳入并分配路由功能。
- 覆盖范围广: 通过路由器节点中继信号,可以有效扩大网络的覆盖范围,解决大棚内信号遮挡问题。
网络角色定义:
-
协调器:
(图片来源网络,侵删)- 作用: 网络的“大脑”,负责发起整个网络,分配网络地址,管理所有网络设备,一个Zigbee网络有且仅有一个协调器。
- 部署位置: 通常部署在靠近网关或数据汇聚中心的位置,如大棚的监控室。
-
路由器:
- 作用: 网络的“中继站”和“骨干”,它们可以接收、转发数据包,并为其他设备加入网络提供路由服务,我们的10个传感器节点将全部配置为路由器,这样它们既能采集数据,又能帮助其他节点(如远端的传感器)转发数据,形成网状结构。
- 部署位置: 分布在大棚的各个关键监测点,确保信号覆盖无死角。
-
终端设备:
- 作用: 网络的“传感器”和“执行器”,它们通常使用电池供电,功耗极低,它们只与父节点(路由器或协调器)通信,不参与数据中继,我们的灌溉控制阀门将作为终端设备,因为它不需要频繁通信,且通常由市电供电,但为了简化网络结构,也将其设为终端。
- 部署位置: 安装在灌溉系统的控制阀门上。
网络架构图:
+---------------------+
| Internet / Cloud |
+----------+----------+
|
| (Wi-Fi/Ethernet)
v
+---------------------+
| Gateway | (可选,也可以集成在协调器中)
+----------+----------+
|
| (UART/Zigbee模块)
v
+---------------------+
| Coordinator | (协调器)
+----------+----------+
|
| (无线Zigbee通信)
| / \
| / \
/| |\
/ | | \
/ | | \
+------------+ | +------------+ | +------------+
| Router 01 | | | Router 02 | | | Router 03 |
| (传感器1) | | | (传感器2) | | | (传感器3) |
+------------+ | +------------+ | +------------+
| |
+------------+ | +------------+ | +------------+
| Router 04 | | | Router 05 | | | Router 06 |
| (传感器4) | | | (传感器5) | | | (传感器6) |
+------------+ | +------------+ | +------------+
| |
... (更多路由器节点) ...
|
|
+---------------------+
| End Device (终端) |
| (灌溉控制阀门) |
+---------------------+
硬件选型
根据设计目标,我们需要为三种不同角色选择合适的硬件。

| 组件类型 | 推荐型号/系列 | 说明 |
|---|---|---|
| 协调器 | CC2530/CC2650 + 底板 | CC2530是经典、性价比高的方案,CC2650是新一代方案,功耗更低,性能更强,配合底板可以方便连接电源、串口等。 |
| 路由器/传感器节点 | CC2530/CC2650 + 传感器底板 | 选择集成温湿度(如SHT30)、光照(如BH1750)、土壤湿度传感器(电容式)的底板,使用AA电池座供电,并加入LDO稳压电路。 |
| 终端设备 | CC2530/CC2650 + 继电器底板 | 集成继电器模块,用于控制220V或24V的电磁阀,可以使用DC电源适配器供电。 |
| 网关 | 树莓派 / ESP32 | 如果协调器不带网络功能,需要一个网关,协调器通过串口将数据传给网关,网关再通过Wi/Ethernet上传到云平台,ESP32自带Wi-Fi和蓝牙,可以集成协调器功能,简化方案。 |
软件设计
软件设计是整个系统的灵魂,分为嵌入式固件和上层应用两部分。
A. 嵌入式固件开发 (基于Z-Stack协议栈)
我们使用德州仪器的Z-Stack协议栈(基于Zigbee 2007/PRO标准)进行开发。
-
协调器固件:
- 初始化: 初始化硬件(时钟、串口、LED)和Zigbee协议栈。
- 网络形成: 调用
ZDApp_Start()函数,启动网络形成流程,协调器会选择一个空闲的信道(如11或15)和网络ID(PAN ID)。 - 设备管理: 监听网络中的设备请求,处理路由器和终端设备的加入请求。
- 数据接收: 通过串口循环接收来自协调器本身或路由器节点的数据包,并转发给网关(或直接处理)。
- 数据处理: 接收来自上层(网关/APP)的控制命令(如“打开阀门”),解析后通过Zigbee网络发送给指定的终端设备。
-
路由器/传感器节点固件:
- 初始化: 初始化硬件和协议栈。
- 网络加入: 调用
ZDApp_Start(),扫描并加入由协调器创建的网络。 - 路由功能: 允许其他设备通过它加入网络,并转发数据包。
- 传感器数据采集:
- 使用
osal_start_timerEx()设置一个周期性定时器(例如5分钟)。 - 定时器到期后,通过I2C/SPI/ADC等总线读取温湿度、光照、土壤湿度传感器的数据。
- 将数据打包成Zigbee应用层数据帧(一个包含各传感器值的结构体)。
- 使用
- 数据上报: 调用
AF_DataRequest()函数,将数据包发送给父节点(通常是协调器或更靠近协调器的路由器)。
-
终端设备固件 (灌溉阀门):
