APP下载

基于STM32的老年群体居家智能药盒系统设计与实现

2023-11-10刘明硕何丹丹李帅

电子设计工程 2023年21期
关键词:药盒蜂鸣器软件测试

刘明硕,何丹丹,李帅

(平顶山学院信息工程学院,河南平顶山 467000)

随着社会主义现代化建设,中国已然成为世界第二大经济体,伴随人民生活质量的全面提升,对老年人日常生活进行智能化护理已成为各个开发者研究的热点。

该文以STM32F030C8T6(6T6)为主控芯片,利用单片机控制技术和无线通信技术,通过蓝牙通信模块、GSM 传输模块、OLED 模块、声光报警模块,实现提醒老人精准用药等基本功能。

1 系统总体设计

系统的硬件电路设计选择STM32F030C8T6(6T6)作为主控制器,由OLED 模块、LED 模块、蜂鸣器等共同组成外围电路。为了实现远程通信功能,该设计采用了GSM 传输模块和蓝牙模块作为无线通信模块,手机APP 使用蓝牙与STM32 智能药盒相连接。系统的软件设计中,单片机使用的C 语言由Keil 开发和调试,手机APP 由E4A 开发,构建完整的系统功能结构。系统总体设计如图1 所示。

图1 系统总体设计

2 系统硬件设计

硬件设计使用了STM32 单片机控制模块、无线蓝牙模块、GSM 传输模块、OLED 显示模块、按键模块和提醒模块。

2.1 STM32单片机控制模块

系统选用STM32F030C8T6(6T6)作为主控芯片。外围电路有复位电路、晶振电路、电源电路等。复位电路的功能为通过按键完成整个系统的复位[1]。六个通用16 位定时器和一个高级控制PWM 定时器,确保了较高的时钟精度。该芯片的工作电压最大为3.6 V、最小为2.4 V,工作频率高达48 MHz,内置高速嵌入式存储器,以及广泛增强的外围设备和I/O 端口[2]。该系统板具有性能强、功耗低、价格低等一系列有利于设计的特点。具体电路如图2所示。

图2 STM32最小系统电路

2.2 GSM传输模块

系统采用的GSM 传输模块是GA6-B,GSM 模块的URX、UTX 引脚分别与STM32 主控芯片的PA9、PA10 相连接,其与单片机之间通过AT+CIPMODE 进行数据传输。当到达吃药时间用户未进行任何操作时,MCU 会立刻控制GSM 模块向用户监护人发送报警短信,从而实现提醒功能。GSM 模块接口电路如图3 所示。

图3 GSM模块接口电路

2.3 无线蓝牙模块

系统采用的蓝牙模块是JDY-31,其是基于蓝牙3.0SPP 设计的,蓝牙模块的TXD、RXD 引脚分别与STM32 主控芯片的PA3、PA2 相连接,与单片机通过AT 指令进行数据传输,蓝牙模块搭建了一条硬件设备和APP 之间的连接通道实现了设备与APP 之间的交互。蓝牙通信模块电路原理图如图4所示。

图4 JDY-31模块原理图

2.4 OLED显示模块

为了增强用户的视觉体验,使药品名称和数量更加清晰。系统采用了12864OLED 显示屏,该显示屏是128×64 点阵的OLED 单色、字符、图形显示模块[3]。屏幕大小为0.96 寸,采用SPI 作为与单片机进行数据传输的通信方式。硬件电路中SCLK2、MOSI2、OLED_RST 和OLED_DC 引脚分别连接到单片机的PB13、PB15、PB6 和PB5。在写入数据时需要先将SCLK2 设置为低电平,在产生上升沿之前准备数据。当MOSI2 完成给单片机传输数据的任务后,SCLK2 变为高电平,同时OLED 读取数据[4]。该模块的功能是显示药盒的药品名称以及需要服用的数量。

2.5 提醒模块

提醒模块作为该设计的输出部分,主要作用是提供具体可靠的提醒功能。由于老年人身体机能较差,如果仅使用单一的提醒方式,存在容易忘记或忽视的特点。因此,采用蜂鸣器和LED 的声光双重提醒方式,提高提醒的有效性。

作为一种有源的电子蜂鸣器,蜂鸣器采用5 V 直流电压,电路由8050 三极管引导驱动。其电流的峰值为500 mA,硬件电路中只需要将蜂鸣器的I/O 口引脚连接到单片机的PA8,通过单片机发出高电平来实现报警。

LED 是一种高亮度、低功耗的灯管。该灯管在节能领域发挥着举足轻重的作用。该设计中,LED和带电的电阻串联以减小电路电流,并使用单片机引脚作为输入端。硬件电路中将LED 的R、G、B 引脚分别连接到单片机的PC13、PC14、PC15。为了防止电流对单片机引脚的影响,使LED 处于合适的亮度,采用1 kΩ电阻作为限流电阻[5-6]。其模块接口电路如图5 所示。

图5 提醒模块接口电路

2.6 按键模块

为了检测用户是否完成吃药操作,当到达设定吃药时间之前用户完成吃药,按下按键手机APP 显示药盒状态为已经服用,证明用户完成用药。S1、S2、S3 分别控制三个药盒。硬件电路中将按键S1、S2、S3 引脚分别连接到单片机的PB12、PB11、PB10。

3 系统软件设计

单片机使用的C 语言由Keil进行开发和调试,使用ST-LINK 烧录软件对程序进行下载与调试。手机APP使用E4A进行开发,以构建完整的系统功能结构。

3.1 系统总体软件设计

该设计从连接蓝牙后开始工作,当设备和手机APP 通过蓝牙成功配对后,设备在10 s 内进行初始化,将手机时间透传给单片机,同时单片机将会对比时间是否与设定吃药时间一致,如果与设定时间一致且用户在10 s 内未触发吃药按键,蜂鸣器将会发出声光警告,直至用户完成吃药操作后警报解除。同时,GSM 传输模块将发送(Forget to take medicine)给用户监护人,达到双重提醒的目的。系统总体程序流程如图6 所示。

图6 系统总体程序流程

3.2 GSM模块软件设计

在该设计中,当GSM 通信模块通电后,发送AT指令进行同步串口波特率之后等待下一步指令,若到达规定时间用户没有任何操作,GSM 将发送短信(Forget to take medicine)给用户监护人,从而达到提醒效果[7-9]。提醒短信发送流程如图7 所示。

图7 提醒短信发送流程

3.3 蓝牙模块软件设计

当手机蓝牙没有打开时,就不会有相关数据的传输,即数据不显示;当手机蓝牙打开时,与智能药盒系统无线连接,并进入初始化阶段,并且智能药盒系统会实时采集数据并向手机进行发送。目的是为了实时更新STM32 内时钟,并且通过APP 把数据透传给单片机[10-12]。蓝牙模块发送接收流程如图8 所示。

图8 蓝牙模块发送接收流程图

3.4 APP软件设计

智能药盒系统APP 需要使用E4A 搭建软件环境。E4A 面向企业、网站管理员、开发者、网络公司及各种便携式设备等。中文Android 编程语言基于Android 系统下的应用程序进行开发。APP 页面简洁明了,依次为连接栏、定时设置、药盒状态和名称、提醒号码设置,操作简单,符合老人使用习惯。智能药盒手机APP 页面如图9 所示。

图9 智能药盒手机APP页面

图10 软件测试效果图

4 系统测试

硬件测试对于一个系统的实现有着举足轻重的作用,因为如果硬件电路连接出现错误轻则导致系统功能无法实现,重则会使系统电路元器件烧坏。

4.1 硬件测试

首先利用仿真软件测试硬件电路是否能正常运转,系统基本功是否能够实现。然后测试设备是否能和手机APP 相连接、APP 中的时间是否能通过蓝牙透传给单片机,并且在OLED 显示屏能否正常显示。当到达设置时间单片机能否发出声光警报,如果按下按键警报能否停止OLED 显示,是否更新为已经服药。最后测试GSM 短信提醒,当到达设定时间持续未作任何操作,GSM 短信模块会不会发送短信来提醒用户:监护人用户未完成吃药[12-14]。

4.2 软件测试

软件测试是设计实现过程中必不可少的重要组成部分,进行软件测试可以以肉眼可见的方式检测系统功能是否完善,同时也是对硬件测试的二次检验。

4.2.1 OLED屏幕软件测试

OLED 屏幕软件测试的主要目的是检测OLED屏幕显示药物信息及时间是否准确,药盒名称和吃药数量是否能正常显示。测试方法如下:在测试程序中分别写入药盒名称和吃药数量,下载程序并观察OLED 显示效果,第一行为时间栏显示当前的时间精确到秒,二、三、四行分别显示了药盒的名称、药盒所处状态以及要服用药物数量[14-16]。

4.2.2 GSM通信模块软件测试

GSM 模块程序的主要功能是在超过设定时间后,GSM 会给设定号码发送短信,提醒用户:监护人用户还未完成吃药操作。

5 结束语

该文设计了以STM32F030C8T6(6T6)为主控芯片的智能药盒系统。系统具有较高的时钟精度,能够准确提醒老人按时吃药,并且具有成本低、便携等一系列符合老年人生活习惯的优点,具有较高的实用性。在后续的工作中,仍然需要对其稳定性进行改善,并且还需要考虑增加更多的创新功能。如实现GPS 的精确定位,也可以增加APP 视频功能,让老人与子女通过智能药盒系统进行全息的视频电话;还可以增加智能AI 功能,可以语音识别老人的需要,做到更加方便简洁地为用户服务,使老年人的使用舒适感提升。

猜你喜欢

药盒蜂鸣器软件测试
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于OBE的软件测试课程教学改革探索
掌控板制作简易钢琴
单片机驱动蜂鸣器的程序设计
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
软件测试工程化模型及应用研究
红外光谱法鉴别维药盒果藤根药材模型研究
“七彩药盒”在艾滋病抗病毒药物治疗中的应用