一款基于Node-RED的分布式中药材一体化取药系统

2021-06-16 06:30刘琪琪
电子技术与软件工程 2021年8期
关键词:药柜药方上位

刘琪琪

(西北民族大学电气工程学院 甘肃省兰州市 730000)

当前,基于物联网技术下的智能取药系统成为各大医院的重要引进技术及改进趋势。取药系统对于传统中药材抓药而言,大大解决了中药材存储及比例分配等问题,提高了抓药的精确性。本系统提出基于Node-RED 流式编程的物联网应用设计,使用Node-RED平台提供的高级开源工具,同时配合MQTT 协议,实现上位机的联网及图形交互功能,便于管理者通过云服务器连网管理数据。

本文将依次阐述该取药系统的硬件及软件设计以及如何利用Node-RED 在此系统中发挥重要作用。

1 系统设计方案

该系统主要分为三部分:药柜自动取药的硬件设计和面向用户的Node-RED 可视化编辑器的联网设计与上位机的搭建。

当病人挂号后,医院系统自动生成病人基本信息,系统联网,医生将开具的药方录入系统并编号;当药方读入上位机后,上位机传入STM32 使其控制药柜装置开始自动工作,按照药方自动完成取药。该系统由计算机核心控制,通过设计上位机及Node-RED 的搭建来完成接驳联网、面向用户的界面设计、药材实时查看、读入药方等功能;依靠一定的算法和电机驱动将药材包通过改进的药柜推进装置取出,再利用灵敏度高的薄膜压力传感器检测药材是否取完并返回上位机显示,同时利用语音模块,显示屏在取药柜和取药处大屏幕上分别对捡药员提示药材状态,对病人提示“XXX 正在取药,下一位XXX,请等待预计XX 分钟”等信息,从而实现交互功能。

2 系统软件设计

系统总体概述图如图1 所示。

2.1 录入数据

从病人挂号开始,采集病人的姓名、性别等基本信息并传入系统;待病人就诊时,医生提取病人信息并录入药方;系统联网并将药方传入上位机及云服务器,病人前往取药区取药。

2.2 可视化呈现

2.2.1 PC 上位机

上位机获取药方后,直接发送操作指令给下位机,提供用户操作交互界面并向用户展示反馈数据,在屏幕上显示各种数据变化。上位机和下位机之间的通信协议采用RS232/RS485 串行通信。只要通信协议可以建立,上位机软件可以是任意开发语言和任意开发平台,下位机也可以使用任意类型的单片机,本系统采用Python 编程开发。

当需要补录和完善药方时,医生可通过上位机查看、录入、修改,使抓药过程自动化。

上位机界面如图2 所示。

2.2.2 联网及图形交互界面设计

该部分主要用到Node-RED 平台及MQTT 协议实现。主要显示药材余量,当余量不足时,采取报警措施并联网发送邮件给药材管理员。

图1:总体概述图

图2:上位机界面大致图

Node-RED 是基于JavaScript 开发的一款图形界面处理平台,它是一款可拖拽式数据流编程软件[1]。上位机在呈现数据的过程及用户的交互界面设计中,需要将数据转发并存储到云服务器,而Node-RED 是一个基于浏览器的图形界面,可以帮助灵活地安装各种插件,它可以支持各种协议,同时支持HTTP、TCP、UDP、Socket 及MQTT。通过Node-RED 提供的若干种节点完成上位机与云服务器之间的串口通信、通信状态迁移及一些辅助功能。本项目使用MQTT 协议,它在此项目中充当了上位机连接云服务器的桥梁作用。

本项目中将采用轻量级的Mosquitto 在阿里云的Linux 主机上搭建Node-RED 和MQTT 服务器,实现系统联网功能及终端与云服务器的中间通信。

系统通信结构如图3 所示。

3 系统硬件设计

图3:系统通信结构

图4:推进装置及药柜图

图5:系统总体流程图

3.1 药柜设计

该药柜以STM32F103C8T6 为主控,加装推进装置、薄膜压力传感器、显示屏及TTS 语音模块,将普通中药材药柜改进成为病人提供全自动的一体化装置。

3.1.1 推进装置的设计

将药材包从厂家购入,要求药材包以1 克和5 克为基数,将两种不同规格的同品种药材包装入同一个药盒并标记,一个药盒设计两个出药通道。该通道主要由步进电机[2]、步进电机驱动器和弹簧组成。通过一定算法,控制加在电机线圈上的电脉冲顺序及频率,使电机按要求控制弹簧的旋转圈数取出药包。

表1:系统测试结果

推进装置及药柜图如图4 所示。

3.1.2 薄膜压力传感器

本系统采用此传感器对压力的灵敏度高,而药材包重量轻。在测量过程中,压力直接作用在传感器的膜片上,使传感器的电阻发生变化并转换输出一个与压力相对应的标准信号。在药柜出药口底部装上该传感器,当药包抓完时,无法检测到传感器的反馈信号,则自动提醒管理员添加药包。

3.1.3 TTS 语音模块

本系统采用一款高集成度的语音合成芯片,它可以实现中英文语音合成、录音、播放以及轻量级的语音识别功能。此语音模块将所取药材包是否为空反馈出来,方便进一步提示管理员药材情况。

3.2 OLED显示屏

本系统设有两块OLED 显示屏,一块装在药柜中,反馈当前时间,药物余量等信息,帮助药材管理员查看。另一块用于模拟医院信息流动的大屏幕,用于显示“XXX 正在取药,下一位XXX,请等待预计XX 分钟”等信息,方便在人流较大的时候,为病人对时间把控提供便利。

4 总体流程

系统总体流程图如图5 所示。

5 系统测试

本文主要从三个方面对系统进行测试:药方数据上传的准确性、电机控制功能准确性、外设反馈是否正常。系统测试结果如表1 所示。

6 结语

该系统实现了联网功能及装置自动化,通过该智能系统降低人为抓药犯错几率,能够将药物的数据及时反馈给管理者。通过上位机与下位机的交互精准反馈,同时通过语音交流互动功能实现人机对话,使得患者对于药品的了解和使用更加地便利,大大减少了服务成本,缓解医务人员的工作量。项目对于封装成份的产品皆有一定的适用性,功能扩展性强,可针对珍贵药材在温湿度等方面加大管理效果。

猜你喜欢
药柜药方上位
张老师的“药方”
基于STM32的智能药柜设计研究
黑漆描金双龙纹药柜
重楼:梁春宏的脱贫“药方”
特斯拉 风云之老阿姨上位
弩药方提取工艺的优化
智能药柜应用环节用药错误识别与防范指导原则
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位