曹燕燕,張克輝,吳 沖,高 宇,孫興華,程 鵬
(1.河北北方學(xué)院 信息科學(xué)與工程學(xué)院,河北 張家口 075000;2.河北建筑工程學(xué)院 電氣工程學(xué)院,河北 張家口 075000;3.山西醫(yī)科大學(xué) 第二醫(yī)院,山西 太原 030001)
智慧養(yǎng)老,是新近流行的一種養(yǎng)老概念[1]。中國(guó)正加速進(jìn)入老齡化社會(huì),預(yù)計(jì)到2030年,60歲及以上人口將會(huì)達(dá)到3.8億,預(yù)計(jì)到2050年將達(dá)到35.1%[2]。由于獨(dú)生子女家庭較多,且養(yǎng)老服務(wù)供需矛盾突出,更多的老年人需要獨(dú)立應(yīng)對(duì)生活起居和健康護(hù)理等問題[3-4]。許多老年人身體虛弱,記憶力減退,行動(dòng)不便,連最基本的簡(jiǎn)單物品的抓取都難以實(shí)現(xiàn);為了更好的保健養(yǎng)生,需要經(jīng)常關(guān)注心率,提醒吃藥,調(diào)整食譜;遇到緊急情況,需要及時(shí)求救。
為了解決以上問題,本文提出一種基于Andriod智能手機(jī)和Arduino平臺(tái)的老人智能助理系統(tǒng),利用移動(dòng)互聯(lián)技術(shù)和物聯(lián)網(wǎng)技術(shù),通過智能感知、識(shí)別技術(shù),最大限度地實(shí)現(xiàn)各類傳感器的實(shí)時(shí)連接,滿足獨(dú)居老人的日常生活所需。
圖1 系統(tǒng)總體架構(gòu)
老人智能助理系統(tǒng)總體架構(gòu)如圖1所示,包括Android智能手機(jī)、Arduino單片機(jī)、無線傳感網(wǎng)和WiFi串行通信4部分組成。手機(jī)App客戶端實(shí)現(xiàn)系統(tǒng)控制和實(shí)時(shí)監(jiān)控,基于開源的Arduino單片機(jī)作為系統(tǒng)開發(fā)的核心,速度快,價(jià)格低,與手機(jī)終端對(duì)接方便。Android智能手機(jī)通過WiFi串行通信傳遞控制指令,由Arduino單片機(jī)驅(qū)動(dòng)系統(tǒng)各功能模塊完成相應(yīng)的操作。不同功能的無線傳感器構(gòu)成無線傳感網(wǎng),實(shí)時(shí)感知老人居住環(huán)境的各種監(jiān)測(cè)對(duì)象,并完成數(shù)據(jù)采集和處理[5-6]。
老人智能助理系統(tǒng)主要分為兩大模塊,老人助手和智能家居助手。老人助手又分為6個(gè)子模塊,分別是藥不能停、心率測(cè)試、聯(lián)系人、地圖、個(gè)人信息、吃點(diǎn)什么;智能家居助手分為4個(gè)模塊:巡視小車、機(jī)械手臂、智能監(jiān)測(cè)、智能遙控器??傮w功能結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)總體功能結(jié)構(gòu)
系統(tǒng)的硬件主要指智能家居模塊[7],由巡視小車、機(jī)械手臂、各種傳感器和智能遙控器組成,如圖3所示。其中,巡視小車負(fù)責(zé)接收手機(jī)App客戶端的控制命令,進(jìn)行巡視房間;機(jī)械手臂完成小件物品的抓取[8];各類傳感器負(fù)責(zé)采集環(huán)境指標(biāo);智能遙控器模仿實(shí)際空調(diào)遙控器,實(shí)現(xiàn)控制。
圖3 系統(tǒng)主要硬件組成
巡視小車采用超聲波避障模塊、超聲波云臺(tái)、視頻模塊、紅外接收模塊、無線充電模塊、降壓器、循跡模塊、直流電機(jī)、Arduino UNO單片機(jī)進(jìn)行連接,通過手機(jī)App經(jīng)WiFi串行通信,控制小車的前進(jìn)后退、左轉(zhuǎn)右轉(zhuǎn)、循跡避障、自動(dòng)充電等功能的實(shí)現(xiàn)[9]。Arduino UNO單片機(jī)采用ATMega328主控芯片,可以集成大功率穩(wěn)壓,擁有豐富的外部資源接口,閃存容量為32 kB,4通道PWM輸出[10]。其自動(dòng)充電功能主要是由小車前方的5個(gè)紅外接收器、無線充電接收模塊,以及車庫里相應(yīng)的5個(gè)紅外發(fā)射器、無線充電模塊發(fā)射模塊來對(duì)接完成,指引小車自動(dòng)開進(jìn)車庫,進(jìn)行對(duì)接充電。同時(shí),小車電源旁有電源顯示模塊實(shí)時(shí)監(jiān)測(cè)小車電量。
在巡視小車上加載機(jī)械臂裝備,以方便老人取物。該機(jī)械臂采用4個(gè)伺服舵機(jī)、藍(lán)牙模塊和Arduino模塊相連接,通過手機(jī)App中的前、后、左、右、夾取、放下、抬高、降低8個(gè)鍵,控制機(jī)械臂動(dòng)作,使所有舵機(jī)的關(guān)節(jié)都能靈活動(dòng)作,讓老人隔空取物成為現(xiàn)實(shí),然后通過智能巡視小車運(yùn)送到老人手里。
該系統(tǒng)的智能監(jiān)測(cè)主要完成開門控制、煙霧報(bào)警和火焰報(bào)警[11]。采用紅外避障模塊、伺服舵機(jī)、蜂鳴器模塊、WiFi模塊與Arduino UNO單片機(jī)連接,將紅外避障模塊置于門前,當(dāng)門前有人時(shí),紅外避障模塊為高電平狀態(tài),蜂鳴器報(bào)警,通過WiFi模塊返回手機(jī)App。手機(jī)App收到信號(hào)后,按鈕閃動(dòng),同時(shí)顯示報(bào)警照片,通過按動(dòng)按鈕,控制舵機(jī)開門,同時(shí)驅(qū)動(dòng)巡視小車去迎接客人。廚房硬件采用煙霧傳感器、火焰?zhèn)鞲衅?、蜂鳴器、WiFi模塊、伺服電機(jī)和Arduino UNO單片機(jī)連接,實(shí)現(xiàn)廚房爐火或者煤氣泄露報(bào)警,以防老人因記憶力減退,忘記關(guān)閉爐火或煤氣造成嚴(yán)重后果。
智能遙控器模塊,只需Android智能手機(jī)有紅外發(fā)射設(shè)備,就可以完全模仿實(shí)際空調(diào)遙控器界面,使用方便,還可以自定義遙控器,控制電視等電器的開關(guān),有相當(dāng)方便的學(xué)習(xí)功能。
圖4 Arduino程序流程
本系統(tǒng)采用Arduino程序、通訊模塊和手機(jī)App程序共同完成軟件設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)的傳輸、存儲(chǔ)管理和應(yīng)用控制。系統(tǒng)硬件主要是基于Arduino開源平臺(tái),實(shí)現(xiàn)硬件驅(qū)動(dòng)。Arduino程序流程如圖4所示,程序的開發(fā)基于模塊化的結(jié)構(gòu)設(shè)計(jì),主程序負(fù)責(zé)監(jiān)聽手機(jī)App客戶端發(fā)送的控制命令,并執(zhí)行解析命令,隨后調(diào)用相應(yīng)的子程序,實(shí)現(xiàn)巡視小車、機(jī)械臂及各種傳感器檢測(cè)模塊的硬件控制[12]。
基于Android智能手機(jī)App的應(yīng)用以其方便快捷、界面簡(jiǎn)潔實(shí)用的優(yōu)勢(shì)在智能服務(wù)方面得到了廣泛應(yīng)用[13]。該系統(tǒng)的老人助手模塊完全基于Android Studio開發(fā),包括6個(gè)子模塊。①藥不能停模塊:可以手動(dòng)添加吃藥提醒,包括一天吃藥的次數(shù)、藥品名稱、設(shè)置提醒時(shí)間。還可以管理吃藥提醒,主要是對(duì)已添加的提醒進(jìn)行控制和管理,如更改時(shí)間、刪除提醒,解決當(dāng)老人生病時(shí)子女不在身邊,老人容易忘記吃藥的問題。②心率測(cè)試模塊:實(shí)時(shí)心率的測(cè)試設(shè)置了延時(shí)程序,在此時(shí)間內(nèi)可將手指按住手機(jī)的閃光燈和攝像頭,力度不要太大,適中即可,即可在屏幕上顯示實(shí)時(shí)心率,測(cè)試時(shí)間大約10 s左右,且測(cè)試記錄會(huì)保存在個(gè)人信息中,心跳次數(shù)超標(biāo)會(huì)報(bào)警。③聯(lián)系人模塊:可將老人子女設(shè)置成第一聯(lián)系人,還可添加老人手機(jī)里其他人的聯(lián)系方式。④地圖模塊:可以實(shí)現(xiàn)實(shí)時(shí)定位、一鍵緊急呼救和定位追蹤,解決老人出門容易迷路的問題,一旦出現(xiàn)緊急情況,第一時(shí)間通知第一聯(lián)系人。該功能是運(yùn)用百度地圖配置提供的API來進(jìn)行移動(dòng)端的開發(fā),實(shí)現(xiàn)經(jīng)緯度的地理編址和地圖的定位顯示。⑤個(gè)人信息模塊:顯示老人的心率測(cè)試歷史結(jié)果,實(shí)現(xiàn)預(yù)警提示。心率正常顯示藍(lán)色心形圖標(biāo);心率測(cè)試結(jié)果不在正常設(shè)置范圍,則會(huì)顯示警告圖標(biāo)。個(gè)人數(shù)據(jù)頁面可手動(dòng)添加老人的身體健康情況及老人的家庭地址,防止當(dāng)老人暈倒時(shí)由于不了解老人病情而產(chǎn)生的錯(cuò)誤急救。當(dāng)老人走失時(shí),警方可通過查看其家庭地址,護(hù)送老人回家,全方面保障老人安全。⑥吃點(diǎn)什么模塊:輸入食材,即可檢索出食譜,幫助老人制作美味可口的飯菜。
需要注意的是,判斷是否聯(lián)網(wǎng)可以通過ConnectivityManager類的isAvailable()方法判斷,調(diào)用時(shí)需要加入
通過硬件設(shè)計(jì)制作、軟件開發(fā)及軟硬件聯(lián)調(diào)完成了智能老人助理系統(tǒng)的搭建。老人可以借助手機(jī)App實(shí)現(xiàn)聯(lián)系子女、吃藥管理、心率測(cè)試、實(shí)時(shí)定位、搜索食譜、管理個(gè)人數(shù)據(jù),還可以實(shí)現(xiàn)巡視小車的視頻監(jiān)控、循跡避障、自動(dòng)充電,機(jī)械臂抓取物品控制,開門、開燈控制,廚房的煤氣、爐火檢測(cè),以及對(duì)空調(diào)等電器的智能遙控。智能家居模塊和老人助手模塊測(cè)試如圖5~6所示。
圖5 智能家居模塊測(cè)試 圖6 老人助手模塊測(cè)試
當(dāng)前社會(huì)進(jìn)入人口深度老齡化階段,獨(dú)居老人家庭看護(hù)功能持續(xù)弱化[14-15]?;诖?,本文設(shè)計(jì)實(shí)現(xiàn)了基于Android智能手機(jī)和Arduino平臺(tái)的老人智能助理系統(tǒng),經(jīng)過實(shí)驗(yàn)測(cè)試,系統(tǒng)運(yùn)行正常,達(dá)到了系統(tǒng)設(shè)計(jì)目標(biāo),能夠較好地照顧老人的居家生活。本系統(tǒng)的研制,為解決獨(dú)居老人照顧不周的社會(huì)問題提供了較為可行的方案,為新型智慧養(yǎng)老模式提供了有力保障。