基于物联网的智能粮库监测系统研究与设计

2024-03-06 05:32苏世雄马新华韩思蕊
自动化与仪表 2024年2期
关键词:机软件粮库上位

苏世雄,李 川,马新华,韩思蕊

(西安航空学院 计算机学院,西安 710077)

我国是世界上的人口大国,粮食作为人类生存的必需物品,具有举足轻重的作用,而科学合理地存储粮食是国家战略物资储备的必然要求。粮库作为粮食存储的基本单元具有十分重要的作用,粮食在存储过程中,常因粮食的温度、湿度、CO2浓度过高等,导致粮食发热霉变[1],给国家和人民带来巨大的损失[2]。因此,对粮库中的粮情监测显得尤为重要。传统的粮库监测由粮库工作人员采用工具人工测量粮食的温度、湿度等参数,此方法需要耗费大量的人力物力财力。随着信息技术的发展,学术界针对粮库监测进行了相应研究,例如文献[3]等设计了一款无线传感器网络的粮库监测系统,实现了粮库内粮情的实时监测。文献[4]设计了一款基于ZigBee技术的多传感器粮库监测系统方案,实现了一种自组网的粮库监测系统。文献[5]设计了一款智能多参数粮情自动监测系统,该系统可以监测粮库的温湿度变化和诱捕害虫,实现了粮库的智能化监测功能。文献[6]开发了一套基于LoRa 的粮库粮情监测系统,解决了多点传输冲突问题。文献[7]设计了一款基于嵌入式ARM9 平台的粮库粮情智能监测系统。文献[8]针对单一传感器采集数据片面、易造成误报、漏报等情况,设计了一种多传感器融合的粮仓环境监测系统,对粮库温湿度、CO2浓度、O2浓度进行实时监测与调控,从而降低外界环境干扰[9],确保粮库存储的质量。

虽然相关学者已经提出了一些粮库监测方案,但是这些方式大多数是从某一方面进行研究分析,并没有将扩展性与控制方式结合在一起,因此,本系统结合物联网技术设计了一款智能粮库监测系统,该系统一方面无需布线,自组网实现多粮库实时环境监测、预警等功能,可随时增加或删除采集节点,具有良好的扩展性;另一方面设计了2 种控制模式,手动或自动调节粮库环境,确保粮食存储安全。

1 系统整体设计

大型粮库具有分布广、监测点分散、地域面积集中等特点,因此,该设计采用覆盖范围广、自组网能力强、信息传输可靠、低成本[10]的ZigBee 技术实现无线通信功能,该方式一方面节省了布线的繁琐和成本,另一方面具有较强的可扩展性,可随时加入节点,扩大监测范围。本系统设计的系统整体架构如图1 所示。该系统利用ZigBee 技术构建了网状拓扑结构,主要由上位机和下位机组成,上位机的主要任务是实时显示所采集的数据与系统控制方式的选择;下位机主要任务是环境监测与环境调控。下位机又分为协调器与路由节点和终端节点,协调器主要负责整个系统网络的建立、数据的接受和发送以及与上位机的通信;路由节点主要负责为其他节点转发数据,扩大网络覆盖范围;终端节点主要负责数据的采集和数据发送与接收功能,所接收的数据用以对外围调节设备的控制。

图1 系统整体架构Fig.1 Overall system architecture

2 系统硬件设计

系统硬件设计即下位机的设计,主要分为协调器与路由节点、终端节点两部分,都采用当前流行的具有ZigBee 无线通信功能的CC2530 单片机为核心结合外围电路所设计。协调器的主要任务是建立网络,并将数据通过串口发送给上位机;路由节点的主要任务是转发数据,因此,该模块框架图设计较简单只有通信模块和串口模块即可,如图2 所示。

图2 协调器、路由节点框图Fig.2 Coordinator and routing node block diagram

终端节点主要负责数据的采集和发送/接收以及设备的控制,因此,该模块框架图设计如图3 所示,主要由传感器模块、调控设备模块、通信模块和报警模块组成。

图3 终端节点框图Fig.3 Terminal node block diagram

传感器模块包括温湿度传感器、CO2浓度传感器。其中,温湿传感器采用DHT11 数字温度传感器,该传感器是一款已校准的数字信号输出传感器,该传感器采用单总线串行接口,具有采集精度高、稳定性强、功耗低等优点[11];CO2浓度传感器采用MG-812型二氧化碳传感器,该传感器利用红外光吸收原理检测空气中的CO2浓度,将其转化为电信号,可通过AD 转换器转换为数字信号,具有灵敏度高、稳定性好、使用寿命长等特点。调控设备模块采用风扇进行模拟,模拟改善当前环境。报警模块由LED 报警灯和蜂鸣器组成,用来提醒库房管理人员粮库异常。

3 系统软件设计

系统软件设计分为上位机软件设计和下位机软件设计。下位机软件设计采用 IAR Embedded Workbench for 8051 软件对Z-Stack 协议栈进行开发,IAR for 8051 是开发CC2530 的常用工具,它具有完全标准的C 兼容、良好的版本控制和扩展工具、便捷的模拟和中断处理[12]等优点。Z-Stack 协议栈采用的是操作系统抽象层(OSAL)协议栈调度程序,用户只能通过调用API 接口开发具体应用,因此,该协议也被成为半开源的协议栈[13]。下位机软件设计主要是协调器与路由器和终端节点的软件设计,其设计原理由Z-Stack 协议栈决定,所有流程基本类似,其流程参考文献[3],此处不再赘述。本文重点介绍上位机软件设计。

上位机软件主要负责数据显示和选择控制方式,这就要求界面友好且简单,而Qt 是一款跨平台的开发环境[14],具有面向对象的所有优点[15],提供丰富的图形界面且支持轻量级数据库Sqlite3。因此,上位机软件设计采用基于Qt 平台和Sqlite 3 数据库设计。本系统设计了两种控制方式:手动方式和自动方式。手动方式即传统方式,用户自行控制外围设备;自动方式即智能方式,系统根据用户在界面中设置的不同阈值区间,判断采集的数据是否在阈值范围内,若数值不在阈值范围内,则开启设备,对环境进行调节,使粮库环境置于合适的环境中,否则设备就关闭,设计的软件流程如图4 所示。用户通过登录界面输入正确的用户名和密码,配置好相应的串行口数据即可获得粮库中不同仓库的实时温度、湿度、CO2浓度以及各设备状态等信息。通过按钮选择控制模式,用以调节粮库中的环境。当选择自动模式时,可以根据粮库中存放的粮食类型实时的设置温度、湿度、CO2浓度等阈值区间,以便系统自动调节环境。同时,在手动模式时,用户也可以查看历史数据,以便于数据分析。

图4 上位机软件流程Fig.4 Upper computer software flow chart

4 系统测试与分析

设计实现的粮库监测系统下位机实物如图5所示,上位机UI 界面如图6 所示,此时系统控制模式为手动模式。

图5 下位机实物Fig.5 Physical object of lower computer

图6 上位机界面Fig.6 Upper computer interface

对整个系统功能的完整性和稳定性进行测试,分为手动模式测试和自动模式测试。

(1)手动模式,显示各测量数据,控制外部设备,测试结果如表1 所示。

表1 手动模式测试表Tab.1 Manual mode test

(2)自动测试,显示各测量数据,验证各个模块联动功能,测试如图7 所示,当测量数据在阈值区间内,则报警和风扇关闭,如图7(a)所示;更改阈值区间范围,当测量数据不在阈值区间范围内,则报警和风扇打开,如图7(b)所示,其全部测试结果如表2 所示。

表2 自动模式测试表Tab.2 Automatic mode test

图7 自动模式Fig.7 Automatic mode

当在手动模式时,可以点击界面中查看历史数据按钮,查看采集的数据变化过程,当数据异常时,为用户分析异常提供数据支撑,显示界面如图8 所示。所有测试次数均为100 次,测试结果均正常。因此,系统符合设计功能,且系统运行稳定。

图8 历史数据记录Fig.8 Historical data record

5 结语

该系统采用CC2530 单片机、各种传感器、外围设备模块和Qt 平台,设计并实现了基于物联网的粮库监测系统,实现了粮库环境信息实时采集和设备智能化控制,使得粮库管理更加智能化。经运行测试表明,该系统功能符合设计要求,运行稳定,操作方便,具有较高的实用性。本设计具有以下创新点:系统中设计了两种控制方式,手动模式和自动模式,既考虑了传统方式又兼顾了智能化方式;阈值设定不再是单一的、固定的方式,而通过上位机设定阈值区间,既方便用户根据粮库中存放的不同粮食类型动态更改阈值范围,又可以不用再次下载下位机程序;在手动工作方式下,可以查看历史数据记录,以便管理员分析当出现异常情况时,监测的数据变化情况,为粮食安全存储提供数据支撑;系统采用ZigBee 自组网技术,随着粮库数量的增加,只需要增加路由节点和终端节点数即可完成对粮库的监测,无需布线,具有良好的可扩展性。

猜你喜欢
机软件粮库上位
粮库竣工
粮库里的机器人
特斯拉 风云之老阿姨上位
智能化粮库现场见闻
我为抗日政府管粮库
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
道岔监测系统上位机软件设计
基于正交试验法的北斗用户机软件测试用例设计
PCI-e高速数据采集卡的驱动与上位机软件设计