APP下载

基于Zigbee的仓库环境检测系统设计

2018-09-21杨建卫任晓莉

微型电脑应用 2018年9期
关键词:温湿度仓库传感器

杨建卫, 任晓莉

(宝鸡文理学院 计算机学院,宝鸡 721016)

0 引言

随着人们物质需求的不断增长和电子商务的广泛推广及应用,物品的流动量越来越大,带动了物流行业的蓬勃发展,然而大物流量使仓库存储数量和种类也随之增多,仓库普遍存在集中存储的现象,不能满足各类物品仓储的环境要求,也存在严重的安全隐患[1]。现有的仓库环境检测方法比较低效,主要靠人力去现场巡查或监测一些简易检测装置,不能实现全方位环境数据实时采集,缺少全局性和实时性。高效的仓库环境检测系统对保障仓库环境安全至为重要,因此开发了基于Zigbee仓库环境检测系统。

1 Zigbee技术简介

在仓库环境检测系统中,仓库子网构建是系统数据传输的可靠保障,所以,组网是非常重要的。仓库组网一般遵循以下原则:首先,必须要能够满足系统设计功能的基本需求;其次,对性能的要求很高,比如要对采集到的数据可靠传输、网络的稳定性也必须良好、网络组建成本必须要相对较低、连接网络的速度也要很快等。

ZigBee无线数据传输技术,相较于其它无线网络技术,最突出的特点有:低速率,高容量,低功耗和价格低,很适合无线远程检测和自动化控制领域[2]。ZigBee无线数据传输技术中,协调器(Coordinator)主要负责网络的建立和相关参数配置,如果这些任务完成,协调器就退化成一个路由器甚至消失。由于Zigbee网络本身的特性,所以接下来不再依赖协调器。ZigBee 路由器(Router)允许其他设备加入网络,操作网络报文的路由信息并负责转发报文。ZigBee 终端设备(End-Device)可以加入、退出网络,只是用来接收和发送网络报文,没有维持网络的责任,所以耗能特别少,通常只要接入一节干电池便可[3]。

2 系统总体设计

2.1 系统总体架构设计

本仓库环境检测系统是以Zigbee无线通讯技术为基础,结合Internet网络通信技术建立。为了实时对仓储的环境信息进行检测,需要在仓库中安装不同功能的节点模块,这些模块包括传感器模块、通信模块和执行器模块[4]。通过检测中心汇聚后对各种信号进行协调处理,实现传统仓库管理的网络化、自动化和智能化,以达到全方位自动化的检测控制,保证仓库环境的安全,争取利益最大化。

仓库环境检测系统从层次来分,一般由设备节点模块、电器主节点、网关等组成。本系统的总体框架,如图1所示。

图1 系统总体结构设计图

设备节点模块主要包括3部分:射频收发模块、运算和控制单元模块、传感和执行模块。本系统中设备节点是基于CC2530的ZigBee无线收发模块[5],节点终端的传感和执行模块,负责对可燃性气体、温湿度情况的探测、数据的采集,通过运算控制单元操作完成各种控制。

系统子网络中全功能设备(FFD)作为网络协调器,主要负责网络的建立与正常运行,完成网络的初始化、数据采集和设备控制等功能。而精简功能设备(RFD)在子网中扮演仓库设备节点,主要负责完成信息采集和命令响应等功能,仓库设备节点只能与FFD主节点进行通信。FFD主节点通过串口通讯,将采集的数据传输到网关中,以实现信息的交换和共享,并且完成和外部网络之间的数据交换,网关一般还负责仓库设备的控制管理。

2.2 系统的工作流程设计

2.2.1 协议栈运行基本流程

程序在启动后从main函数开始执行,本协议栈中的main函数主要流程包括如下部分,如图2所示。

系统硬件初始化完成之后,就开始进入操作系统的入口程序,此后的操作权都将由操作系统所有。

OSAL初始化工作主要包括对内存管理的初始化、消息队列的初始化、电源初始化、时钟初始化和任务系统初始化。任务系统初始化主要进行任务列表和各项任务添加的初始化工作。任务系统也是整个协议栈的核心部分,主要负责各个任务模块之间和用户应用的协调运行,是整个系统最重要的部分。

图2 main函数处理流程图

最后启动操作系统函数,此函数有一个循环体,进行循环HAL查询操作来检测串口数据和定时器等任务,并按照任务的优先级进行检查是否有事件发生,进而调去相应的应用程序函数进行响应处理。任务系统初始化时将HAL、MT、MAC、NWK、APS、ZDO模块,添加到操作系统中完成初始化工作,并且在操作系统中都是以一个独立的任务来运行的,操作系统进行相应的任务调度。操作系统会专门为任务事件分配任务数组,一个任务的所有事件存放在一个任务单元,操作系统轮询查看每个任务单元中是否有事件发生,若有则调度相应的事件函数,若是没有继续轮询查看下一个任务单元。

2.2.2 系统的工作流程

本系统主要是通过不同种类的多个感知节点的配合,实现全方位不同方面的数据信息采集,以Zigbee无线网络技术支持,采用网络拓扑结构,将采集到的信息实现可靠的传递,再由主控界面根据采集信息发出指令,实现仓库环境的监控和危险情况的应对。具体过程为:在易燃物品附近安装MQ-2烟雾传感器,如果检测到可燃性气体超过一定的浓度,烟雾传感器会将火情信息通过Zigbee协调器节点发送给报警器,触发报警器报警,使安全员可以第一时间到达现场,进行易燃气体的疏散或者对火情加以控制,实现火灾的预防和第一时间的控制。在远离通风口的地方安装DHT11温湿度传感器,对仓库的空气温度和湿度进行实时的数据采集,并且实时地显示在上位机窗口,由仓库管理人员进行判断,如果温度过高或湿度过高,点击换气按钮,就可以远程打开换气扇。在仓库的一些敏感和危险区域安装一些HC-SR501人体红外传感器,当有人靠近时,警示灯会闪烁,警告不能靠近并且触发报警器报警。

本设计有效地降低了仓库安全方面的损失,同时也一定程度上节约了人力成本,主体工作流程,如图3所示。

图3 系统的工作流程图

3 系统详细设计与实现

3.1 硬件设计

仓库环境检测系统的硬件设计包括以下部分:

(1)仓库检测节点

在仓库中布置Zigbee无线模块作为通信设备节点组成无线通信网络,设备节点负责监测仓库环境变化、收发信号和数据处理。系统终端模块单元主要包括射频模块、传感器模块和受控终端模块,负责采集环境中的各类参数信息,并且对相应模块进行控制。

系统节点至少包括一个Zigbee网络和FFD设备,负责整个网络建立的全部过程,从系统初始化到整个网络的建立、再到地址分配、成员加入、节点数据更新、数据转发表和设备关联表等。系统节点也保证网关和设备节点之间的数据正常流转。系统主节点的具体的工作过程是:初始化系统、更新网络拓扑结构、进行节点通讯。

(2)人体红外感应传感器设计

对于人体红外感应模块,本设计选用了HC-SR501红外传感器,D-SUN PIR人体红外感应模块是基于红外线技术的自动控制产品。这种传感器的灵敏度高、可靠性也很强、功耗特别小,超低电压也能正常工作[6]。

(3)温湿度传感传感器设计

温湿度传感器使用的是DHT11,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式的感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为日常应用甚至最为苛刻的应用场合的最佳选择。

(4)气体传感器设计

气体传感器使用的MQ-2[7],MQ- 2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。

(5)继电器设计

使用SRC-05VDC-SL-C继电器,此继电器的工作正常电压是5 V,常闭直流电流最大10 A,最大电压是28 V,常开直流最大电压和电流分别是10 A和30 V,常闭交流最大电压和电流分别是125 V和10 A,常开交流最大电压和电流分别是250 V和10 A。

(6)蜂鸣器设计

蜂鸣器模块采用S8550三极管驱动,工作电压3.3 V到5 V,没有固定的螺栓孔,方便安装,采用小板PCB尺寸:3.2 cm*1.3 cm,当I/O口输入为低电平时,蜂鸣器发声报警。

3.2 软件设计

初始化系统之后,执行操作系统入口程序函数system_start(),检测任务数组中是否有事件发生,有则执行相应的功能函数。根据Z-Stack[8]协议栈调度流程,设计了两个Zigbee工程文件,无线管理接口功能实现工程Neek_wap和Zigbee网络节点功能实现工程Neek_Device。Z-Stack协议栈已经实现了绝大部分代码共用,用户只需要编写自己的任务处理函数,将程序下载到具体的功能模块,整个系统的网络就可以正常运行起来了。

(1)Zigbee协调器节点的程序设计流程

当系统上电初始化完成之后,协调器将建立网络,网络建立成功之后,它的网址、簇ID、网络编号都将确定,此刻协调器进入空闲等待其它节点加入。当其他终端节点申请加入成功,将进入自己相应的应用层处理函数。Zigbee协调器节点的程序流转过程,如图4所示。

(2)Zigbee终端节点的程序设计流程

Zigbee终端节点的程序设计是按照各节点的功能需求进行设计,程序流程却基本都很相似,比如温湿度感应节点程序流程,如图5所示。

串行端口将CPU和串行设备有效地连接起来,实现它们之间的串行通信。应用程序要使用串口进行通信,必须申请操作系统打开串口,通信结束必须申请关闭串口。VC++6.0的MSComm控件提供了串行通信端口,实现程序的串行通信。

图4 Zigbee协调器节点的程序流转图

图5 Zigbee终端节点的程序流转图

由于各个终端节点的传感器信息采集和数据传输基本相同,所以各模块的程序进行了统一的编写实现。本设计采用事件关联的绑定思想,同种设备可以和多个采集终端绑定,从而实现灵活地对设备进行控制,实现设备之间的功能联调。无线管理接口待相关设备加入网络之后,负责初始化它们的全局变量。检测上位机发来的事件,是在工程Neek_WAP中定义实现的,在一个列表中循环接受绑定请求响应。无线管理接口的事件,在工程Neek_Device中定义实现。

经测试,系统实现了各功能模块。系统运行后,仓库环境检测与控制界面,如图6所示。

图6 仓库环境检测与控制

4 总结

基于Zigbee的仓库环境监测系统实现了对仓库环境的采集与控制,经过深入、全面地测试,可以根据采集数据的变化曲线,预测仓库环境变化趋势,对仓库环境进行实地检测,实现了防火防盗防范预警功能,有效地降低了仓库安全方面的隐患,方便了仓库的管理,保护了商家的利益,也节约了一定的人力成本。

猜你喜欢

温湿度仓库传感器
康奈尔大学制造出可拉伸传感器
填满仓库的方法
基于AT89C51的数字型蚕用温湿度计的设计
四行仓库的悲壮往事
简述传感器在物联网中的应用
基于DSP的多路温湿度监测系统
“传感器新闻”会带来什么
跟踪导练(三)2
基于温湿度控制的天气预测装置
小猫看仓库