基于ZigBee无线传感器网络的智能仓储节点设计
扫描二维码
随时随地手机看文章
摘要:针对传统仓储管理自动化程度不高、人工依赖性等问题,提出一种基于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()。在与PC机通信时为了数据能够及时收发,降低能耗,需要在程序中增加采用中断方式的UARTO处理函数,再通过串口写函数HaUARTWrite()在上位机上显示接收到的信息。
3.2 终端节点软件设计
终端节点需要在应用层添加SennorApp ProcessEvent处理函数,使节点具有数据采集和无线数据传输的功能,传感器节点工作流程如图3所示。终端节点需上电后立即搜寻并请求加入网络,直接在ZB_ENTRY_EVENT事件的处理中执行zb_StartRequest(),新插入的节点必须通过已存在网络中的全功能设备(包括路由器和协调器)才能成功进入网络,在通信范围内的全功能设备会响应请求加入网络的数据包,然后为该节点分配一个唯一的网络地址。然后进入“睡眠-唤醒采集数据-睡眠”低功耗工作模式,其中通过编写void myApp_Measure()函数来采集并发送数据。
4 节点的能耗分析
能耗是无线传感器网络的重要指标,决定网络的使用寿命。为了降低整个网络的综合能耗,本设计中终端设备节点采用“睡眠-唤醒采集数据-睡眠”低功耗工作模式。
下面对网络节点的电池寿命进行了评估。测试中节点使用两节1.5V的南孚电池供电。如果使节点每15min进行一次数据采集的话,那么一次工作循环的能耗应为节点采集一次数据发送的能量(35.58mAh)加上睡眠时的能耗(360 μAh),试验中3V电池电压下工作,电量大约是2200mAh,经实际测试节点上CC2530模块最低电压供电量为2.0V,传感器模块中湿度传感器的最低工作电压为2.4V,因此节点的最低供电电压应为2.4V。根据文献中介绍的能耗估算方法可知:电池能提供约为440mAh的电量使得节点有效工作,经计算得一个传感器节点可以有效工作44519次,工作时间约为1.27年。
5 结论
基于CC2530的ZigBee技术的智能仓储系统可以对目标区域内温度、湿度等环境参数进行无线远程采集与管理,开发成本低,能量消耗低,并且安装维护比较简单,只需一次安装就可以长期使用,具备了传统仓储管理无法比拟的优势,较好地解决了传统仓储管理中设备复杂、效率低下等问题。