智能药盒是专为需要长期服药的慢性疾病患者或易健忘的老年患者按时吃药而设计的产品。通过手机APP设置服药提醒,能够保证合理科学的用药,从而避免一些糖尿病、高血压以及心脏病等疾病患者因忘记服药而引发不测。本方案为基础设计,用户可在此基础上开发类似的衍生应用。
本方案使用RTC模块和Data Flash来分别储存实时时间和提醒时间(RTC报警)的数据。可实现的功能包括:
- 通过WeMos ESP8266模块连接瑞萨IoT Sandbox;
- 记录服药事件;
- 通过手机APP设置服药提醒;
- 通过声光提醒;
- 服药记录可传至手机端APP;
- 电池低电量提醒;
- 4位7段LED上可显示实时时间。
图1.智能药盒系统连接图主要参数:-电源:Micro USB(5V)或3.0V(2节AAA电池)-工作电压:3.3V-提醒声音:高于80分贝- Wi-Fi:2.4GHz-工作温度:室温-系统整体功耗:71.6μA(MCU进入STOP模式,关闭Wi-Fi模块电源)图2.1 RL78/G13框图
2、系统原理智能药盒使用RL78/G13 MCU和一个WeMos ESP8266模块(Wi-Fi模块)以及手机APP来实现功能,可以通过Wi-Fi模块连接到Renesas IoT Sandbox。
图2.智能药盒系统框图手机APP通过MQTT协议可实现远程编程,使RL78/G13生成提醒并保存服药记录。服药时间一到,智能药盒上对应此服药时间的药仓指示灯会亮,药盒同时会发出提示音,患者便会知道该服哪个药仓里的药。如果患者在收到服药提醒后按下了记录按键,则会留下服药记录,且该记录可通过Wi-Fi传至手机APP,由此智能药盒可判断患者是否已经按时服药。智能药盒的基本操作步骤如下:
(1)可通过拨动开关SW4选择由Micro USB接口供电或是电池供电。上电后系统开始进行初始化。WeMos ESP8266复位,4位7段LED开启。10秒后,智能药盒进入STOP模式。
(2)通过MQTT协议与手机APP进行信息的通讯。当正确添加智能药盒后,实时时钟校准信息便通过MQTT协议自动发送至药盒。RL78/G13单片机会将实时时钟更新为当前时间(HH:MM)并把时间信息显示在4位7段LED屏上。同时,RL78/G13还会通过MQTT协议发送响应以表明智能药盒当前在线。
(3)手机APP会自动查看智能药盒当前的状态(在线/离线)。如果处于在线状态,可以点击“Add”和“Clear”进行下一步设置。如果处于离线状态,请检查网络连接并等待Wi-Fi模块上的LED以1秒为间隔闪烁(Wi-Fi和MQTT连接成功),此时点击“Reconnect”使药盒和手机APP建立连接。如果LED灯不能以1秒为间隔闪烁,说明网络连接有问题,可回到“步骤(2)”重新添加药盒。
(4)通过手机APP可设置3个(最多)提醒,设置的信息会通过MQTT发至智能药盒来提醒患者按时服药。每个提醒时间也都会储存到数据闪存中。在设置提醒的页面点击“Add”进行“Hour”和“Minute”的设置,然后点击“Save”即可。在手机APP上点击“Clear”可以删除所有的提醒,且相应的操作信息会通过MQTT发送至智能药盒上。
(5)一个提醒到时后,RL78/G13的RTC闹钟报警中断产生,系统会发出提示音并启动振动马达,同时点亮对应药仓的LED灯。如果此时用户按下服药记录键(SW1),智能药盒会通过Wi-Fi模块利用MQTT协议将服药记录发送至云端。在手机APP上点击“Record”可以看到所有的服药记录。
(6)4位7段LED用来显示实时时间数据。每按下一次SW1或者每发生一个中断,4位7段LED都会点亮10秒钟。
(7)如果系统由电池供电,电池电压会定期被检测。每当RTC的1小时中断产生时,RL78/G13的A/D转换器会检测电池的电压。如果电池电压低于2.5V,智能药盒的蜂鸣器每分钟响一次以提醒用户及时更换电池。接收到手机APP的电池检测指令后,RL78/G13也会进行一次电池电压检测,并通过Wi-Fi模块利用MQTT协议将电压数据发送至手机APP。
(8)如果系统的RTC时间与手机端不同步,在手机APP上点击“More”和“Time Correction”,实时时间信息会通过MQTT协议发送至药盒。RL78/G13会更新实时时钟。在手机APP上点击“More”以及“Delete box”后,APP中的药盒信息会被删除。点击“Add box”可以重新添加新的药盒。
(9)当系统由电池供电时,为了延长电池的使用寿命,可以按下SW3按键来关闭Wi-Fi模块的电源。此时药盒与网络的连接中断,仍然会在之前设置的服药时间发出声光提醒,但是服药记录不会上传到云端。
3、硬件电路智能药盒主要电路包括电源电路、电池电压检测电路、功能键检测电路、蜂鸣器控制电路、直流振动电机控制电路、WeMos ESP8266模块电源控制电路、药仓LED的控制电路以及4位7段LED显示电路。
图3.智能药盒店里原理图(1)电源电路
ISL9120是一款高性能的降压-升压稳压器,可帮助实现对系统电源、Wi-Fi、蓝牙、内存卡或LCD模块等外围设备的高效电源管理。该稳压器的输出电流可达800mA(Vin = 2.5V, Vout = 3.3V),另外,其自适应电流限制PFM架构可以提供极其出色的电源管理效率。ISL9120将智能药盒的3V电池升压至3.3V,或将USB电源的5V降压至3.3V,使其可为包括单片机、WeMos ESP8266模块、LED等在内的整个系统电路供电。
(2)电池电压检测电路
本系统采用电池供电。当电池电压低于一定值(如2.5V)时,系统会通知用户更换电池。它使用两个分压电阻和一个A/D转换器监测电池电压。为了达到低功耗的目的,本系统还使用一个输入/输出端口控制电池电压检测电路的开启和关闭。
(3)功能键检测电路
智能药盒带有功能键检测电路,在IDLE模式下,用SW1的下降沿将系统唤醒至标准模式,同时,4位7段LED开启并实时显示当前时间。发生RTC报警中断后,按下SW1产生INTP1中断来通知MCU停止报警,并让Wi-Fi模块发送服药记录。按下SW2产生INTP2中断来通知MCU向Wi-Fi模块发送Wi-Fi用户名及密码的配置指令。按下SW3产生INTP0中断来通知MCU关闭或开启Wi-Fi模块的电源,用来降低系统功耗。
(4)蜂鸣器控制电路
RTC报警中断发生后,单片机从PCLBUZ0向蜂鸣器控制电路输出0.512kHz的方波,使蜂鸣器鸣响。
(5)直流振动电机控制电路
智能药盒的直流振动电机控制电路在报警发生后,一个输入/输出端口输出一个高电平以驱动电机产生振动。
(6)Wi-Fi模块电源控制电路
智能药盒的Wi-Fi模块电源控制电路通过输出引脚P60,控制Wi-Fi模块的供电电源的开启和关闭。
(7)药仓LED的控制电路
7个LED灯分别对应7个药仓。当发生RTC报警中断,对应服药日的LED灯开启。例如:LED1对应着周一的服药提醒,而LED7对应着周日的服药提醒。
(8)4位7段LED显示电路
本系统采用4位7段LED屏显示实时时钟的信息。每按下一次SW1或者每发生一个中断,4位7段LED都会显示当前时间。
4、系统BOM说明智能药盒电路结构简单,采用RL78/G13 MCU、ISL9120IRAZ降压转换器两个芯片、20V/3.7A P-MOS、32.768KHZ石英晶振、直流振动马达、蜂鸣器、连接器等30多种电子元器件。
BOM表种,RL78/G13是是一款功耗低多功能通用MCU,32.768KHZ石英晶振的负载电容为12.5PF,马达为3VDC驱动9000RPM,20V/3.7A MOS管采用SOT23-3封装,电阻器要求±1%精密。该智能药盒属于基础性方案,用户可以深度二次开发,将其用于从家用电器和消费类电器到工业设备(配料和配方控制)、医疗保健(保健院、养老院)和安全等各种应用。
作者: 硬之城Allchips, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3975615.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论