APP下载

基于物联网的疫苗冷藏箱温度监控系统的设计

2023-06-15巩桂芬周健民何兴娟张美琦

包装工程 2023年11期
关键词:冷藏箱机软件应用层

巩桂芬,周健民,何兴娟,张美琦

(陕西科技大学 a.陕西省造纸技术与特种纸品开发重点研究室 b.中国轻工业纸基功能材料重点实验室 c.轻化工程国家级实验教学示范中心,西安 710021)

近年来,在新冠疫情暴发和全国防控常态化的背景下,医药冷链运输的需求开始剧增,据世界卫生组织和德国物流巨头麦肯锡公司统计全球的新冠疫苗的需求量将超过100 亿剂,需要20 万的托盘,1 500万个冷藏箱和15 000 个完整的波音747 货物运输[1]。目前,我国冷链物流产业正处在发展的初级阶段,行业呈现出规模小、分布混散和冷链低温环境、难以监控的特性。在当下疫情防控仍然艰巨,保障冷链物流安全就成为冷链物流发展的迫切需要解决的问题,因此,研究冷链物流的温度实时监控系统就十分重要与紧迫[2]。

分析对比现如今流通使用的智能疫苗冷藏箱,大多数智能冷藏箱都只带有单点温度显示和温度打印的功能,信息参考价值有限且不具备实时查看,这对运输物品的实际保护并不能提供有力的保障,这些问题同样反映了现在国内冷链物流都存在信息模糊不透明,难以实时监测等共同问题[3-6]。目前,用于疫苗冷藏箱的信息化系统设计方案十分有限。朱宏等[7]设计了冷链保温箱用温湿度云监测系统。虽然上述设计实现了自动化采集信息和远程信息监测系统[8-10],但其缺点也十分明显,如GPRS 网络容量限制了小片区域只能存在十几台设备节点,以及GPRS 模块耗电量和成本高等劣势,都不利于其大规模部署实施。

基于上述问题,本文在节点信息传输方面选用LORA 通信模块符合功耗低、数据包小和传输延时不敏感等优点[11]。将传感器、通信模块与嵌入式单片机技术相结合,采用LORA 组网+Wi–Fi 转发的方式,研究开发出一套可用于疫苗冷藏箱中的远程温度监控系统。

1 系统总体框架

本系统框架采用物联网经典的设备层、网络传输层和应用层3 层架构[12]搭建出基于物联网平台的医用冷藏箱实时远程温度监测系统。整体系统框架如图1 所示。

图1 冷藏箱实时远程在线监测系统Fig.1 Real time remote online monitoring system of refrigerator

1.1 感知层框架

系统感知层是为本次实现的功能核心,主要由各冷藏箱中的子机节点组成,其实现的工作为自采集冷藏箱中的温度数据、信息打包处理和信息上传。其运行逻辑和调度皆由ARM 内核主控芯片[13]调度完成;上传的数据按MODBUS 协议格式对数据进行组包,通过LoRa 模块将打包好的数据通过一主多从的星形网络拓扑结构实时上传至主机LoRa 节点。此外,用户可通过子机上的OLED 屏幕对该冷藏箱中的温度区间参数进行实时查看。

1.2 网络传输层框架

1.3 应用层框架

本次设计应用层软件是基于Qt 软件和SQLite 数据库独自编写开发的一款上位机终端软件[15]。该软件本质是MQTT 客户端,通过与MQTT 服务连接,实时监听接收MQTT 服务器中下位机传上来的JSON数据包;对接收到的数据进行解析,解析出的数据显示到终端软件界面,并且保存到SQLite 数据库中;为上位机软件中的温度折线图绘制和报警记录功能提供有效数据。

2 具体实例

下位机是传感层子机节点和传输层主机的统称。下位机统指为上传信息、接受和处理上位机终端软件下发命令的具体实例机器。本次下位机实现含有硬件层和软件驱动程序2 个方面。

2.1 下位机硬件实例

本文下位机中子机硬件电路主要由主控微控制单元(Microcontroller Unit,MCU)芯片及外围电路、电源模块电路、温度数据采集和传输模块等3 个部分组成。下位机整体硬件系统组成如图2 所示。

图2 下位机硬件系统组成Fig.2 Hardware system composition of lower computer

2.1.1 芯片核心电路模块

主机节点和子机节点的 MCU 选用型号为GD32F330C8T6,芯片电路模块由8 M 和32.768 K 晶振电路、MCU 芯片供电电路和BOOT 下载电路组成。8 M 晶振提供芯片时间脉冲,即为芯片的时钟源;32.768 K 晶振则为芯片的RTC 时钟源;芯片两路电源引脚和ADC 电源引脚均由3.3 V 电源供电。此外,VBAT 引脚由纽扣电池提供电源,此电源是为了芯片在断点情况下RTC 时钟一样可以计时运行。

2.1.2 电源模块电路

本次外部供电电源选用的为5 V 直流源蓄电池,因此,整体电源电路只需设计3.3 V 转换芯片、稳压电路和滤波电路,整体电路中只含有5 V 和3.3 V 这2种电源。5 V 电源主要为继电器提供使用电源,3.3 V电源则为其余功能模块和主芯片提供电源。同时为保护整体功能模块,电源输入口设计有保险丝,以防止操作失误使得外部大电流流进整体电路,损坏器件。

另外,过去数月,股价下跌使A股市场的高质押风险浮出水面。今年榜单的前百位富豪中,有五位富豪控股上市公司股份已被质押过半,其中排名第74位的卢志强所持有的泛海控股股票已全部质押。

2.1.3 温度数据采集与通信模块

本次温度数据采集通过DS18B20 温度传感器,该传感器采用单总线数据采集,有利于温度分布采集。通信模块选用可配置低功耗、远距离传输的ATK–LoRa 模块。此通信模块是基于SX1278 设计的,可与主机LoRa 模块进行双向信息传输,每次信息传输完成,模块都会进入睡眠状态,等待下次数据需要传输时被唤醒。模块睡眠状态时的工作电流为2.3 μA,发送信息时的功耗为100 mW。

2.1.4 蜂鸣器与继电器模块

本次设计在主机系统硬件中加入有两路继电器模块。此模块的主要功能是可以外接车载制冷器的电源或者其他制冷设备的电源,应对在运输时发生冷藏箱中蓄冷剂消耗过快,箱中温度上升达到预定报警温度时,主机继电器会自动闭合开启制冷器。当箱内的温度超过警告温度时,蜂鸣器就会发出警报,提醒操作员。加入两路继电器可方便多情况环境使用,不仅可外接2 台制冷器,也可外接1 台制冷器防止过温、1 台供热器防止极端地区出现过低温的风险。子机硬件实物和主机硬件实物如图3 所示。

图3 下位机硬件实物Fig.3 Physical diagram for hardware of lower computer

2.2 下位机软件驱动层实例

该下位机软件分为子机和主机2 个部分软件代码。子机主要通过滴答定时器计时,采用时间片轮询的方式判断温度传感器采集的温度是否异常,以及是否到达温度数据上传时间。满足以上任意一个条件就唤醒LoRa 模块给主机发送子机温度区间信息,要是不满足模块就继续睡眠维持低功耗状态。主机则是采取一直监听模式,当收到子机上传的数据则开始对数据进行解析和校验,信息验证正确则对数据进行打包,通过Wi–Fi 模块上传至服务器。具体软件设计运行逻辑如图4 所示。

图4 下位机软件设计逻辑Fig.4 Software design logic of lower computer

2.2.1 子机主程序运行流程

由图4 子机软件层所示,子机主程序运行流程可知,接通蓄电池电源后GD32F330C8T6 会开始先对内核时钟进行初始化然后开始运行 main( )函数。mian( )函数会先从flash 内存中读取一些硬件的参数信息,然后再初始化外设硬件(包含按键、温度传感器、OLED 显示屏、LoRa 模块和蜂鸣器)。硬件初始化完成后子机每30 s 读取一次温度数据,当读取的相邻2 次温度差值大于0.5 ℃或者距离上次温度数据上报间隔达到5 min 时,子机都会对本次读取的数据进行数据打包上报给主机。

2.2.2 主机主程序运行流程

由图4 主机软件层所示、主机主程序运行流程可知,上电后初始化流程和子机主机是相同的。硬件初始化之后,程序会一直在LoRa 数据接收和Wi–Fi 数据接收循环中运行。当有按键按下时会触发外部中断,软件会转到中断服务函数中先处理按键操作。按键主要控制OLED 屏幕菜单,用于设置子机报警温度,设置完成会通过LoRa 模块发送给子机。main 函数内容如图5 所示。

图5 主机main 函数内容Fig.5 Main function content of host

2.3 上位机终端软件实例

本次设计应用层软件是基于使用Qt 软件独立编写开发的一款上位机软件。该应用层软件主要行为是实时监听接收下位机主机上传到物联网OneNET 中的JSON 数据包[16-17],并对接收到的数据进行解析,实时显示到软件界面中并保存到SQLite 数据库中,为上位机软件中的温度折线图绘制和异常记录功能提供有效数据。

上位机软件主要提供功能有:实时数据记录(在表格中罗列出接收到的各冷藏箱中的温度区间)、接收数据(在面板上打印出接收的原始数据)、日记记录、温度曲线、设备管理、参数设置(可设置软件界面的一些提示信息、报警温度、登录账号和密码)、车辆管理等。上位机数据监测界面如图6 所示。

图6 上位机软件监控界面Fig.6 Software monitoring interface of upper computer

2.3.1 应用层绘制温度曲线

应用层可对所监控的同一车辆中所有冷藏箱或单个冷藏箱进行温度曲线查看,可通过时间区间选择进行图像数据筛选。若只输入车辆编号,可实现查看此车中所有冷藏箱内的温度曲线,可通过鼠标点击右侧的曲线名称对相应曲线进行隐藏和显示操作。上位机温度图像界面如图7 所示。

图7 上位机温度图像界面Fig.7 Temperature image interface of upper computer

2.3.2 应用层设备管理

本次设计的上位机软件功能中包含远程下发指令功能。远端操作人员可依据上报的温度数据情况,远程手动控制车辆主机中通过继电器模块与外界连接的制冷设备。同时,为了软件下发命令的可拓展性,额外加入了下发命令输入行,在此可输入其他的控制命令。此功能页面如图8 所示。

图8 上位机设备管理界面Fig.8 Equipment management interface of upper computer

2.3.3 应用层车辆管理

本次设计的上位机软件功能中包含有车辆管理功能,其功能实质是对每台车中的主机进行管理操作。此功能是为了方便管理和查看同批次的多辆运输车。远端操作人员可以通过车辆管理对车辆进行添加、删除和切换的动作,添加的车辆信息也同样保存在SQLite 数据库中。此功能页面如图9 所示。

图9 上位机车辆管理界面Fig.9 Vehicle management interface of upper computer

3 通信协议

无线传输的稳定性没有有线传输稳定可靠,因此接受端对接收到的数据进行校验就十分重要。将重要数据按事先制定的通信协议进行组包传输是十分有利于接收端对接受到的数据进行校验的。规范的通信协议对后期协议的修改和维护都是十分重要的。

3.1 子机LoRa 数据包组成

子机上传的温度数据包从高位到低位的字节可分为起始字符、子机编号、最高温度高位、最高温度低位、最低温度高位、最低温度低位、校验码高位、校验码低位,均采用十六位字符表示。例如编号为01 的冷藏箱中的节点上传的数据为:“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”,则这组数据包表达的意思为:编号为01 号箱中温度区间为7.9~8.3 ℃,第1 位字节“0x0A”为数据包起始字符,表示数据的开始;第2 和第3 字节“0x00 0x53”表示最高温度为8.3 ℃(0x53=83,此为保留一位小数点);第4 和第5 字节“0x00 0x4F”表示最低温度为7.9 ℃(0x4F=79,此为保留一位小数点);第6 和第7 字节“0x8C 0x94”表示这组数据的校验码,在主机接收到数据并进行数据正确校验时使用。

3.2 主机LoRa 下发命令组成

主机以广播形式下发命令,子机群都是可以收到的。子机主要通过数据包中的子机编号来区分此命令是否为自己所发,如果是就对命令进行解析,反之则丢弃。命令组成:功能码、子机编号、功能命令数据、校验码。功能码含义如表1 所示。

表1 主机命令功能码Tab.1 Host command function code

3.3 主机Wi–Fi 数据包组成

例如,主机在接收到子机节点上传的数据包“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”后对数据进行解析和校验判断数据是否接收完整;然后对解读出的子机编号为01,最高温度为8.3 ℃,最低温度为7.9 ℃;之后进行JSON 数组转换,JSON 数据都是由键值对组成,此数据转换的数据格式为{“Id”:1,“HTemp”:83, “LTemp”:79};最后上传给MQTT 服务器,以供上位机从服务器中读取。JSON 数据显示如图10 所示。

图10 下位机上传JSON 数据显示Fig.10 Display of uploading JSON data through lower computer

如图10 显示中第1 条数据所表达的有效信息:[09:56:48]为具体接受此信息时间;/mySmartBox/pub为具体的上传主机名称也可代表车辆名称;{“Id”:6,“HTemp”:232, “LTemp”:217}为编号6 的冷藏箱内最高温度23.2 ℃、最低温21.7 ℃。

3.4 本章小结

整套系统通信协议采用实时下位机MODBUS 工业协议和上位机JSON 数组通信方式,十分便捷地实现了下位机子机节点与主机之间通信命令、数据的有效分类和校验等功能。同时,JSON 数组良好的自我描述性、读写速度快和结构简单等特性,使得上位机软件能够快速地解析数据,并可视化地显示出来。

4 结语

本文基于现代物联网技术,根据设备感知层、传输层和应用层3 层结构体系,自主研发了一套物流冷藏箱温度信息远程监测系统。

1)感知层通过结合嵌入式单片机、无线传输技术和传感器技术自主设计研发了一整套子机采集节点与主机网关节点的下位机,并采用时间片轮询和节能控制,最大限度地延长了子机节点的电量使用周期。

2)传输层通过设计开发了LoRa 网络信息接收处理与Wi–Fi 数据上传的信息处理设备。整套系统通过主机节点进行信息处理和交互。主机节点实时接收子机LoRa 信息并通过Wi–Fi 模块链接车载网络上传至服务器。

3)应用层实现了数据表格展示、接收数据流展示、异常记录、温度曲线、设备登录、车辆信息管理等多功能设计。使用户可远程实时查看车辆中每个冷藏箱的温度区间,以及温度异常时间点记录等。其通用性强,操作上手简单,运行稳定,具有良好的应用价值。

整套系统验证表明,该系统可有效地提高运输途中数据信息采集效率,有效节约了人力和物力,有效地提高了物流运输的安全性和智能化。对提高物流产业的可视化、智能化和信息化,以及推进智慧物流具有重要意义。

为了后期扩展使用范围,例如将其运用到海运,跨国运输中,将进一步改进优化子机节点的功耗方案,更换主控芯片,采用专用的低功耗芯片来进一步降低子节点的功耗;研究数据上传至服务器的设备改进方案,Wi–Fi 天线方面从贴片式天线改用外接延长天线,以此来增强Wi–Fi 接收信号;应用层方面可优化开发一款APP 应用,更加方便远端人员随时随地通过移动端查看信息数据。

猜你喜欢

冷藏箱机软件应用层
集装箱码头冷藏箱堆场箱位和取电点布置形式探讨
自动化码头冷藏箱作业安全策略探讨
冷藏箱远程集中监控系统构建及应用
冷藏箱监控设备电池续航时间选择策略
道岔监测系统上位机软件设计
基于正交试验法的北斗用户机软件测试用例设计
新一代双向互动电力线通信技术的应用层协议研究
面向教务管理的计算机网络课外实验设计
PCI-e高速数据采集卡的驱动与上位机软件设计
物联网技术在信息机房制冷系统中的应用