打印
[uCOS/RTOS]

【RTOS】+ 药房冷链监控系统

[复制链接]
4666|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
17岁葫芦娃|  楼主 | 2020-7-2 23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17岁葫芦娃 于 2020-7-2 23:21 编辑

1.概述(说明应用产生的背景、所采用的软硬件方案、实现功能)
1.1背景
2005年4月19日,国务院颁布了《疫苗流通和预防接种管理条例》。为确认注射前疫苗质量,保证免疫接种效果,在疫苗、菌苗等生物制品从制药厂成品仓库发运,到给有关人群接种的冷链储运过程中,保留其所处环境温度的监测记录。另外由于第一类疫苗接种单位扩大至所有有条件的医疗卫生机构、第二类疫苗则从流通到使用全部放开,这使得对疫苗的监管范围和群体扩大,有关部门必须提升监管能力。要保证疫苗从生产企业到接种单位流转过程中的质量,需要一套严格的冷链系统,而现有疫苗的冷链系统运行并不乐观,缺乏温度监控和记录机制。为实现对药品存储环境的温湿度监控,本作品以上海灵动微电子生产的MM32L373为核心,设计实现了基于RT-Thread的药房冷链监测系统。
1.2软硬件方案
本作品主要分为本地终端和上位机两个部分,本地终端负责药房仓库温湿度数据的采集、上传和本地存储并在数据异常时发出警报,上位机用于实时显示本地终端上传的数据。上位机和本地终端间的数据传递通过云服务器完成,系统整体示意图如图1-1所示。
(1)硬件方案:本作品以灵动微电子MM32L373开发板为核心,分为eMiniBoard开发板和转接板两个部分,转接板搭载GPRS模组、RS485、2.4寸OLED显示屏等实现作品的硬件扩展。
(2)软件方案:本作品采用RT-Thread物联网操作系统进行管理和调度,主要包含7个线程,分别是:节点数据获取线程、节点数据处理线程、GPRS通信线程、系统运行提示线程、本地数据显示线程、本地数据存储线程和异常数据报警线程。

图1-1 系统整体示意图
1.3实现的功能
药房冷链监测系统实现的主要功能如下:
(1)采用多节点单终端的方案,各个节点的温湿度数据通过485总线汇聚到本地终端显示和存储;
(2)本地终端通过GPRS模组将药房的温湿度数据每隔5秒上传至云服务器并转发;
(3)企业电脑能通过上位机实时查看药房仓库的温湿度数据;
(4)企业电脑能实时查看保存的历史数据;
(5)自动对超限数据进行分析,实现超限数据的就地提醒和上位机提醒。
2.RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)
本作品采用RT-Thread物联网操作系统进行管理和调度,在操作系统的管理下各个任务有序运行在自己的时间片上。
(1)线程管理
系统主要包含7个线程,分别是:节点数据获取线程、节点数据处理线程、GPRS通信线程、系统运行提示线程、本地数据显示线程、本地数据存储线程和异常数据报警线程。其中系统每隔500毫秒向单个温湿度传感器请求一次数据,数据接收采用信号量模式,当发生串口中断时在中断回调函数会释放信号量,此时数据处理线程会被唤醒处于就绪状态当高优先级被挂起时就会进行数据处理。
(2)信号量
系统在温湿度处理线程会使用串口中断发出的信号量,每当串口中断发生时其回调函数会释放信号量,此时数据处理线程就会被唤醒处于就绪态,当没有更高优先级的任务时数据处理线程就会被执行。
(3)BSP驱动
系统在原有的基础上增加了对RS485的驱动程序用于获取AW3485M温湿度传感器的数据,增加了SPI驱动程序用于驱动OLED屏幕进行本地显示,增加了串口3的驱动程序用于GPRS向云服务器发送数据。
(4)软件包
系统加载了AT24C02、IIC、PWM3个软件包,分别用于存储本地数据和驱动蜂鸣器。
(5)组件
系统加载了FinSH组件使用串口1与PC机进行通信,用于查看各任务内存使用情况、各线程状态、信号量状态、内存池状态、定时器状态、消息队列状态等,极大地方便了开发与调试。
3.硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)
3.1硬件整体介绍
本作品以灵动微电子MM32L373开发板为核心,分为eMiniBoard开发板和转接板两个部分,转接板搭载GPRS模组、RS485、2.4寸OLED显示屏等实现作品的硬件扩展,硬件整体示意图如图3-1所示。

图3-1 硬件整体示意图
作品核心板为灵动微电子提供的eMiniBoard开发板,包含蜂鸣器、LED、IIC、按键等常用的外接扩展,开发板最小系统实物图、原理图如图3-2所示。

图3-2 开发板最小系统实物图、原理图
3.2转接板
作品转接板搭载GPRS模组、RS485、2.4寸OLED显示屏等实现作品的硬件扩展,其中温湿度传感器采用4路奥松AW348,GPRS模组采用USR-GM3、系统供电采用外接12V电源,LDO选取LM2596、AMS117、MP1482分别转换为5V、3.3V、3.8V为系统各部分供电。转接板主要原理图如图3-3所示,转接板实物图如图3-4所示。

图3-3 转接板主要原理图

图3-4 转接板实物图
4.软件框架说明(介绍应用所采用的软件方案框图、流程图等)
4.1系统线程概况
系统主要包含7个线程,分别是:节点数据获取线程、节点数据处理线程、GPRS通信线程、系统运行提示线程、本地数据显示线程、本地数据存储线程和异常数据报警线程。线程优先级及执行概况如图4-1所示。

图4-1 系统线程概况
4.2系统软件整体流程

图4-2 系统软件整体流程
5.软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)
(1)节点数据获取线程
节点数据获取线程用于向温湿度传感器请求数据,该任务总共分4次分别向4个不同的节点请求数据,每次间隔500毫秒。由于485总线上挂载了4个温湿度传感器,获取特定设备的数据需要发送指定的地址和CRC校验。
CRC校验方法:
①.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄器;
②.把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低8位相异或,把结果放于CRC寄存器;
③.把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位;
④.如果移出位为0:重复第3步(再次右移一位); 如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;
⑤.重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
⑥.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理;
⑦.将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;
⑧.最后得到的CRC寄存器内容即为:CRC码。
(2)节点数据处理线程
节点数据处理线程用于处理温湿度传感器发回的数据,该线程无限循环一直等待串口接收中断发生时所释放的信号量,当该线程获取到信号量时开始接收数据,当接收到指定长度的数据时开始验证并计算实际的温湿度数据。
数据计算公式:

(3)GPRS通信线程
GPRS通信线程用于向云服务器发送数据,数据发送总共16个字节,每隔5秒发送一次。
(4)系统运行提示线程
系统运行提示线程用于指示系统正常运行,表现方式为控制指定LED灯每隔1秒翻转一次状态。
(5)本地数据显示线程
本地数据显示线程用于本地数据显示,页面每隔5S刷新一页,其中每一页显示一个节点的温湿度数据。
(6)本地数据存储线程
本地数据存储线程每间隔1分钟存储一次本地温湿度数,以便后续查看。
(7)异常数据报警线程
此线程拥有最高优先级,当温湿度数据长时间超过阈值时本地终端系统发出明显声光报警,上位机对超限数据进行醒目提示。


药房冷链监测系统.rar

873.45 KB

使用特权

评论回复
评论
zhengfish 2021-5-3 21:03 回复TA
不错。。。 

相关帖子

沙发
A1我爱你| | 2021-4-29 09:06 | 只看该作者
没法下载啊

使用特权

评论回复
板凳
ly87802541| | 2021-4-29 13:55 | 只看该作者
很好很强大!

使用特权

评论回复
地板
leftrighthua| | 2021-5-28 15:42 | 只看该作者
谢谢,学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝