蔣亞飛,韋劍琳,龐明義,張書晗
(渤海大學,遼寧 錦州 121013)
隨著我國人口老年化進程的加劇,社會為保障老人群體的健康將承擔越來越艱巨的責任。其中大多數家庭都面臨著老人多、年輕人少的現狀,難免會出現對老人看護不足導致老人摔倒等現象[1]。老人跌倒造成的傷害不僅體現在身體的即時受傷,還體現在未得到及時的幫助而造成的所有后續惡劣影響。因此一個能夠實時監測到跌倒并通知相關人員救治的智能摔倒監控報警系統很重要。
目前已有部分智慧養老產品具有老人防跌倒功能,如智能防摔氣囊、智能鞋、智能服裝,能預防跌倒和減輕傷害程度。但部分產品仍處于實驗室階段,且大部分產品價格較貴,功能設置復雜,難以掌握,穿著舒適性有待提高,應用效果有待檢驗。目前常見的跌倒檢測方法包括基于視頻、基于環境傳感器和基于穿戴式三種[2]。
本文所設計產品使用可穿戴設備作為載體,在硬件上采用主動與被動報警的設計。基于加速度傳感器的摔倒檢測系統,可以實時監測人體的活動,更適合應用于跌倒檢測,因此本文采用此方法來檢測老年人是否有摔倒的趨勢。本文采用前軀胸腔作為特征部位,具有很好的規律性。
智能摔倒監控報警系統主要由加速度傳感器、通信定位、心率血氧采集、聲光報警等模塊構成,系統的總體結構如圖1所示。本系統采用Arduino作為微處理器,應用心率采集模塊實時獲取老人心率信息,并將數據顯示在OLED屏上。同時在系統上加入近三天的天氣信息和實時時間顯示的個性化設計,幫助老人了解天氣情況。采用加速度傳感器精準監測老人是否摔倒,如若摔倒則會觸發聲光報警功能,同時向家人發送求救信息。為了能夠及時救助老人,本系統加入了基于北斗的定位功能,并將定位信息實時上傳到OneNET云平臺;收到求助信息的急救人員和家人可通過移動云APP查看老人位置信息及行動軌跡,便于救助;還可 通過語音模塊實現簡單的人機交互功能,使得老人在遇到特殊情況時也可以通過短信求助。

圖1 系統結構
本設計中的核心微處理器模塊采用Arduino UNO,它是基于ATMEGA328P的Arduino開發板。該開發板運算性能強大、價格便宜,特別適合用于穿戴設備的開發;支持多種通信,方便進行設備調試。本系統設計外加復位按鍵控制程序復位,主要用于調試設備。
本系統采用TPS5430開關穩壓電源模塊,可以從單輸入12 V向5 V和3.3 V轉換,擁有多路正負電壓接口,可以完全滿足各個模塊的供電要求。由于該模塊內部系統接入濾波電容,能提高電源的穩定性;而且內部含有大容量的電容和大功率的電感,能滿足系統的耗電需求。
本系統摔倒檢測功能采用JY901實現,它是一款三軸高精度數字化的加速度傳感器,能夠獲取X、Y、Z三個方向上對應的加速度信息。模塊內部自帶電壓穩定電路,工作電壓為3.3~5 V,該模塊內部集成一個姿態解算器,并采用了動態卡爾曼濾波算法,能夠在多種環境下及時準確地輸出當前加速度,穩定性極高[3]。由于該模塊支持I2C通信,因此在本系統中通過JY901上的SDA和SCL引腳與Arduino上的對應引腳相連,并加入上拉電阻保證電平信號,以此實現數據通信,如圖2所示。

圖2 JY901模塊
本系統的移動通信功能和定位功能采用EC20模塊實現,該模塊是一款帶有GPS定位功能和GSM功能的LTE Cat 4無線通信模塊。如圖3所示,EC20的核心電路由SIM卡接口電路(如圖4所示)、通信接口電路、外圍功能的I/O接口電路及各狀態信號接口電路等組成。該模塊支持多種網絡協議,可將獲取的定位信息通過HTTP協議發送到OneNET云平臺實現物聯網功能。

圖3 EC20核心電路

圖4 SIM卡接口電路
本系統的人機交互功能通過V03-Trubo語音識別模塊實現,如圖 5所示。該模塊是一款低成本、低功耗、小體積的離線語音識別模組。通過該模塊可對語音信號采集并處理,再通過單片機的I/O口與模塊相連實現數據通信,進而實現簡單的“人機交互”功能。

圖5 V03-Trubo模塊
本系統的聲光報警模塊采用高亮的發光二極管LED燈和高分貝的有緣蜂鳴器組成。該部分設計主要通過單片機的I/O口來控制二極管的閃爍和蜂鳴器的發聲。主要目的是提醒附近的行人注意周圍有老人摔倒。
ESP8266作為一款高集成度的WiFi模塊,可以獨立訪問網絡,也可以幫助其他主控芯片訪問網絡[4]。ESP8266 配置為客戶端模式(STA)連接到路由器訪問網絡[5],因此在實時獲取天氣信息時本系統采用ESP8266 WiFi模塊。
本系統的心率血氧檢測功能實現采用MAX30100傳感器模塊,它集成有脈搏血氧儀和心率監測傳感器芯片、兩個LED、一個光電探測器、經過優化的光學器件和低噪聲模擬信號處理器,可以檢測脈搏血氧及心率信號。MAX30100傳感器具有體積小、功耗低的特點,能為該系統設計減少空間。信息顯示模塊采用0.96寸的OLED顯示屏,通過其I2C接口與ESP8266 WiFi模塊進行信息交互,進而顯示天氣信息和心率、血氧信息。
人體在正常情況下會產生三個方向的加速度。將加速度傳感器在X、Y、Z三個方向上的加速度信息與人體坐標相對應,其中Z軸代表人體垂直方向加速度信息,Y軸代表人體前后方向的加速度信息,X軸代表人體左右方向的加速度信息[6]。由于根據單軸的加速度信息來判斷是否摔倒會造成很多的誤判,因此采用三軸合成加速度|a|來判斷是否摔倒更具有科學性[7]。

正常活動產生的合成加速度與人體合成加速度|a|存在明顯區別,二者之間存在最佳的臨界值aT用來區分摔倒和正常活動。根據許繼平等人[7]基于三軸加速度傳感器的老年人摔倒檢測系統的研究,可得到摔倒閾值aT的臨界值。如圖 6所示為總系統工作流程,從圖中可以看出只有系統監測到人體達到摔倒閾值后,才會觸發聲光報警功能和短信求助功能。

圖6 總系統工作流程
在系統上電后,首先對該模塊進行初始化,設置短信接收人和短信內容,通過AT指令集設置一些參數即查詢SIM卡狀態、檢測當地網絡信號、查詢當前狀態等。將模塊與微處理器進行串口通信,當MUC判定摔倒后或者MUC檢測到I/O上來自語音模塊的電平信號后,程序將進入中斷并執行發送短信程序,短信發送成功后返回主程序,至此實現短信功能。
程序初始化完成后,通過發送AT指令獲取到GPS數據;將獲取到的GPS數據進行解析,即獲取UTC時間、經緯度信息;接著查詢定位信息是否有效,如果有效則按照相關傳輸協議準備JSON串和HTTP報頭;然后通過程序執行AT指令訪問OneNET平臺服務器;如果訪問成功便將解析后的數據發送到OneNET服務器[8];為了查看定位信息是否上傳成功,在硬件設計中加了一個指示燈,通過程序控制,數據每發送一次,指示燈亮一次即實現指示燈的電平翻轉[8]。如圖 7所示為通信、定位程序流程。

圖7 通信、定位程序設計流程
在ESP8266上電后,首先對模塊進行初始化,將ESP8266設置為STA模式,即設置要接入的WiFi名稱、密碼、服務器地址及相關的秘鑰[9]。在成功配網后通過HTTP協議訪問心知天氣服務器,獲取天氣信息API,經ESP8266剖析數據并發送到顯示器。將ESP8266按照I2C協議與心率血氧傳感器進行數據傳輸,由于要同時顯示天氣信息和心率血氧信息,因此在程序設計中可將讀取到的數據短暫存入到外部FLASH中[10]。如圖8所示為天氣、心率血氧程序流程。

圖8 天氣、心率血氧程序設計
為測試系統性能特將該系統進行小型化設計,將心率測量傳感器做成手表式,定位、通信模塊和其他模塊做成腕帶式,并在一定情況下進行系統測試,其測試部分如下:GPS定位誤差、檢測人體摔倒的準確率、天氣信息及心率血氧的采集情況、語音交互功能及在摔倒后GSM模塊遠程求助信號的實用性和聲光報警功能。
在OneNET物聯網云平臺的控制后臺可以看到Location數據流,通過可視化圖形的編輯將Location數據流上傳到高德地圖,這樣可以從后臺查看定位地圖信息,手機端也可下載OneNET移動云APP,查看實時定位數據。
經過調試,本系統能夠準確地判斷出摔倒動作,并可在移動云APP中實時獲取老人的定位信息,如圖9所示。通過實際勘測結果可知GPS定位距離誤差范圍在5 m以內。從圖10中可準確地看到當前時間、日期、三天天氣情況以及心率血氧的信息。考慮到老人身體原因,通過加速度數值判斷老人摔倒情況,模擬老人行走、上下樓、蹲下、彎腰、摔倒等多種行為。經大量實驗發現,本系統存在一定的誤報情況,但誤差率低于2%,具體數據見表 1所列。在判斷摔倒以后,系統可正常進行聲光報警,并在30 s以內通過GSM遠程求助功能向相關人員進行求助。語音交互功能經調試后,即使沒有監測到老人摔倒也可在給予一定語音指令后進行短信通信功能。

圖9 定位信息

圖10 實時天氣信息

表1 實驗結果
目前社會逐漸老齡化,需要更多地關心關愛老年人的健康。老人意外摔倒是造成老年人身體傷害的一個常見原因,如果能在摔倒后第一時間救治將會減輕老年人受到的傷害。因此本文開發出了一套老年人跌倒檢測系統,系統集成多個傳感器實現摔倒檢測功能、聲光報警功能、心率血氧檢測功能、短信求助功能、定位功能及簡單的人機交互功能,還附加了實時天氣信息獲取的個性化設計。用戶可通過手機端APP獲取實時的地圖定位,為救護提供便利,能夠有效地保證老人在摔倒后及時得到救助,避免老人因救助不及時而造成的二次傷害。該系統極大地提高了救助人員的救助效率,并且可以為社會及家人減輕負擔,具有很大的實用價值。