基于Arduino的智能摔倒监控报警系统
2023-02-08蒋亚飞韦剑琳庞明义张书晗
蒋亚飞,韦剑琳,庞明义,张书晗
(渤海大学,辽宁 锦州 121013)
0 引 言
随着我国人口老年化进程的加剧,社会为保障老人群体的健康将承担越来越艰巨的责任。其中大多数家庭都面临着老人多、年轻人少的现状,难免会出现对老人看护不足导致老人摔倒等现象[1]。老人跌倒造成的伤害不仅体现在身体的即时受伤,还体现在未得到及时的帮助而造成的所有后续恶劣影响。因此一个能够实时监测到跌倒并通知相关人员救治的智能摔倒监控报警系统很重要。
目前已有部分智慧养老产品具有老人防跌倒功能,如智能防摔气囊、智能鞋、智能服装,能预防跌倒和减轻伤害程度。但部分产品仍处于实验室阶段,且大部分产品价格较贵,功能设置复杂,难以掌握,穿着舒适性有待提高,应用效果有待检验。目前常见的跌倒检测方法包括基于视频、基于环境传感器和基于穿戴式三种[2]。
本文所设计产品使用可穿戴设备作为载体,在硬件上采用主动与被动报警的设计。基于加速度传感器的摔倒检测系统,可以实时监测人体的活动,更适合应用于跌倒检测,因此本文采用此方法来检测老年人是否有摔倒的趋势。本文采用前躯胸腔作为特征部位,具有很好的规律性。
1 系统总体设计
智能摔倒监控报警系统主要由加速度传感器、通信定位、心率血氧采集、声光报警等模块构成,系统的总体结构如图1所示。本系统采用Arduino作为微处理器,应用心率采集模块实时获取老人心率信息,并将数据显示在OLED屏上。同时在系统上加入近三天的天气信息和实时时间显示的个性化设计,帮助老人了解天气情况。采用加速度传感器精准监测老人是否摔倒,如若摔倒则会触发声光报警功能,同时向家人发送求救信息。为了能够及时救助老人,本系统加入了基于北斗的定位功能,并将定位信息实时上传到OneNET云平台;收到求助信息的急救人员和家人可通过移动云APP查看老人位置信息及行动轨迹,便于救助;还可 通过语音模块实现简单的人机交互功能,使得老人在遇到特殊情况时也可以通过短信求助。
图1 系统结构
2 系统主要功能模块设计
2.1 微处理器模块
本设计中的核心微处理器模块采用Arduino UNO,它是基于ATMEGA328P的Arduino开发板。该开发板运算性能强大、价格便宜,特别适合用于穿戴设备的开发;支持多种通信,方便进行设备调试。本系统设计外加复位按键控制程序复位,主要用于调试设备。
2.2 电源模块
本系统采用TPS5430开关稳压电源模块,可以从单输入12 V向5 V和3.3 V转换,拥有多路正负电压接口,可以完全满足各个模块的供电要求。由于该模块内部系统接入滤波电容,能提高电源的稳定性;而且内部含有大容量的电容和大功率的电感,能满足系统的耗电需求。
2.3 加速度传感器模块
本系统摔倒检测功能采用JY901实现,它是一款三轴高精度数字化的加速度传感器,能够获取X、Y、Z三个方向上对应的加速度信息。模块内部自带电压稳定电路,工作电压为3.3~5 V,该模块内部集成一个姿态解算器,并采用了动态卡尔曼滤波算法,能够在多种环境下及时准确地输出当前加速度,稳定性极高[3]。由于该模块支持I2C通信,因此在本系统中通过JY901上的SDA和SCL引脚与Arduino上的对应引脚相连,并加入上拉电阻保证电平信号,以此实现数据通信,如图2所示。
图2 JY901模块
2.4 通信定位模块
本系统的移动通信功能和定位功能采用EC20模块实现,该模块是一款带有GPS定位功能和GSM功能的LTE Cat 4无线通信模块。如图3所示,EC20的核心电路由SIM卡接口电路(如图4所示)、通信接口电路、外围功能的I/O接口电路及各状态信号接口电路等组成。该模块支持多种网络协议,可将获取的定位信息通过HTTP协议发送到OneNET云平台实现物联网功能。
图3 EC20核心电路
图4 SIM卡接口电路
2.5 语音识别模块
本系统的人机交互功能通过V03-Trubo语音识别模块实现,如图 5所示。该模块是一款低成本、低功耗、小体积的离线语音识别模组。通过该模块可对语音信号采集并处理,再通过单片机的I/O口与模块相连实现数据通信,进而实现简单的“人机交互”功能。
图5 V03-Trubo模块
2.6 声光报警模块
本系统的声光报警模块采用高亮的发光二极管LED灯和高分贝的有缘蜂鸣器组成。该部分设计主要通过单片机的I/O口来控制二极管的闪烁和蜂鸣器的发声。主要目的是提醒附近的行人注意周围有老人摔倒。
2.7 心率血氧采集及天气信息显示模块
ESP8266作为一款高集成度的WiFi模块,可以独立访问网络,也可以帮助其他主控芯片访问网络[4]。ESP8266 配置为客户端模式(STA)连接到路由器访问网络[5],因此在实时获取天气信息时本系统采用ESP8266 WiFi模块。
本系统的心率血氧检测功能实现采用MAX30100传感器模块,它集成有脉搏血氧仪和心率监测传感器芯片、两个LED、一个光电探测器、经过优化的光学器件和低噪声模拟信号处理器,可以检测脉搏血氧及心率信号。MAX30100传感器具有体积小、功耗低的特点,能为该系统设计减少空间。信息显示模块采用0.96寸的OLED显示屏,通过其I2C接口与ESP8266 WiFi模块进行信息交互,进而显示天气信息和心率、血氧信息。
3 系统主要功能模块设计
3.1 检测摔倒原理
人体在正常情况下会产生三个方向的加速度。将加速度传感器在X、Y、Z三个方向上的加速度信息与人体坐标相对应,其中Z轴代表人体垂直方向加速度信息,Y轴代表人体前后方向的加速度信息,X轴代表人体左右方向的加速度信息[6]。由于根据单轴的加速度信息来判断是否摔倒会造成很多的误判,因此采用三轴合成加速度|a|来判断是否摔倒更具有科学性[7]。
正常活动产生的合成加速度与人体合成加速度|a|存在明显区别,二者之间存在最佳的临界值aT用来区分摔倒和正常活动。根据许继平等人[7]基于三轴加速度传感器的老年人摔倒检测系统的研究,可得到摔倒阈值aT的临界值。如图 6所示为总系统工作流程,从图中可以看出只有系统监测到人体达到摔倒阈值后,才会触发声光报警功能和短信求助功能。
图6 总系统工作流程
3.2 发送短信、定位信息的程序设计
在系统上电后,首先对该模块进行初始化,设置短信接收人和短信内容,通过AT指令集设置一些参数即查询SIM卡状态、检测当地网络信号、查询当前状态等。将模块与微处理器进行串口通信,当MUC判定摔倒后或者MUC检测到I/O上来自语音模块的电平信号后,程序将进入中断并执行发送短信程序,短信发送成功后返回主程序,至此实现短信功能。
程序初始化完成后,通过发送AT指令获取到GPS数据;将获取到的GPS数据进行解析,即获取UTC时间、经纬度信息;接着查询定位信息是否有效,如果有效则按照相关传输协议准备JSON串和HTTP报头;然后通过程序执行AT指令访问OneNET平台服务器;如果访问成功便将解析后的数据发送到OneNET服务器[8];为了查看定位信息是否上传成功,在硬件设计中加了一个指示灯,通过程序控制,数据每发送一次,指示灯亮一次即实现指示灯的电平翻转[8]。如图 7所示为通信、定位程序流程。
图7 通信、定位程序设计流程
3.3 天气、心率血氧显示程序设计
在ESP8266上电后,首先对模块进行初始化,将ESP8266设置为STA模式,即设置要接入的WiFi名称、密码、服务器地址及相关的秘钥[9]。在成功配网后通过HTTP协议访问心知天气服务器,获取天气信息API,经ESP8266剖析数据并发送到显示器。将ESP8266按照I2C协议与心率血氧传感器进行数据传输,由于要同时显示天气信息和心率血氧信息,因此在程序设计中可将读取到的数据短暂存入到外部FLASH中[10]。如图8所示为天气、心率血氧程序流程。
图8 天气、心率血氧程序设计
4 系统调试、结果分析
为测试系统性能特将该系统进行小型化设计,将心率测量传感器做成手表式,定位、通信模块和其他模块做成腕带式,并在一定情况下进行系统测试,其测试部分如下:GPS定位误差、检测人体摔倒的准确率、天气信息及心率血氧的采集情况、语音交互功能及在摔倒后GSM模块远程求助信号的实用性和声光报警功能。
在OneNET物联网云平台的控制后台可以看到Location数据流,通过可视化图形的编辑将Location数据流上传到高德地图,这样可以从后台查看定位地图信息,手机端也可下载OneNET移动云APP,查看实时定位数据。
经过调试,本系统能够准确地判断出摔倒动作,并可在移动云APP中实时获取老人的定位信息,如图9所示。通过实际勘测结果可知GPS定位距离误差范围在5 m以内。从图10中可准确地看到当前时间、日期、三天天气情况以及心率血氧的信息。考虑到老人身体原因,通过加速度数值判断老人摔倒情况,模拟老人行走、上下楼、蹲下、弯腰、摔倒等多种行为。经大量实验发现,本系统存在一定的误报情况,但误差率低于2%,具体数据见表 1所列。在判断摔倒以后,系统可正常进行声光报警,并在30 s以内通过GSM远程求助功能向相关人员进行求助。语音交互功能经调试后,即使没有监测到老人摔倒也可在给予一定语音指令后进行短信通信功能。
图9 定位信息
图10 实时天气信息
表1 实验结果
5 结 语
目前社会逐渐老龄化,需要更多地关心关爱老年人的健康。老人意外摔倒是造成老年人身体伤害的一个常见原因,如果能在摔倒后第一时间救治将会减轻老年人受到的伤害。因此本文开发出了一套老年人跌倒检测系统,系统集成多个传感器实现摔倒检测功能、声光报警功能、心率血氧检测功能、短信求助功能、定位功能及简单的人机交互功能,还附加了实时天气信息获取的个性化设计。用户可通过手机端APP获取实时的地图定位,为救护提供便利,能够有效地保证老人在摔倒后及时得到救助,避免老人因救助不及时而造成的二次伤害。该系统极大地提高了救助人员的救助效率,并且可以为社会及家人减轻负担,具有很大的实用价值。