劉海亮,何雅琳,陳堅(jiān)豪,錦標(biāo),彭 劍,李 丹
(韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512005)
第七次全國人口普查結(jié)果顯示,中國人口老齡化趨勢進(jìn)一步加劇。隨著人口老齡化的趨勢加劇及社會(huì)經(jīng)濟(jì)的快速發(fā)展,絕大多數(shù)老年人由于情感、生理機(jī)能等原因優(yōu)選居家養(yǎng)老。我國獨(dú)居老人數(shù)量逐漸增多,甚至殘障或失能的獨(dú)居老人占到六成以上,他們的自理能力受損嚴(yán)重,健康狀況不容樂觀。我國的養(yǎng)老保障體系和養(yǎng)老設(shè)施建設(shè)仍然不夠完善,且傳統(tǒng)的養(yǎng)老模式已不足以滿足現(xiàn)今社會(huì)的養(yǎng)老要求,智慧居家養(yǎng)老系統(tǒng)應(yīng)運(yùn)而生。武漢僑亞愛爸媽居家養(yǎng)老服務(wù)設(shè)施具有老人GPS定位、自動(dòng)體檢、子女及時(shí)查看家中監(jiān)控等功能,但產(chǎn)品人性化服務(wù)方面還有待提升;國外產(chǎn)品大多針對養(yǎng)老院,如日本的“真心香里園”使用了大量智能家居設(shè)備,結(jié)合遠(yuǎn)程醫(yī)療終端和智能機(jī)器人,可以最大程度給老人提供貼心服務(wù),但設(shè)備價(jià)格較為昂貴,并不適用于中國居家養(yǎng)老社會(huì)現(xiàn)狀。針對我國家庭養(yǎng)老技術(shù)問題,本文設(shè)計(jì)了一種面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng),旨在為解決家庭養(yǎng)老問題提供一種新的選擇。
為滿足智慧居家養(yǎng)老需要,智慧養(yǎng)老系統(tǒng)在實(shí)現(xiàn)基本功能的基礎(chǔ)上還應(yīng)考慮人性化設(shè)計(jì),使其滿足老年人其他需求,需求分析如下:
(1)老人可以通過語音與家居網(wǎng)關(guān)交互,同時(shí)優(yōu)化語音識(shí)別系統(tǒng),使語言命令的設(shè)定符合老人的生活習(xí)慣;
(2)手環(huán)上設(shè)置一鍵呼救功能,老人面臨危險(xiǎn)時(shí)可及時(shí)呼救;
(3)子女可以通過APP和微信小程序端查看室內(nèi)環(huán)境數(shù)據(jù)、健康參數(shù)和老人居家實(shí)時(shí)圖像;
(4)醫(yī)生可以通過Web網(wǎng)頁及時(shí)了解老人的疾病信息;
(5)對老人的健康監(jiān)測信息進(jìn)行收集和分析,并進(jìn)行疾病預(yù)測。
文中設(shè)計(jì)的面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng)由家居網(wǎng)關(guān)、手環(huán)終端、客戶端及服務(wù)器端組成。
家居網(wǎng)關(guān)采用Raspberry Pi 3B作為主控,實(shí)現(xiàn)視頻傳輸、百度語音交互等功能;采用STM32F407芯片設(shè)計(jì)手環(huán),通過WiFi將采集的心率和血壓上傳到服務(wù)器OneNET云平臺(tái),并設(shè)置一鍵呼救系統(tǒng)。客戶端包括小程序、APP和Web端,可滿足用戶在不同場景下的需求,在客戶端可以通過API接口實(shí)時(shí)獲取云平臺(tái)數(shù)據(jù),以及遠(yuǎn)程控制家居網(wǎng)關(guān)和手環(huán);服務(wù)器端采用OneNET云平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的云存儲(chǔ)、上傳和下發(fā),并通過GA-BP神經(jīng)網(wǎng)絡(luò)對健康信息進(jìn)行疾病預(yù)測。項(xiàng)目結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)方案設(shè)計(jì)
2.1.1 Raspberry Pi 3B主控設(shè)計(jì)
智慧家居采用64 位四核 ARM Cortex-A53架構(gòu)的Raspberry Pi 3B主控板,其配備1 GB LPDDR2存儲(chǔ)器,集成了以太網(wǎng)、攝像頭、顯示器等接口,還具有雙頻WiFi和低功耗藍(lán)牙功能,強(qiáng)勁的配置與通信能力為智慧家居的設(shè)計(jì)與實(shí)現(xiàn)提供了良好的開發(fā)環(huán)境,其架構(gòu)如圖2所示。
圖2 Raspberry Pi 3B硬件架構(gòu)
2.1.2 環(huán)境、安全、健康一體化服務(wù)
利用空氣傳感器MQ-135監(jiān)測室內(nèi)是否存在有害氣體;通過煙霧、可燃?xì)怏w傳感器MQ-2判斷可燃?xì)怏w以及煙霧的濃度,當(dāng)其濃度高于安全閾值時(shí),通過SIM900A自動(dòng)向監(jiān)護(hù)人撥號(hào)求救;配備BH1750和DHT22,分別監(jiān)測室內(nèi)光照強(qiáng)度和溫濕度,并通過百度語音交互來詢問開關(guān)燈及推送定時(shí)服藥提醒、最適穿衣等信息。
2.1.3 視頻采集與傳輸
采用USB攝像頭高速捕獲室內(nèi)環(huán)境圖像,將圖像通過USB總線傳輸?shù)絉aspberry Pi 3B處理器中,再以MJPG的方式進(jìn)行壓縮處理,打包生成UDP包,最后通過WiFi接口將數(shù)據(jù)傳輸?shù)組JPG-streamer視頻流服務(wù)器,輔助監(jiān)護(hù)人遠(yuǎn)程監(jiān)察老人的生活情況。采集與傳輸過程如圖3所示。
圖3 USB攝像頭采集與傳輸視頻過程
2.1.4 百度語音交互
本設(shè)計(jì)引入百度智能云的語音識(shí)別技術(shù),其采用了類似神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法,實(shí)現(xiàn)了更高的識(shí)別精度。首先在百度智能云進(jìn)行語音識(shí)別和語音合成配置,然后添加健康講座、新聞廣播等語義技能;當(dāng)喚醒詞被MIC識(shí)別后,將運(yùn)用Snowboy實(shí)現(xiàn)語音喚醒,然后開始錄音,錄音被轉(zhuǎn)換為WAV音頻流文件,通過調(diào)用百度API上傳至云服務(wù)器,匹配相應(yīng)的語義技能。百度語音交互原理如圖4所示。
圖4 百度語音交互原理
2.2.1 STM32F407主控芯片
智慧手環(huán)采用STM32F407作為主控芯片,相比STM32F1系列芯片,其具有更先進(jìn)的內(nèi)核、更高的性能和更低的功耗,它的高速性處理能力適用于健康檢測對心電信號(hào)的本地處理分析。
2.2.2 健康檢測
血壓心率傳感器采用MKB0805,它具有自動(dòng)增益、穩(wěn)定性高、自動(dòng)佩戴識(shí)別和脫離無輸出功能;其使用了MCU算法,植入了心率血壓算法,直接輸出串口UART信號(hào),簡化了編譯的工作量,簡單可靠,方便使用。
2.2.3 數(shù)據(jù)采集和上傳
運(yùn)用MKB0805監(jiān)測老人的心率和血壓,將數(shù)據(jù)發(fā)送至STM32,再通過MQTT協(xié)議將其以數(shù)據(jù)流的形式傳送到OneNET云平臺(tái)。圖5所示為心率和血壓上傳至OneNET云平臺(tái)的過程。
圖5 心率和血壓上傳至OneNET云平臺(tái)流程
客戶終端由Web網(wǎng)頁端、Android軟件開發(fā)和微信小程序組成。監(jiān)護(hù)人通過APP和小程序獲取老人和居住環(huán)境的參數(shù);醫(yī)生利用Web網(wǎng)頁查看病人的健康數(shù)據(jù)并管理病人。
Web網(wǎng)頁基于Vue.js技術(shù)開發(fā),運(yùn)用HTML、CSS、JS進(jìn)行頁面的基本布局,結(jié)合Ajax、Node.js等技術(shù)渲染頁面。該網(wǎng)頁主要包括登錄界面、老人管理界面和實(shí)時(shí)數(shù)據(jù)界面,如圖6所示。
圖6 網(wǎng)頁操作功能
3.1.1 登錄界面
用戶登錄后可進(jìn)入系統(tǒng)主頁,該界面對用戶登錄進(jìn)行驗(yàn)證,建立Session會(huì)話,采用Ajax技術(shù)為登錄表單設(shè)置請求地址和請求方式,與數(shù)據(jù)庫的賬號(hào)信息進(jìn)行對比,通過對比進(jìn)入系統(tǒng)主界面,否則返回登錄錯(cuò)誤信息。
3.1.2 老人管理界面
該界面對用戶負(fù)責(zé)的老人進(jìn)行管理,用戶可對管理的老人進(jìn)行添加和刪除操作,點(diǎn)擊頁面“添加”或“刪除”按鈕后,通過表單對數(shù)據(jù)雙向綁定,對數(shù)據(jù)庫進(jìn)行插入并刪除信息。
3.1.3 實(shí)時(shí)數(shù)據(jù)界面
該界面負(fù)責(zé)將獲取的最大心率以及靜息血壓實(shí)時(shí)數(shù)據(jù)展示給用戶,采用折線圖和柱狀圖等形式對數(shù)據(jù)進(jìn)行可視化處理。選用Ajax技術(shù),通過XMLHttpRequest對象向OneNET云平臺(tái)發(fā)送異步請求,調(diào)用相應(yīng)的API獲取數(shù)據(jù),數(shù)據(jù)以JSON格式返回JavaScript代碼區(qū),處理獲取的數(shù)據(jù)并填充到對應(yīng)DOM區(qū)域。
APP用于實(shí)現(xiàn)對室內(nèi)監(jiān)控及環(huán)境參數(shù)的實(shí)時(shí)獲取、查看老人身體健康狀況和遠(yuǎn)程服藥提醒。
3.2.1 實(shí)時(shí)接收數(shù)據(jù)模塊
該模塊負(fù)責(zé)從OneNET獲取數(shù)據(jù)并展示在界面,該界面主要包括上下兩部分。下半部分為視頻監(jiān)控區(qū)域,其負(fù)責(zé)跳轉(zhuǎn)到MJPG-streamer視頻流服務(wù)器;上半部分為環(huán)境參數(shù)、老人健康監(jiān)測區(qū)域,采用調(diào)用API的方法獲取數(shù)據(jù)并顯示到數(shù)據(jù)區(qū)域。
3.2.2 語音提醒模塊
該模塊負(fù)責(zé)對設(shè)備語音功能的控制,主要用來提醒老人按時(shí)服用藥物。本界面使用了Button組件并對其設(shè)置了監(jiān)聽事件,當(dāng)用戶點(diǎn)擊“提醒服藥”按鈕時(shí),將調(diào)用API給OneNET云平臺(tái)下達(dá)命令,從而提醒老人服藥。
微信小程序的開發(fā)與實(shí)現(xiàn),極大地便利了監(jiān)護(hù)人查看環(huán)境參數(shù),及時(shí)了解老人身體狀況的需要。微信小程序具有如下功能:
(1)環(huán)境安全監(jiān)測。在微信小程序端可以查看采集的環(huán)境參數(shù),一旦有害氣體超過閾值,立即提醒老人及監(jiān)護(hù)人。
(2)老人健康監(jiān)測。通過MKB0805血壓心率測量方案實(shí)現(xiàn)采集老人血壓、心率數(shù)據(jù)的功能,同時(shí)可利用小程序?qū)崟r(shí)掌握老人的健康情況。
圖7所示為微信小程序操作功能圖。
圖7 微信小程序操作功能圖
先將心臟病數(shù)據(jù)集劃分為訓(xùn)練樣本和測試樣本,然后組建網(wǎng)絡(luò),接著通過遺傳算法求解最優(yōu)的權(quán)值和閾值,將最優(yōu)解代入BP神經(jīng)網(wǎng)絡(luò),再運(yùn)用訓(xùn)練樣本進(jìn)行多次試驗(yàn),得出一個(gè)擬合效果良好、預(yù)測精度較高的GA-BP神經(jīng)網(wǎng)絡(luò)模型,最后利用測試樣本進(jìn)行仿真,分析模型的可行性。
選取阿里云天池開源數(shù)據(jù)集Heart Disease UCI,根據(jù)相關(guān)性分析,引用了其中的年齡、性別、胸痛類型等13個(gè)特征屬性和1個(gè)類別標(biāo)簽,數(shù)據(jù)集經(jīng)過清洗與轉(zhuǎn)換后,得到303條有效數(shù)據(jù)。實(shí)驗(yàn)中隨機(jī)抽取80%的數(shù)據(jù)作為訓(xùn)練樣本,將剩余的20%數(shù)據(jù)作為測試樣本。
由于Sigmoid函數(shù)的取值范圍為[0,1],故BP神經(jīng)網(wǎng)絡(luò)對此范圍內(nèi)的數(shù)據(jù)最靈敏,同時(shí)又因?yàn)樘卣鲗傩缘臄?shù)值之間存在量綱或量綱單位的差異,因而在對網(wǎng)絡(luò)訓(xùn)練之前需要對輸入、輸出數(shù)據(jù)進(jìn)行歸一化處理。
程序如下:
4.3.1 隱含層節(jié)點(diǎn)數(shù)的確定
隱含層節(jié)點(diǎn)數(shù)可由式(1)確定:
式中,、和分別為輸入層、輸出層和隱含層的節(jié)點(diǎn)數(shù),實(shí)驗(yàn)中取13,取1,的值為4。
4.3.2 搭建BP神經(jīng)網(wǎng)絡(luò)
為增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力,論文中選用非線性函數(shù)logsig作為隱含層的激活函數(shù),在輸出層選用線性函數(shù)purelin,以trainlm作為訓(xùn)練函數(shù),搭建三層BP神經(jīng)網(wǎng)絡(luò)。
程序如下:
4.3.3 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
以隱含層和輸出層的權(quán)值及閾值4個(gè)變量形成一條基因鏈,通過實(shí)數(shù)編碼法對其進(jìn)行編碼,然后結(jié)合選擇(繁殖)、交叉(重組)、變異(突變)操作算子,評估個(gè)體適應(yīng)度,最后通過演化求得最優(yōu)解。優(yōu)化過程如圖8所示。
圖8 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的過程
4.3.4 網(wǎng)絡(luò)訓(xùn)練
獲取最優(yōu)權(quán)值閾值后,接著完成網(wǎng)絡(luò)的訓(xùn)練。程序如下:
期望值與預(yù)測值間的線性回歸結(jié)果如圖9所示。
圖9 預(yù)測值與期望值的線性回歸曲線
預(yù)測值與期望值的相關(guān)系數(shù)高達(dá)0.886 48,訓(xùn)練結(jié)果表明,該模型的擬合效果良好,模型具有較高的預(yù)測精度。
表1列出了部分測試樣本的期望值和預(yù)測值,以及兩者的誤差值。
表1 預(yù)測值與期望值對照表
表1測試樣本中的15條測試結(jié)果,實(shí)驗(yàn)中61個(gè)測試樣本得到的平均誤差為0.1620,倘若視誤差低于平均誤差0.1620的情況為預(yù)測準(zhǔn)確,則有46個(gè)測試樣本滿足條件,高達(dá)75.41%。該GA-BP神經(jīng)網(wǎng)絡(luò)模型具有較高的預(yù)測精度,在中老年人心臟病預(yù)測中效果顯著。
手機(jī)遠(yuǎn)程實(shí)時(shí)觀察樹莓派采集的視頻,如圖10所示。
圖10 手機(jī)遠(yuǎn)程實(shí)時(shí)觀察樹莓派采集的視頻
OneNET云平臺(tái)存儲(chǔ)的數(shù)據(jù)如圖11所示。
圖11 OneNET云平臺(tái)存儲(chǔ)的心率和血壓值
APP首頁、用戶界面、用戶登錄界面、用戶注冊界面和手機(jī)登錄界面如圖12所示。
圖12 APP各界面效果
圖13為微信小程序首頁效果圖。
圖13 微信小程序首頁效果
Web數(shù)據(jù)可視化效果如圖14所示。
圖14 Web數(shù)據(jù)可視化效果
本文通過介紹面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),體現(xiàn)了該系統(tǒng)在生活中的實(shí)用性及其可行性。通過智慧手環(huán)和GA-BP神經(jīng)網(wǎng)絡(luò)對老人日常健康檢測及心臟病風(fēng)險(xiǎn)預(yù)估進(jìn)行了算法分析,子女和醫(yī)生可通過客戶端實(shí)時(shí)了解老人狀況并為其制定健康方案。該系統(tǒng)既有利于子女對老人居家環(huán)境的監(jiān)管,又有助于醫(yī)生對老人健康狀況的檢測,有效降低了老人患心臟病的風(fēng)險(xiǎn),促進(jìn)了醫(yī)療方案的精準(zhǔn)化。