王重陽,寧超魁,馬媛媛
(平頂山學院 信息工程學院,河南平頂山,467000)
隨著人口老齡化趨勢的加劇,老人監護問題成為社會關注的焦點。根據2021 年底發布的國家統計局第七次全國人口普查數據,60 歲及以上的老年人口達到了2.67 億人,占總人口的18.9%,而且根據中國出生率、死亡率和遷移率的趨勢預計到2030 年,中國失能老年人數量可能超過7700 萬人[1]。失能老人需要日常監護,但由于家屬子女工作學習等原因,往往無法實現24 小時監護,可能導致健康問題惡化。因此,如何為失能老人提供有效安全的監護服務,成為一個亟待解決的問題。
系統總體設計如圖1 所示,選用STM32 單片機為主控制芯片,包括電源模塊、心率血氧模塊、人體紅外測溫模塊、溫濕度檢測模塊、濕度水分檢測模塊、步進電機模塊、通信模塊、報警模塊。
本設計硬件電路原理圖如圖2 所示。選用STM32 單片機為主控芯片,采用MAX30102 心率血氧傳感器、LU90614 人體紅外測溫傳感器、DHT11 溫濕度傳感器、濕度水分檢測傳感器分別實現心率、體溫、室內溫濕度、床鋪水分等數據采集,利用ULN2033 驅動板控制28BYJ48 步進電機實現床位升降,蜂鳴器實現報警功能,ESP-01SWiFi通信模塊將數據上傳至阿里云服務器實現系統與手機互聯。

圖2 系統電路原理圖
本設計的主控芯片采用的是STM32 單片機,其具有高性能、低成本和低功耗等特點,并且STM32F103C8T6 需要的電壓范圍在2~3.6V,適用的溫度在-40℃~85℃,擁有多達64 個GPIO 引腳,11 個定時器,2 個12 位DA 通道,3 個12 位AD 通道,5 個UART 串口,應用范圍廣,性能穩定。能夠滿足本系統的開發要求,且具有一定的擴展空間。STM32 單片機的最小系統電路原理圖如圖3 所示。

圖3 單片機最小系統電路原理圖
本設計采用MAX30102 心率血氧傳感器對老年人的心率和血氧水平進行監測。該傳感器利用PPG 光電容積脈搏波描記法來處理運算以獲得心率和血氧數值。然后,使用I2C 接口輸出數據,從而降低了傳感器的使用難度并減少了對主控的資源占用。
本設計采用LU90614 紅外測溫傳感器對老人的體溫狀態進行測量。該模塊內部由紅外發射器、紅外接收器、濾光器和放大器構成,通過產生一個特定頻率的紅外光束檢測被目標物體反射回來的紅外輻射信號測量目標物體的溫度。為了避免其他光線的干擾,傳感器中還加入一個濾光器用來阻止其他光的進入。傳感器內部的放大器會將接收到紅外輻射信號進行放大,經過對數字信號的處理計算出測試物體的溫度值。
本設計采用的DHT11 溫濕度傳感器是室內溫濕度進行測試。該傳感器基于電容變化的測量原理,主要包括一個高分子聚合物電感元件和一顆熱敏電阻,通過感知周圍環境的溫濕度變化來改變元件電容的大小,最終將這些變化量轉換為電信號輸出。DHT11 溫濕度傳感器輸出信號是一種串行數字信號,經過信號調理會對傳感器輸出的數字信號進行處理和解析,以便能夠精確地計算出溫度和濕度的數值。
本設計采用濕度水分檢測傳感器來進行濕度檢測。該傳感器是一種能夠實現濕度檢測和水分定量測量的設備。其中采用電容式傳感器原理,由一個電容板來測量水分,能夠將水分信號轉換為電信號,經過STM32 單片機處理數據可以設定閾值范圍。這樣就可以清楚地了解當下的水分濕度從而判斷老人是否處于失禁狀態。當水分濕度上升時,靜電容中的介質將使得其內部空間減少,從而導致其內部的電容大小減少。這種變化將會在滑動開關中產生一個信號,并將這個信號通過接頭傳送到相應的終端或設備中。
本設計通過步進電機實現對失能老人的床頭進行角度升降調整功能。28BYJ48 步進電機是一種低成本、低功耗的步進電機。其中,步進電機的CON5 端口與五線四相驅動板上的P3 接口相連接。
步進電機模塊常用的驅動芯片有L293D 和ULN2003等。本設計中采用的是ULN2003 五線四相驅動板。該驅動原理是通過12V 的直流電源來提供驅動電壓,通過STM32單片機或者其他控制器生成控制信號,在控制電路和驅動芯片的協同作用下控制步進電機的運動。
本設計采用ESP-01S 芯片的WiFi 模塊。該通信通信模塊是一款高性能、體積小、功耗低的WiFi 模塊。該模塊便于與各種微控制器和傳感器等設備通信,可以為現有設備添加聯網功能或構建獨立的網絡控制器。用戶可通過簡單快速的WiFi 連接實現設備互聯,并實現物聯網應用。
ESP-01S 模塊支持高性能的無線SOC,可通過AT 指令快速上手,且支持STA、AP 以及AP 和STA 共存的三種工作模式,本設計中選擇STA 模式。單片機將采集到的監測數據打包,通過通信串口上傳到WiFi 模塊,然后按照TCP/IP 協議將監測數據轉換成相應格式,選擇Save Data 類型的消息將數據發送到云平臺。
本設計采用蜂鳴器作為報警模塊的聲源。報警模塊由電阻、PNP 三極管和蜂鳴器三個基礎部件組成。電阻防止電流過大損壞電路,PNP 三極管控制電流是否流向蜂鳴器,從而控制蜂鳴器的開關狀態,使其發出聲響。蜂鳴器報警有兩種方式,一種為自動報警,當監測到的數值超出設置的參數范圍時,蜂鳴器報警并通過手機APP 彈窗通知監護人。另一種為一鍵報警,危險時刻老人可通過一鍵報警按鍵直接實現蜂鳴器報警。
智能監護系統軟件開發基于Keil MDK5 環境,開發語言是 C 語言。根據系統的功能劃分為三個板塊:主程序、數據采集、通信傳輸。
啟動失能老人監護系統后,首先各個模塊將按照系統要求進行初始化,并連接到WiFi 網絡和阿里云服務器,確保能夠上傳數據和接收指令。然后讀取各傳感器數據,數據異常時驅動報警電路進行報警;通過手機APP 驅動電機模塊調節床頭高度;通過一鍵報警模塊直接報警;最后各項數據傳輸至APP 并顯示。主程序流程如圖4 所示。
在數據采集時,首先進行傳感器的初始化,讀取傳感器數據并判斷數據是否正常,如不正常重新讀取,如正常則判斷讀取數據是否超出設定閾值,超出閾值則報警,未超出閾值則上傳數據并保存,最后采集數據在APP 顯示。數據采集流程如圖5 所示。

圖5 數據采集流程圖
通信傳輸流程如圖6 所示,通過MQTT 協議從阿里云服務器獲取推送數據(即單片機采集上傳數據),并將數據以合適的方式在客戶端顯示,從而實現數據在設備和客戶端之間的傳輸和共享,用戶可以通過手機APP 顯示實時數據并遠程控制設備。ESP-01S 模塊通過WiFi 實現與手機客戶端的連接,ESP-01S 模塊是通過串口指令來實現相應功能的觸發。首先,控制器將使用串口向ESP-01S 發送連接WiFi 的AT 指令。然后,再次利用串口發送連接阿里云服務器的AT 指令。如果成功連接,控制器將會發送訂閱信息的指令。此時,監護系統就可以監聽來自所訂閱ID 的阿里云服務器的賬戶信息,即可實現與手機客戶端的通信。

圖6 通信傳輸流程
本系統的實物如圖7 所示,系統完成后對數據采集和通信功能進行測試。

圖7 系統實物圖
心率血氧功能測試是將手指尖放在心率傳感器的感應部分,傳感器捕獲相應數據并計算出心率血氧數值。DHT11 溫濕度監測模塊測試通過用水噴霧模擬濕度改變傳感器周圍環境的溫濕度進行測試。人體紅外體溫監測模塊測試將人體紅外測溫傳感器放至老人額頭或者內手腕1~3cm處進行體溫采集。當傳感器檢測到的各項數據超出設定閾值范圍時,監護人手機APP 會彈出異常提醒。經過測試,系統各項功能均滿足設計要求。數據采集功能測試結果如圖8所示。

圖8 數據采集功能測試結果
該部分測試系統的信息上傳阿里云服務器以及手機APP 下發信息設備是否可以正常執行命令。通過對不同情況的調整床位高度、發送報警信息以及整體的監護信息顯示進行測試。
手機APP 通過阿里云服務器下發轉動方向、步進數的命令,經ULN2003 五線四相驅動板模塊驅動執行。按下報警獨立按鍵,蜂鳴器發出警報聲音,同時監護人手機端APP 會彈出紅色警報頁面提醒,長按報警按鍵可以取消報警。當系統采集數據異常時,蜂鳴器發出警報同時監護人手機APP 會彈出當前警報信息。經過測試,系統數據可以正常上傳下發。數據異常報警結果如圖9 所示。

圖9 數據異常測試結果
以STM32 單片機作為失能老人監護系統的核心控制器,通過對老人的心率血氧、體溫、室內溫濕度、是否失禁等周圍環境的數據采集,然后設置報警閾值,當某一環境數據超出閾值時會觸發報警電路。同時嵌入式控制器會發送相應的信息,通過WiFi 通信模塊傳輸給監護人。老人可以通過一鍵報警功能進行求助,并可以通過APP 對床鋪進行調整。經過多次測試調試,該系統的性能穩定度高、價格費用低、實際應用性好,能夠在多種場景下發揮作用,確認該系統實現了設計的要求和功能。