APP下载

基于物联网的智能药盒设计

2022-11-03常国权尚进辉孙帅霞

现代信息科技 2022年18期
关键词:原理图药盒串口

常国权,尚进辉,孙帅霞

(安阳工学院 计算机科学与信息工程学院,河南 安阳 455000)

0 引言

服用药品是人们用来治疗和预防疾病的重要手段,药品对保障人们的身体健康和生命安全有着重要的意义,但错误服药会引发事故风险。目前,我国60 周岁及以上的人口高达2.5 亿多人,占比达18.1%,老年人群体的增多加大了患病和吃药的几率,另外,慢性病患者以及其他需长期服药的人群也存在忘记服药、过量服药、错误服药等问题,每年都有因过量服药或错误服药的风险案例发生。为了避免以上风险的发生,本文设计了一种基于物联网和单片机控制的智能药盒,该药盒可自动通过语音和三色LED 灯提醒用药人按时服药,并可通过Wi-Fi 或4G 模块把服药情况发给其家人或监护人,以便于他们随时检查服药情况。该药盒有效防止重复用药、忘记用药、药物过期等风险的发生,帮助老年人群体及其他需长期服药的人群建立科学良好的用药习惯,这对促进我国康复医疗事业的发展具有重要的意义。

1 系统总体设计

该系统采用STC 公司最新生产的STC8A8K64D4 单片机为核心,并扩展了显示触摸屏、时钟模块、语音模块、LED 灯驱动模块、4G 模块、Wi-Fi 模块等模块进行设计。

显示触摸屏模块用来显示系统当前的日期、时间和系统的其他参数信息,也可以用来设置系统时间、服药时间等参数;时钟模块用来维持系统的时间,作为语音提醒的时间基准,STC8 单片机实时读取时钟模块中的时间,并和预先设定的服药时间进行比对;语音模块用来播放语音提醒,也可以通过麦克风和用户进行简单的语音交互;除了语音提醒之外,系统还在药盒上放置了多个三色LED 灯,每个LED灯的三种颜色可以分别代表每个药仓的状态;4G 模块和Wi-Fi 模块用来连接云平台,通过4G 模块或Wi-Fi 模块可以把各种信息上传到云平台,用户也可以通过智能手机登录到云平台查看或发送实时消息,以便于对服药情况进行及时查询;语音模块通过串口和单片机连接,既可以通过喇叭发出语音提醒,又可以通过麦克风和药盒进行简单的语音交互;系统电源模块为系统中各芯片提供各种工作电压。系统总体设计框图如图1所示。图1 中虚线箭头代表无线连接方式,实线箭头代表STC8 单片机与各个模块或各个模块之间的连接方式。

图1 系统总体设计框图

2 系统硬件设计

2.1 系统电源设计

系统的电源设计直接关系到系统的运行稳定性,考虑到系统可能会使用电池供电的情况,在系统电源设计中采用了功耗较低的电源芯片进行设计。本系统中各芯片的工作电压分为5 V 和3.3 V 两类,因此,电源也分为5 V 和3.3 V 供电两部分。5 V 电源供电模块采用的是MP1584 大电流稳压芯片,MP1584 是DC-DC 降压模块,它具有较低的功耗,支持4.5 V ~28 V 的宽输入电压和高达3 A 的输出电流。MP1584 把7 V ~12 V 电源转换为稳定的5 V 电源,供给4G 模块、语音模块、串口触摸屏以及LED 灯驱动模块等。3.3 V 电源供电部分采用的是上海明达微电子有限公司生产的MD8233,它是低压差微功耗LDO,具有高耐压、低压差、低电流消耗的优点,待机电流在微安级,并可输出150 mA 以上的电流,3.3 V 电源主要用来给STC8 单片机、Wi-Fi 模块、时钟等模块供电。系统电源设计原理图如图2所示。

图2 系统电源设计原理图

2.2 系统主控电路及网络模块接口设计

在多方面比较各类单片机的综合性能和指标之后,本系统采用了STC 公司最新开发的STC8A8K64D4 单片机进行系统设计。STC8 是高速8051 系列单片机,它内部有8 K RAM,64 K Flash,4 个串行口,12 位ADC 等丰富资源,并在内部集成了高精度的晶振电路,且晶振可在6 MHz ~45 MHz 范围内编程设置。它突出的优点是速度快、性价比高、功耗低、资源丰富,设计起来比较方便,可用在智能控制、智能仪器仪表等应用场合。该单片机工作电压为1.9 V ~ 5.5 V,并有多种封装可选,此处采用的是LQFP48 引脚的封装,为了方便与4G 模块和Wi-Fi 模块接口,此处,STC8 采用3.3 V 工作电压供电。系统主控电路及网络模块接口设计原理图如图3所示。

网络接口模块设计分为Wi-Fi 模块和4G 模块设计。Wi-Fi 模块采用的是串口Wi-Fi 模块ESP8266,如图3 中J7所示。ESP8266 是一款低功耗的网络透传模块,它专为移动设备和物联网应用设计,可将用户的设备连接到Wi-Fi 无线网络,进行互联网或局域网通信,实现联网功能。此处,STC8 单片机通过串行口1 和ESP8266 进行通信,因为串行口1 是ISP 程序下载接口,所以,这里通过软件编程的方法,把串行口1 转移到P3.6 和P3.7,使得串行口1 实现复用功能。因为ESP8266 的工作电压为3.3 V,所以,这里直接把ESP8266 的RX、TX 分别和P3.6、P3.7 连接。ERST是ESP8266 的复位引脚,该引脚连接到STC8 单片机的P1.6引脚,作为控制ESP8266 退出透传并对其进行设置的手段。

4G 模块采用的是上海移远通信技术股份有限公司生产的透传模块EC200S,该模块是移远公司专门为M2M 和IoT应用领域而设计的无线通信模块,它内置多种网络协议,并集成了USB、WLAN、串口等多个工业标准接口,本系统采用的是串口接口。因为EC200S 是一个有144 个引脚的LCC 和LGA 混合封装的贴片式模块,而且还需要特殊的通信接口电路及供电电路等外围电路,所以,它不适合和STC8 单片机直接接口,本系统采用的方法是把EC200S 加上外围电路封装成一个方便和单片机接口的通用4G 模块,图3 中J5、J6 为EC200S 封装后的双排接口,封装后的模块采用5 V 电源供电,串口和STC8 单片机串行口2 相连;其中,STATUS 用于指示模块的工作状态,当模块正常开机时,STATUS 会输出低电平;POWER 用来使4G 模块开机和关机,POWER 连接到STC8 单片机的P1.3,可以通过P1.3 输出符合开关机时序的高低电平使4G 模块开机和关机。

图3 系统主控电路及无线模块接口原理图

2.3 语音模块接口电路设计

为方便用户与智能药盒的语音交互,本设计采用成都启英泰伦科技有限公司生产的AI 智能语音芯片CI1122 实现了语音的输入和输出。CI1122 是一款具备专用于智能语音交互分析与处理等功能的人工智能芯片,它内置RISC-V高性能处理器内核和低功耗Audio Codec 模块,同时该芯片还集成多路UART、IIC、GPIO 等外围控制接口,非常适合开发低成本高性能的单芯片智能语音离线识别方案。这里采用的是由CI1122 芯片及外围电路封装而成的语音模块CI-C22GS02S,该模块可采用5 V 电压供电,但它的IO口通信电平为3.3 V。单片机与语音模块接口电路原理图如图4所示。

语音模块和STC8 单片机采用串行口通信方式,语音模块的串行口和STC8 单片机的串行口4 相连接,即语音模块的RX、TX 引脚分别与STC8 单片机的P0.3、P0.2 相连接。图4 中的J3 接口为语音模块的程序升级接口,用来给语音模块升级个性化的语音程序;J8 为升级时的选择跳线,升级程序时把J8 断开,即可通过语音模块的串行口UART0 对芯片内部的Nor Flash 烧录固件;J9 为喇叭接口,J10 为麦克风接口。

图4 单片机与语音模块接口电路原理图

2.4 系统其他接口电路设计

系统其他接口电路模块包括彩色触摸屏、三色LED 提醒灯以及时钟模块等,系统其他接口电路设计原理图如图5所示。彩色触摸屏模块采用的是320×240 分辨率的串口屏,该屏幕通过串行口和STC8 单片机进行通信,接口如图5 中的J4,它连接的是单片机的串行口3,其中ACTIVE 引脚用来打开屏幕背光;U2 是DS1302 时钟模块,它和单片机采用模拟SPI 时序进行通信,因此,它的3 个引脚连接STC8单片机的3 个普通IO 就可以了;J2 是三色LED 提醒灯接口,由于每个药仓上面需要放一个三色LED 灯,所以三色LED灯的个数较多,因此这里采用专用的LED 驱动芯片TM1640来实现,该芯片可以驱动128 个LED 灯,它和单片机只需要2 个接口即可通信。

图5 系统其他接口电路设计原理图

3 系统软件设计

系统软件设计主要包括STC8 单片机下位机软件设计和语音模块SDK 软件设计,这里主要论述软件的设计流程,下位机主要在Keil C 开发环境中用C 语言编写,并使用STC-ISP 软件下载到STC8 单片机中。语音模块的软件设计采用官方提供的SDK 软件开发包,并通过串口编程软件下载到语音模块中。

系统正常上电之后,会进行自检及系统初始化工作,STC8 单片机从EEPROM 中读取系统的各种参数信息并进行初始化工作,这些参数信息包括:服药提醒时间列表、Wi-Fi 连接的路由器信息、4G 模块的参数信息、屏幕显示的参数信息、语音模块的参数信息等,并根据读取到的参数信息对各个模块进行初始化操作。系统读取到各个模块的基本参数之后,首先进入脱机模式,在LCD 显示屏上显示当前的时间、服药时间等相关信息,进行简单的语音播报提示,并点亮相应药仓上的三色LED 提醒灯,红色提示空仓,绿色提示有药品,蓝灯闪烁提醒该服用这个仓位的药品。

完成以上操作之后,系统开始进行连接网络,根据前面读取的Wi-Fi 网络信息,尝试连接指定的无线网络。STC8单片机通过串行口1 发送AT 指令对Wi-Fi 模块进行配置,根据指定的网络名和密码连接到指定的网络,如果Wi-Fi 网络连接认证成功,可进一步采用Wi-Fi 网络连接到云平台,STC8 单片机设置Wi-Fi 模块进入透传模式,等待数据的上传或下载。此时,STC8 单片机就会忽略下一步的4G 网络的连接,采用Wi-Fi 网络作为系统网络。如果Wi-Fi 网络连接认证失败,STC8 单片机就需要进一步连接4G 网络。STC8 单片机首先拉低4G 模块的POWER 引脚约500 ms 进行开机操作,并实时检测4G 模块STATUS 引脚的状态,如果STATUS 引脚一直为高电平,表明4G 模块出现故障,通过LCD 显示屏显示相关信息,同时通过语音播报故障信息。当STATUS 输出低电平时,表明4G 模块已经开机,同时单片机串行口2 也会收到“OK”两个字符,然后,单片机通过串行口2 给4G 模块发送AT 指令来进一步查询SIM 卡是否正常。单片机发送“AT+CPIN? ”AT 指令给4G 模块,并在500 ms 超时内等待4G 模块返回信息,如果模块返回READY 则表示SIM 卡正常,后面就要通过相应的AT 指令依次进行SIM 卡信号质量的检查、SIM 卡是否附着网络、SIM 卡是否注册网络等操作,如果SIM 卡信号正常,就可以进一步连接云平台或者电脑客户端服务器了。网络连接成功之后,系统会向网络接收端发送一些药盒的相关信息,如果连接失败,则跳过该步骤,进入脱机工作模式。

CI-C22GS02S 语音模块的软件设计采用的是官方提供的SDK 开发包,使用该开发包可以对语音模块的命令词列表和播报词列表进行个性化的修改,并通过串口工具下载到模块中,当用户通过麦克风发出语音后,语音模块会根据命令词列表和播报词列表进行比较,识别出相应的词汇,并找到用户设定的命令代码,再通过串行口发给STC8 单片机,单片机收到命令代码之后,和存储EEPROM 中的参数进行比较,从而判断出用户发的语音内容。单片机再通过串行口给语音模块发送事先设定好的语音ID,语音模块通过喇叭播报出对应的语音,这样系统就可以和用户进行简单的语音交互了。系统流程图如图6所示。

图6 系统流程图

为方便对日期和时间进行比较,这里采用把年、月、日、时、分、秒做简单移位而合成一个32 位时间戳的方法,相比采用Unix 时间戳这种方法运算速度更快,该时间戳在还原时间的时候只需做相反的移位操作即可,时间戳的合成方法如图7所示。系统进入正常工作模式之后,STC8 单片机会在while 循环中读取DS1302 时钟的日期和时间,并按照图7 的方法合成时间戳,和用户设定的服药时间戳一一进行比较,一旦系统当前的时间戳大于或等于用户设定的时间戳,则表示服药时间已到,系统会通过语音发出提醒,并同时在屏幕和药仓的三色LED 灯上显示出来,如果已经连接网络,则会把相关信息也上传到网络平台。

4 结论

本文设计了一种基于物联网的智能药盒,实现了语音播报、三色LED 灯闪烁等多种提醒方式以及触摸屏交互、语音交互等多种交互手段,来提醒老年人群体及其他需长期服药的人群及时服药,其家人或监护人也可以通过Wi-Fi 或4G模块等无线网络来实时监查用药情况,可有效防止重复用药、忘记用药、药物过期等风险的发生,帮助服药人群建立科学良好的用药习惯,推广应用具有一定的经济效益和社会效益。

猜你喜欢

原理图药盒串口
提醒老人吃药有哪些方法?智能药盒帮你提醒
便携药盒有四怕
基于Protel DXP 2004层次原理图的设计
浅谈电工专业课的现场教学
电子电路识图方法的探究
MCS—51单片机中的多串口通讯技术的应用
便携药盒有四怕
维修电工线路板的接线技巧分析
旅行便携随身药盒
全国计算机等级考试机房准备工作探讨