曲凤娟 高一腾
【摘 要】本文旨在研究一款可穿戴式跌倒检测与预警系统。该系统通过三轴加速度计、陀螺仪、ZigBee等部件结合相关算法,对跌倒进行判断和定位,并及时报警。定位算法采用了基于RSSI测距的定位,RSSI来自ZigBee模块。实验表明本文所述算法正确可行。
【关键词】RSSI;ZigBee;跌倒检测;陀螺仪
0 引言
中国的老人越来越多,尤其是独居老人人数也呈现上升趋势。跌倒是造成老人身体伤害甚至死亡的主要原因之一。如果能够采取一定的方法减少或避免跌倒对老人造成的伤害将具有非常大的现实意义。本文所研究的跌倒检测与报警系统能够在佩戴者发生跌倒后及时报警,使救助人员采取措施尽快实救,最大限度的减小危险动作带来的伤害。
1 系统架构
本系统主要分三部分:一部分是人体运动采集与分析模块,包括主处理器、三轴加速传感器、陀螺仪和蓝牙通信模块,这部分功能模块佩戴在人体的腰部;第二部分是ZigBee报警和定位模块,当佩戴者在小区内部跌倒时,由ZigBee生成定位信息并向物业报警,该定位信息也需要通过蓝牙发送给手机,手机再继续报警;第三部分是手机定位和报警模块,此部分手机通过蓝牙接收到报警信号后,启动GPS定位,通过短信或电话形式向家人报警。
2 系统实现
系统分为可穿戴跌倒检测装置、Android手机报警定位和ZigBee小区内报警定位部分。
2.1 系统硬件集成
跌倒检测模块采用野火STM32 V3开发板;关于陀螺仪和加速度计,本文选用了MPU6050;跌倒检测模块与手机的通信采用蓝牙串口模块FBT06;手机1为基于Android的智能手机,其需要运行相应的应用程序;手机2则可以是任意的可用手机。
MPU6050整合了陀螺仪、3轴加速度计。MPU6050通过主I2C端口以单一数据流的形式,向STM32输出数据。因此,只需把STM32的引脚PB6(SDA)和PB7(SCL)分别连接到MPU6050的24号引脚(SDA)和23号引脚(SCL)上。
蓝牙模块FBT06通过串口与STM32连接,将FBT06的TXD和RXD与STM32的RXD和TXD连接即可。
ZigBee网络使用了CC2431模块,ZigBee协调器与STM32也通过串口进行连接。
2.2 软件实现
1)STM32端
STM32从MPU6050定时读取某个轴向(如Z轴)的倾角数据,将SVM和倾角数据结合判断跌倒。当跌倒发生后,STM32读取ZigBee发送的信息,若读取到有效数据则视为定位信息连同报警信号通过蓝牙发送给手机,手机再发送报警短信或直接拨打电话;若未读取到有效的数据则直接通过蓝牙向手机发送报警信号,手机解析蓝牙数据,当未发现定位信息则启动GPS定位生成定位信息,继续发送报警信息或直接拨打电话。
2)ZigBee模块定位
ZigBee模块CC2431可以获取RSSI值,因此可以采用基于RSSI技术的测距协助实现定位,无需添加硬件。
RSSI是指接收信号强度指示。RSSI值随距离增加而减小,经过简化的RSSI测距经典模型如公式(2)所示。
RSSI=A+10mlg(d)(2)
A为无线收发节点相距1m时接收节点接收到的无线信号强度RSSI值,m为路径衰减因子[1]。依据公式(1)求得若干个锚节点与未知节点间的距离,对未知节点定位就可利用这些距离值采用极大似然估算法实现。已知n个锚节点的坐标分别设为(x1,y1)、(x2,y2)、……,(xn,yn),而未知节点坐标设为(x,y),算法实现的具体步骤如下:
(1)锚节点周期性向未知节点发送含有自身ID及自身位置信息的数据包[2]。
(2)未知节点接收到同一ID的锚节点发来的数据包后,从包中提取出信号强度RSSI值,接收到多少数据包也会得到相应数量的RSSI值[3]。当收到该锚节点发来的数据包数量达到一定阈值(如50个)后,对得到的相应数量的RSSI值求平均值即看做该ID锚节点的RSSI值,然后根据公式(1)导出距离d,就得到了某个ID锚节点与未知节点间的距离。以此类推,对所有n个锚节点都采用这种方式处理,可得到n个距离d1、d2、……、dn。
3)手机端
手机为基于Android的智能手机,需要开发相应的应用程序。手机端需要长期的监测是否有跌倒信号出现,因此收发蓝牙传输数据的功能需要启用Service服务,以便系统在后台监听。
在手机端运行的应用程序中启动GPS、WIFI定位或基站定位,并通过百度地图实现经纬度到地址的转换,生成定位信息。利用百度地图提供的转换服务可以实现从经纬度坐标到地址的转换。向服务器发送包括经纬度信息的HTTP请求,服务器返回JSON数据,再将JSON解析即获得地址信息。(下转第33页)
(上接第5页)跌倒检测设备使用锂电池或移动电源充电。首先需要设备与手机进行蓝牙配对。手机端需要开启蓝牙,完成蓝牙连接。蓝牙连接成功后,设备即可佩戴在腰部进行正常的日常活动。手机再发送报警短信或直接拨打电话;若未读取到有效的数据则直接通过蓝牙向手机发送报警信号,手机解析蓝牙数据,当未发现定位信息则启动GPS定位生成定位信息,继续发送报警信息或直接拨打电话。
2.3 跌倒检测设备的位置
跌倒检测设备的穿戴位置也影响结果的准确性。常见的跌倒检测装置穿戴位置有腰部、腕部、腿部、胸部等。通过对穿戴的各种位置进行实验,确定较理想的穿戴位置。实验中,通过3人将三轴加速度计放置在不同位置,取平均值,将最佳实验结果位置作为穿戴位置。
3 结束语
本文设计开发了基于ZigBee定位的跌倒检测与报警系统。该系统可识别佩戴者产生的跌倒动作,在能够对跌倒者进行定位的同时给出短信报警。通过实验数据分析,本论文所研究系统具有较好的跌倒动作识别率。并且当真正跌倒时,家属能够及时得到通知,能够根据短信准确的找到老人跌倒的位置。本系统已经过测试,测试的手机1型号为HTC 528t。
【参考文献】
[1]何山.基于RSSI的精确室内定位算法[J].现代电信科技,2011,3(3).
[2]杨东勇,顾东袁,傅晓婕.一种基于RSSI相似度的室内定位算法[J].传感技术学报,2009,2,22(2).
[3]章磊,黄光明.基于RSSI的无线传感器网络节点定位算法[J].计算机工程与设计,2010,31(2).
[4]王琦.基于RSSI测距的室内定位技术[J].电子科技,2012,25(6).
[责任编辑:汤静]