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

基于ZigBee无线传感器网络的智能仓储节点设计

时间:04-28 来源:互联网 点击:

摘要:针对传统仓储管理自动化程度不高、人工依赖性等问题,提出一种基于ZigBee技术的智能仓储管理。文章给出了协调器节点及终端节点的硬件框图及主要软件运行流程,并对节点的能耗进行分析,实现对仓储温度、湿度等环境参数进行无线传输和实时监测的设计。
关键词:智能仓储;Z_Stack;CC2530;能耗

0 引言
随着现代物流业和供应链管理理念的不断发展,仓储管理在物流管理中的重要性日益提高,仓储管理己成为物流管理的核心部分和关键环节。目前我国仓储管理存在自动化程度不高、人工依赖性强等诸多问题,降低了仓储管理的效率。本文设计了一种基于ZigBee无线传感器网络的智能仓储系统,在原有仓储系统的基础上引入ZigBee技术,利用无线传感器节点能耗低、网络容量大、成本低的特点,在仓储区域内让其自组织构成智能测控网络。这样能够有效地解决传统仓储存在的各种问题,同时还能够对温度、湿度等环境参数进行实时监测,从而构建了智能化的仓储环境监测系统。

1 系统方案设计
为了保证系统的可靠运行,必须选择合适的网络拓扑结构。由于本仓储系统节点有限,节点位置较为固定,因而采用了节点易于扩充、寻找路径比较方便的树型结构。树型结构由网络协调器、路由器、终端设备组成,其中网络协调器通过串口与PC机相连,主要负责网络的建立、发送PC机的指令和接收节点的数据,并将接收的数据发送给PC机。路由节点作为一种中介使协调器与终端设备通信,实现路由通信功能,同时也可以采集数据。终端设备完成对数据的控制和数据的采集,包括温度、湿度、空气成分等数据。

2 节点硬件设计
传感器节点是无线传感器网络的基本单元,它负责传感和信息预处理,响应监控主机的指令发送数据等。传感器节点由传感器、处理器、无线通信和能量供应等模块组成,其结构如图1所示。

CC2530是TI公司生产的一款基于具有SOC(片上系统),支持IEEE802.15.4、ZigBee、ZigBee PRO标准,芯片集成了2.4GHz直接序列扩频RF收发器、工业级增强型8051微处理器、高达256kB闪存、8kBRAM、8通道12位ADC,2个USART接口,21个通用接口GPIO等,4种供电模式,具有较高的无线接收灵敏度和抗干扰性能,传输距离大于75m,最高传输速率250kbps。
传感器模块主要包括温度传感器和湿度传感器。温度传感器采用CC2530上的模拟温度传感器,使能时电流消耗(不包括ADC电流)为0.5 mA,温度系数为4.5/10℃,压力系数为1/0.1V。湿度传感器采用瑞士Sensirion公司推出的SHT75,默认的湿度测量分辨率为12bit,工作的最低电压为2.4V,湿度的量程范围0~100%RH,温度的量程范围为一40~123.8℃。

3 节点软件设计
节点的软件以TI公司推出的ZigBee协议栈Z_Stack为基础,通过添加传感器采集函数和应用层函数完成。Z_stack可实现绝大部分代码公用,大大增加了项目的通用性和易移植性。Z-Stack协议栈是以简单的任务轮询形式运行的,该协议栈的主循环结构如下:

主要任务有八个,其中macEventloop负责MAC层事件处理;nwk event loop负责网络层路由处理;Hal ProcessEvent完成硬件管理的任务;MT ProcessEvent模块主要用于网络调试工具;应用支持子层处理函数APS event loop一般用户不要修改;ZDApp event loop为应用层处理函数,可根据需要修改;SennorApp ProcessEvent和SerialApp ProcessEvent为用户应用层处理函数,前者主要用于终端和路由设备的温度、湿度等数据采集及发送模块,后者主要用于协调器与主机间串口通信模块。
3.1 协调器节点软件设计
网络协调器需要在应用层添加SerialApp ProcessEven处理函数,协调器工作的主程序如图2所示,协调器上电后,由启动代码来初始化硬件系统和软件架构需要的各个模块,然后协调器会在默认的信道上建立一个网络,并指定网络标号PANID,协调器建网成功后进入监控模式,当有路由或者终端节点申请加入时,对其分配16位短地址;当有数据请求时协调器会接收数据并将数据发送给PC机。

本文中协调器采用的ZStack 2.4.0版本协议,协调器组网要进行如下步骤:1)首先从NV中读出设备的逻辑类型并将设备逻辑类型改写为ZG_DEVICETYPE_COORDINATOR,设置设备的启动方式为ZCD_STARTOPT_AUTO_START;2)设备、任务初始化后,进入事件处理函数处理ZB_ENT RY_EVENT事件,执行zb_StartRequest(),该函数的功能是启动ZigBee协议栈,建立网络;3)设备启动完成后进去回调函数zb_StartConfir m,如果设备成功启动,修改设备状态为APP START,如果设备启动失败,设置定时器,重新执行zb_StartRequest()。

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

网站地图

Top