STM32单片机+机智云AIoT+智能服药箱
摘要:随着我国老龄化进程的日趋加快,越来越多的老年人步入了快乐并充实的晚年生活。但是随着年龄的增长,各种医药用品也成了老年人生活的必需品,有人每天甚至需要在不同时间服用多种不同的药物,如果子女不在身边,老年人经常会错过最佳服药时间或者忘记吃药,甚至不记得自己吃没吃过药、吃过了哪种药。针对这种情况,本项目设计了家庭智能医药箱,可以对药物服用者进行服药提醒和服用记录,并通过云端对医药箱进行监控、管理和记录。
0 引言
目前,老年人的健康问题、生活状态和精神状态是全球关注的焦点问题。针对于这个问题,早期有人提出过“老人福祉科技”这个想法,即利用先进的科学技术以及先进的人工智能算法去关心、去保证老年人的生活和健康。近年来,老人福祉科技获得了全世界越来越高的关注度,是各领域都在争相研究开发的热点。基于物联网云平台的智能药箱就是基于这个想法诞生的科技产物。
药箱的整体结构由传感器采集层、数据传输网络层和数据管理层构成。每个药盒正下方布有专用的RFID天线,它可以感应到该药盒内部所有药片的实时数据,然后通过天线把实时药片增添信息发送到中央处理器。当服药时间到了,服药闹钟响起时,控制系统就会进行提醒,并把服药信息显示在屏幕上,如果长时间不做处理,系统就会发出警报。每次服药完成,感应天线会根据RFID感应信息,来确定药片服用量是否符合服用药量,如果与设置不符,还会进行相应提示提醒。
目前,国内对这方面的研究相对较少。已有的产品,局限性较大而且功能不全面,只停留在单机运行上。市面上出现这类药盒也只是停留在设置闹钟提醒和监测药品数量上。国外的相关产品虽然功能齐全,但价格昂贵,不能起到普及推广的效果。
因此,研究一款价格合理、功能齐全、能够充分地利用物联网和云服务平台,并且操作简单,能够有效地提醒、监督老人按时服药,服药后实时记录服药情况的一种现代化药箱是非常有必要的。
1 总体功能实现
设计一款智能药箱,分成不同的收纳格,每个格子配固定编号,服药者把药物根据服用时间放在收纳格中,并在手机APP设置定时提醒服务,到设定时间药箱收纳格指示灯报警提醒服药;配传感器感知收纳格被打开和关闭的过程,视为一次服药成功,并上传云端做服药记录;做分组采集,药箱配RFID读卡器会对服药者进行分组,暂定两组。所设计的智能药箱的外部功能结构如图1所示。
图1 外部功能结构图
2 总体硬件系统结构
2.1 以STM32单片机为主控MCU实现药箱控制部分
以STM32单片机为主控MCU实现的药箱控制部分包括LED显示,提示服药种类和服用计量;收纳格声光报警,起到定时提醒作用;传感器采集模块,记录收纳格开关情况;电机控制模块,利用步进电机或者舵机控制收纳格运动,从而控制药品输出;RFID人员采集模块,识别服药人,避免误服[2]。硬件整体结构如图2所示。
图2 硬件整体结构
2.2 STM32最小系统
STM32单片机最小系统包括主芯片、上电复位电路、时钟电路、电源供电电路。同时,如果满足STM32单片机基本功能,还应包括下载模块和人机交互模块。本次选用STM32F103RCT6作为中心控制芯片。STM32F103RCT6基于ARM Cortex-M内核,具有高性能、低成本、低功耗的优点,片上资源包括48KB SRAM、256KB Flash、11个定时器、2个IIC、5个串口、1个USB、3个SPI、3个12位ADC、2个12位DAC及51个通用IO口。
2.3 ESP8266模块
利用ESP8266模块把药箱采集的服药情况通过WiFi上传到机智云物联网云平台,对药物服用者的服药情况做全过程跟踪记录。ESP8266模块是现如今非常流行的WiFi模块,是物联网应中传输层的近距离主流模块,它的体积较小,非常方便布局在硬件主控板上,而不影响智能药箱的美观性;超低的功耗也是ESP8266的主要特点,本设计中,在不需要传输数据的情况下,ESP8266为深度睡眠状态,工作电流约为20μA;当有传输数据时,工作电流约为70mA,节能性优良(图3)。与蓝牙模块做比较,WiFi模块具有更远的传输距离和更高的传输速度,因此,本设计采用后者进行电路设计。
图3 ESP8266原理图
2.4 RFID人员采集模块
RFID在本设计中,起到用来区别老人身份的作用,可以一家人同时使用,药箱的固定位置布有电磁感应线圈,该线圈引出端连到主控板的RFID模块上,控制器通过感应线圈发送一定频率的射频信号,当有同频率电子标签接近感应线圈时,通过电感耦合使电子标签储存能量,当能量达到一定值,就会将将电子标签中的编码信息发送到药箱控制器中进行解码处理。
电子标签采用NXP MIFARE系列S50芯片,存储容量1K。因为是无源电子标签,所以外观结构可以设计成多种形式,可以以手环的形式佩戴在老人身上,也可以以卡片的形式随身携带。与电子标签相匹配的RFID读卡部分采用NXP MIFARE RC500基站芯片,RC500支持ISO14443A协议,发送和接收都可在无源条件下进行,通信距离在理想条件下可达到100mm。接收器部分包含解调和解码电路,稳定有效。数字部分负责处理帧和奇偶校验、CRC校验。
2.5 舵机模块
本项目通过舵机旋转角度来使药箱的选中抽屉定时弹出。舵机是一种位置(角度)伺服的驱动器,在机器人控制系统以及机电控制系统中,舵机的控制起到至关重要的作用。舵机可以在微机电系统和航模中作为基本的输出执行机构,适用于那些需要角度不断变化并可以保持的控制系统,因而被广泛应用于智能小车、无人机以实现转向及机器人各类关节运动中。舵机的基本组成包括以下几个部分:舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路。SG90参数:扭矩为1.5kg/cm,工作电压为5V,运行速度:0.3s/60°。电缆红色为正极(DC5V),棕灰色为地线(GND),橙色为信号线PWM。舵机接线原理如图4所示。
图4 舵机接线图
舵机旋转范围0~180°,单片机向舵机发出PWM信号就可以控制角度,信号需要连续发送才能让多级转动直到达到角度。0.5~20ms高电平对应0~180°转角。
2.6 传感器模块
使用红外传感器模块识别药箱所选抽屉的一次开启和闭合,来作为一次服药周期记录。该传感器模块上主要元器件为LM393比较器,此外还有一对红外发射管与接收管,当模块前方无障碍物时,红外发射管发射的光线发射到远处,指示灯灭,当不透明障碍物接近红外管时,发射管发出的红外光线遇到障碍物返回之后被接收管接收,这时比较器输出端给出低电平,有障碍指示灯亮起。
将在无障碍和有障碍循环一次的周期作为服药操作流程的一次记录。模块上电位器可调节检测距离,有效感应距离在2~30cm之间,工作电压为3.3~5V。LM393管脚结构如图6所示。
图6 LM393管脚结构
2.7 机智云物联网云平台
利用机智云物联网云平台首先对通过平台的数据点进行设定,即对服药者进行初始化设定,包括服药名称、服药时间、服药剂量等,并设置定时提醒功能;待服药后自动采集完成信息,保存为服药成功一次,并做数据保存。
3 关键问题
手机APP上设定的服药名称、计量如何在开启相应的药品收纳格时显示到药箱的LED显示屏上;收纳格开启的机械联动方式,拟选用步进电机推送方式或舵机控制弹出方式;开启/关闭收纳格传感器选择。
4 结语
本设计集对老人身份的识别、用药的提醒、用药量的显示、对服药后上传云服务器、用药数据的记录等功能于一体,使老年人以及常年服药者能够把每日定量服药这个操作过程实现得简单便捷。
后续的设计会集中在对服药数据的后台分析和处理上,通过服药记录来分析服药者身体健康状况并定时定期对老年人进行温馨提示提醒,并增加测量血压、血糖等功能,并上传云端,做进一步数据分析,从而做到全方位健康管理。
如何既能够满足老人在服药全过程中对各项操作过程的管理?又能够让老年人轻松上手、容易操作呢?不过在提升设计的简便性和友好性这方面,优化了人机交互方面的美观性和操作的便捷性,使老年人能够在子女不在身边的情况下独立地操作和使用。