范俊成
(浙江紡織服裝職業(yè)技術(shù)學(xué)院 機(jī)電與軌道交通學(xué)院,浙江 寧波)
隨著全球人口老齡化問題日益突出,老年人在日常生活中的安全性也受到了越來越多的重視,他們面臨著更加嚴(yán)峻的挑戰(zhàn)。老人在身邊沒有看護(hù)人員時(shí)會(huì)出現(xiàn)體溫過高、心率失常、意外摔倒甚至走失等問題,讓家人擔(dān)憂的同時(shí)對(duì)自身的健康也是一種隱患。為了能夠?qū)崟r(shí)監(jiān)測(cè)老年人的身體狀況,避免上述潛在問題的發(fā)生,本研究設(shè)計(jì)了一套基于STM32 的多體征參數(shù)監(jiān)測(cè)系統(tǒng),該系統(tǒng)分為硬件系統(tǒng)和軟件系統(tǒng)兩個(gè)部分,通過軟硬件系統(tǒng)的信息交互達(dá)到監(jiān)測(cè)老人實(shí)時(shí)安全的目的。系統(tǒng)總體結(jié)構(gòu)見圖1。
圖1 系統(tǒng)總體結(jié)構(gòu)
為了確保系統(tǒng)能夠?qū)崟r(shí)、準(zhǔn)確地采集、存儲(chǔ)和傳輸各類信號(hào),本研究提出了一種新型的STM32F407ZG T6 主控芯片,它具有1 MB 內(nèi)部flash,192+4 KB 的運(yùn)行內(nèi)存,并且內(nèi)含16 MHz 和32 KHz 的晶振,能夠適應(yīng)各種功率的要求,從而使得系統(tǒng)的性能更加優(yōu)異[1]。
本研究設(shè)計(jì)的系統(tǒng)采用了心率傳感器、溫度傳感器、傾角傳感器來采集相關(guān)信息,通過內(nèi)部程序判斷達(dá)到實(shí)時(shí)監(jiān)測(cè)使用者狀態(tài)的目的。
1.2.1 心率傳感器
MAX30102 是一款集成了ppg 光電容積脈搏波描記法和心率監(jiān)測(cè)儀的生物傳感器模塊,它可以實(shí)時(shí)監(jiān)測(cè)手腕處的血氧水平,并將測(cè)量結(jié)果通過I2C 或UART 接口傳輸至主控芯片,從而有效地減少了傳感器的使用量,節(jié)省了主控系統(tǒng)的資源。此外,該模塊還具有功耗低、抗干擾能力強(qiáng)等優(yōu)點(diǎn),采集到的數(shù)據(jù)可以準(zhǔn)確的反應(yīng)出使用者的身體狀態(tài)[2]。
1.2.2 溫度傳感器
溫度傳感器主要負(fù)責(zé)采集使用者所處環(huán)境的溫度信號(hào)以及體溫信號(hào),方便判斷是否有溫度報(bào)警的產(chǎn)生。在所有的溫度傳感器中,DS18B20 具有體積小、適用電壓寬、測(cè)量范圍滿足設(shè)計(jì)要求等優(yōu)點(diǎn)[3]。其被導(dǎo)熱材料包裹并密封與使用者直接接觸,利用溫度敏感元件的導(dǎo)熱性獲取溫度值。
1.2.3 傾角傳感器
老年人因腿腳不便利或其他健康問題,經(jīng)常會(huì)出現(xiàn)摔倒甚至?xí)灥沟惹闆r,極大的威脅了生命安全,所以,通過使用傾角傳感器監(jiān)測(cè)老人的身體狀態(tài),達(dá)到預(yù)防的目的。
當(dāng)身體摔倒時(shí),會(huì)出現(xiàn)失重現(xiàn)象,加車速矢量和會(huì)顯著增加;而當(dāng)身體與地板產(chǎn)生碰撞時(shí),加車速矢量和會(huì)到達(dá)最大,從而可以判斷出身體的狀態(tài)。為了防止因揮手、彎腰等動(dòng)作觸發(fā)報(bào)警,將加速度增加到出現(xiàn)峰值的這段時(shí)間設(shè)定時(shí)間限定,確保人體狀態(tài)監(jiān)測(cè)的精確度[4]。摔倒后,人體三個(gè)軸向的加速度會(huì)發(fā)生變化,z 軸接近g,x 軸和y 軸接近0,這些變化量會(huì)超過一定的閾值,從而判斷為一次摔倒。因此,在摔倒后,應(yīng)該仔細(xì)觀察三個(gè)軸向的加速度及其矢量和,以確保它們之間的差異不超過閾值,以便及時(shí)采取有效的措施來防止摔倒。圖2 為傾角傳感器實(shí)物圖及判別流程圖。
圖2 傾角傳感器實(shí)物圖及判定流程
1.2.4 輸入輸出模塊
為了完善本研究設(shè)計(jì)的多參數(shù)監(jiān)測(cè)系統(tǒng),除了可以實(shí)時(shí)監(jiān)測(cè)使用者的身體狀況外,還可以通過設(shè)置的輸入輸出模塊主動(dòng)測(cè)量心率、血氧、體溫,在集成的顯示模塊上進(jìn)行讀值[5]。同時(shí),還設(shè)置了主動(dòng)呼叫功能,防止老人走失后,無法與家屬聯(lián)系,進(jìn)一步保障了使用者的安全。此外,該模塊還集成了警報(bào)功能,通過蜂鳴器發(fā)出聲音吸引周圍的人第一時(shí)間提供幫助。
1.2.5 傳輸模塊
為了能夠?qū)崟r(shí)監(jiān)測(cè)使用者的身體狀態(tài),不受距離及所處位置的限制,采用無線傳輸模塊進(jìn)行數(shù)據(jù)的傳輸,為了滿足本系統(tǒng)要求的對(duì)采樣數(shù)據(jù)的多種查詢方式,采用Cat-1 模塊進(jìn)行數(shù)據(jù)傳輸。該模塊擁有出色的傳輸速度、低延時(shí)、安全可靠,并且得到三大運(yùn)行商的大力支持,保證了信號(hào)傳輸?shù)膶?shí)時(shí)性,此外它還支援使用GPS、北斗、GLONASS、GALILEO 和QZSS 等多操作系統(tǒng)共同進(jìn)行定位,在獲取定位信息后,可以通過網(wǎng)絡(luò)或短信進(jìn)行遠(yuǎn)程傳輸。該模塊采用NTP 協(xié)議,自動(dòng)獲取NTP 系統(tǒng)的時(shí)間,以確保消息傳送的及時(shí)性。采用短信透?jìng)鞣绞?,客戶能夠輕松地將串口設(shè)備的報(bào)警信息以短信的方式發(fā)送到特定的電腦,從而達(dá)到即時(shí)的消息傳送,大大提高了安全和可信度的實(shí)時(shí)性。圖3 為Cat-1 模塊的傳輸示意圖。
圖3 Cat-1 模塊數(shù)據(jù)傳輸示意
軟件系統(tǒng)主要分為設(shè)備端、服務(wù)器端和移動(dòng)客戶端三部分,設(shè)備端的軟件系統(tǒng)主要負(fù)責(zé)數(shù)據(jù)的采集處理及傳輸,通過與云端服務(wù)器的信息交互達(dá)到監(jiān)測(cè)的目的;服務(wù)器端主要負(fù)責(zé)收集所有終端設(shè)備的數(shù)據(jù)并進(jìn)行分類匯總,同時(shí)可以檢測(cè)終端設(shè)備的工作狀態(tài);移動(dòng)客戶端是為了方便實(shí)時(shí)查看終端設(shè)備采集的數(shù)據(jù),更進(jìn)一步的突出了實(shí)時(shí)性的特點(diǎn)。
為了使多體征監(jiān)測(cè)系統(tǒng)能夠滿足使用要求,不僅需要良好的硬件系統(tǒng),還需要相應(yīng)軟件程序與硬件電路進(jìn)行配合,才能發(fā)揮系統(tǒng)真正的監(jiān)測(cè)作用。本研究設(shè)計(jì)的系統(tǒng)是以嵌入式系統(tǒng)為基礎(chǔ)進(jìn)行設(shè)計(jì)開發(fā)的,而嵌入式系統(tǒng)最大的優(yōu)點(diǎn)是可以對(duì)軟件系統(tǒng)進(jìn)行模塊化編程,且擁有良好的兼容性,通過模塊程序間的相互配合、協(xié)調(diào)工作,可以有效的對(duì)信號(hào)進(jìn)行采集、診斷,達(dá)到對(duì)體征信息進(jìn)行監(jiān)測(cè)的目的。圖4 為設(shè)備軟件的總體流程圖。
圖4 設(shè)備端軟件總體流程
服務(wù)器端軟件主要完成設(shè)備管理、管理用戶、數(shù)據(jù)統(tǒng)計(jì)和數(shù)據(jù)處理等功能。軟件設(shè)計(jì)采用Java 編程,MVC 設(shè)計(jì)模式,由MySQL 數(shù)據(jù)庫管理系統(tǒng)進(jìn)行數(shù)據(jù)管理,在Eclipse 集成開發(fā)環(huán)境中進(jìn)行開發(fā)。MVC 模式將系統(tǒng)劃分為三個(gè)層次:數(shù)據(jù)模型層,完成處理與數(shù)據(jù)分析相關(guān)的業(yè)務(wù),包括增刪、改、查等操作;視圖模型層,提供使用者較友好的操作界面;控制器層,完成監(jiān)聽用戶事件,調(diào)取建模層和視圖模型層的數(shù)據(jù)信息,并對(duì)用戶界面進(jìn)行修改。采用MVC 架構(gòu)模式的多體征監(jiān)測(cè)系統(tǒng)軟件具有多種邏輯控制和豐富的反饋操作界面,可以有效地解耦數(shù)據(jù)模型、業(yè)務(wù)邏輯處理、圖形用戶界面和數(shù)據(jù)通信,大大提升了系統(tǒng)的靈活性和組件的可重用性,使得服務(wù)器端軟件操作更加簡(jiǎn)單易懂,顯示更加直觀。圖5 為服務(wù)器端軟件MVC 分層架構(gòu)示意圖,圖6 為服務(wù)器端軟件系統(tǒng)主界面。
圖5 服務(wù)器端軟件MVC 分層架構(gòu)示意
圖6 服務(wù)器端軟件系統(tǒng)主界面
移動(dòng)客戶端的功能包括查詢實(shí)時(shí)狀態(tài)、查詢實(shí)時(shí)位置、數(shù)據(jù)統(tǒng)計(jì)、主動(dòng)呼叫以及接收?qǐng)?bào)警信息等功能。通過在HBuilder 軟件的入口首頁 index.html 中編寫功能代碼,通過設(shè)置IP 地址,以此來實(shí)現(xiàn)互相通信[6]。為了實(shí)現(xiàn)使用移動(dòng)端進(jìn)行相關(guān)操作,借助HBuilder軟件進(jìn)行打包,生成.apk 文件,可直接在移動(dòng)端進(jìn)行安裝。達(dá)到軟件可以擴(kuò)展多個(gè)終端同時(shí)進(jìn)行查看的效果。
用戶打開APP 后,即可對(duì)多體征監(jiān)測(cè)系統(tǒng)的實(shí)時(shí)數(shù)據(jù)進(jìn)行查看,點(diǎn)擊刷新按鈕,移動(dòng)終端將會(huì)讀取服務(wù)器中存儲(chǔ)的最新數(shù)據(jù)并顯示在界面上。實(shí)時(shí)顯示界面的布局文件仍使用login.xml,需要使用線性布局,在數(shù)據(jù)顯示界面中使用TextView控件,來顯示對(duì)于測(cè)量值的文字描述。同時(shí),使用自定義Spinner 控件來實(shí)現(xiàn)下拉框功能,在下拉框中選擇不同的終端設(shè)備進(jìn)行數(shù)據(jù)查看。圖7 為移動(dòng)客戶端軟件主界面。
圖7 移動(dòng)客戶端軟件主界面
本研究設(shè)計(jì)的基于STM32 的多體征參數(shù)監(jiān)測(cè)系統(tǒng)可以很好的采集人體狀態(tài)信息,若出現(xiàn)身體特征參數(shù)異常、走失或摔倒等緊急情況時(shí)可通過網(wǎng)絡(luò)服務(wù)器管理系統(tǒng)向移動(dòng)客戶端發(fā)送報(bào)警信息,也可通過移動(dòng)客戶端發(fā)送測(cè)量身體體征參數(shù)、查看實(shí)時(shí)位置、主動(dòng)呼叫等指令,達(dá)到實(shí)時(shí)監(jiān)測(cè)的目的,進(jìn)一步對(duì)老年人的身體安全提供了保障。