睿诚科技协会

zigbee无线传感器网络设计

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

zigbee无线传感器网络设计-图1
(图片来源网络,侵删)

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网络支持三种拓扑结构:星型、树型和网状,对于我们的智能大棚场景,网状网络是最佳选择。

  • 为什么选择网状网络?
    • 高可靠性: 数据可以通过多条路径传输,如果某个节点或链路失效,数据会自动选择备用路径,确保通信不中断。
    • 自愈能力: 网络具有强大的自组织能力,当节点移动或新节点加入时,网络能自动重新路由。
    • 扩展性强: 可以轻松添加新的传感器节点,网络会自动将其纳入并分配路由功能。
    • 覆盖范围广: 通过路由器节点中继信号,可以有效扩大网络的覆盖范围,解决大棚内信号遮挡问题。

网络角色定义:

  1. 协调器:

    zigbee无线传感器网络设计-图2
    (图片来源网络,侵删)
    • 作用: 网络的“大脑”,负责发起整个网络,分配网络地址,管理所有网络设备,一个Zigbee网络有且仅有一个协调器。
    • 部署位置: 通常部署在靠近网关或数据汇聚中心的位置,如大棚的监控室。
  2. 路由器:

    • 作用: 网络的“中继站”和“骨干”,它们可以接收、转发数据包,并为其他设备加入网络提供路由服务,我们的10个传感器节点将全部配置为路由器,这样它们既能采集数据,又能帮助其他节点(如远端的传感器)转发数据,形成网状结构。
    • 部署位置: 分布在大棚的各个关键监测点,确保信号覆盖无死角。
  3. 终端设备:

    • 作用: 网络的“传感器”和“执行器”,它们通常使用电池供电,功耗极低,它们只与父节点(路由器或协调器)通信,不参与数据中继,我们的灌溉控制阀门将作为终端设备,因为它不需要频繁通信,且通常由市电供电,但为了简化网络结构,也将其设为终端。
    • 部署位置: 安装在灌溉系统的控制阀门上。

网络架构图:

                  +---------------------+
                  |   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 (终端)  |
            |  (灌溉控制阀门)       |
            +---------------------+

硬件选型

根据设计目标,我们需要为三种不同角色选择合适的硬件。

zigbee无线传感器网络设计-图3
(图片来源网络,侵删)
组件类型 推荐型号/系列 说明
协调器 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标准)进行开发。

  1. 协调器固件:

    • 初始化: 初始化硬件(时钟、串口、LED)和Zigbee协议栈。
    • 网络形成: 调用ZDApp_Start()函数,启动网络形成流程,协调器会选择一个空闲的信道(如11或15)和网络ID(PAN ID)。
    • 设备管理: 监听网络中的设备请求,处理路由器和终端设备的加入请求。
    • 数据接收: 通过串口循环接收来自协调器本身或路由器节点的数据包,并转发给网关(或直接处理)。
    • 数据处理: 接收来自上层(网关/APP)的控制命令(如“打开阀门”),解析后通过Zigbee网络发送给指定的终端设备。
  2. 路由器/传感器节点固件:

    • 初始化: 初始化硬件和协议栈。
    • 网络加入: 调用ZDApp_Start(),扫描并加入由协调器创建的网络。
    • 路由功能: 允许其他设备通过它加入网络,并转发数据包。
    • 传感器数据采集:
      • 使用osal_start_timerEx()设置一个周期性定时器(例如5分钟)。
      • 定时器到期后,通过I2C/SPI/ADC等总线读取温湿度、光照、土壤湿度传感器的数据。
      • 将数据打包成Zigbee应用层数据帧(一个包含各传感器值的结构体)。
    • 数据上报: 调用AF_DataRequest()函数,将数据包发送给父节点(通常是协调器或更靠近协调器的路由器)。
  3. 终端设备固件 (灌溉阀门):

分享:
扫描分享到社交APP
上一篇
下一篇