杜云海,丁文靜,張梓涵,蔣佳彤,張 旭
(1.金陵科技學院 國際教育學院,江蘇 南京 211169;2.金陵科技學院 網絡與通信工程學院,江蘇 南京 211169)
隨著我國人口老齡化問題的加劇,老齡人口占總人口的比重在不斷升高,空巢老人的數量也在不斷增加;很多老年人缺少專門的看護,他們的生活健康問題難以得到及時救助,從而造成了一些悲劇。因此,當今社會關于老年人安全保障和幸福養老方面的需求在不斷增加。
近些年,隨著通信和定位技術的發展,給當前社會熱點問題提供了新的技術支撐,如搜救等現實問題的解決,同時也給研究人員帶來了新的挑戰和機遇。為此,研究人員提出了大量解決方案,文獻[3]提出了一種實時監測老年人生理信號的可穿戴系統;文獻[4]提出了老年人穿戴式智能產品的設計原則和設計要點;文獻[5]研究了一種實時動態檢測老年人是否跌倒的穿戴式監測系統;文獻[6]通過最大類間方差法和三幀時間差分法進行了自然背景和光照條件下室內運動人體目標的分割及運動狀態的檢測,從而對獨居老年人的狀態進行檢測;文獻[7]提出了一種基于改進codebook算法的老年人跌倒檢測方法。
綜合分析發現,當前產品將功能進行集成化的較少,且操作相對復雜,過多依賴于網絡進行數據交互。本設計基于STM32及北斗定位開發了老年人自動監護報警系統,該系統以一種簡便易操作的方式向用戶呈現數據,能自動地將數據寫入服務器,并將有效數據信息實時同步顯示在相應的網頁上。
根據實際需求分析,客戶端主要實現以下功能:位置信息獲取、心率血氧信息獲取、溫濕度信息獲取、用戶交互、緊急短信和數據發送。服務器端主要實現兩個功能:數據接收和數據庫寫入。各功能說明如下:
(1)位置信息獲取:使用北斗天線及EC20模塊實時獲取當前位置信息。
(2)心率血氧信息獲取:通過心血氧傳感器,對用戶的心血氧數據進行采集。
(3)溫濕度信息獲取:通過溫濕度傳感器,對用戶所處環境溫濕度信息進行采集。
(4)用戶交互:在客戶端設置一個屏幕和4個按鈕,方便用戶對功能的選擇。
(5)緊急短信:在發生緊急情況時,客戶端能夠自動通過基站向預留的號碼發送包含老年人地理位置的短信,用戶也可以自行手動發送。
(6)數據的發送:客戶端能夠通過4G網絡不間斷地向主機發送包含各項傳感器數據的UDP數據包。
(7)數據接收和數據庫寫入:服務器端通過運行Java腳本的方式自動完成UDP數據包接收、字符串處理以及MySQL數據庫寫入。
本項目客戶端硬件連接情況如圖1所示,主要包括MCU、EC20、MAX30102心血氧模塊、MPU-6050陀螺儀、按鈕模塊、0.96寸OLED屏等模塊。

圖1 硬件連接示意圖
在本設計中,開發板所采用的MCU型號為STM32F407ZET6,是整個系統的核心控制模塊。該開發板包含一個EC20模塊,此模塊通過串口通信與MCU相連接(如圖2所示)。通過EC20自帶的AT命令可以實現MCU對EC20模塊的操控,從而實現UDP數據包發送、北斗信息接收以及短信發送功能。

圖2 EC20硬件
本項目采用的心血氧模塊為MAX30102,其原理如圖3所示。通過LED燈主動發出紅光并經過血管反射后,通過模數轉換模塊對信號進行分析,得到當前心率。該模塊包含一個LED燈以及一個光敏傳感器。當LED光射向皮膚,透過皮膚組織后,反射回的光被光敏傳感器接收并轉換成電信號,再經過A/D轉換成數字信號,最后對轉換后的數字信號進行濾波和分析。計算電信號周期性變換頻率即為心率。同時,由于不同含氧量的血液對光的吸收程度不同,對反射回來的光進行分析并對血氧飽和度進行定義,如下:

圖3 MAX30102硬件原理

根據公式(1)可以計算出當前血氧濃度。在本項目中,MCU通過模擬SPI協議讀取MAX30102采集到的數據,協議時序如圖4所示。采集過程中,心率波形能夠實時在OLED屏上顯示,并實時顯示相應心率血氧信息。

圖4 MAX30102驅動時序示意圖
本項目采用的溫濕度傳感器為DHT11,該傳感器通過一根雙向的總線與MCU進行通信,連接示意圖和總線時序分別如圖5、圖6所示,從而獲取溫濕度信息,并在屏幕上顯示。

圖5 DHT11連接示意圖

圖6 DHT11總線時序
0.96寸的OLED顯示屏(如圖7所示),該顯示器通過SCI協議與MCU進行通信。基于此,本文設計了人機交互界面。用戶可以通過該界面看到實時時間,通過按鈕選擇相應功能(如溫濕度、心血氧);在選擇相應功能后,顯示屏可以根據用戶需求呈現相應數據。

圖7 0.96寸的OLED顯示屏
本系統移植了FreeRtos操作系統。FreeRtos能夠對MCU的內存資源、運算資源、時序資源進行合理的調度,同時運行多項任務(如圖8所示),并實時響應中斷。通過該操作系統,能夠在同一時間對不同傳感器數據進行采集處理,并實時發送到上位機。

圖8 FreeRtos任務調度示意圖
當前物聯網技術迅速發展,萬物互聯時代離人們的生活也越來越近,在“互聯網+”時代也同步出現了隨時隨處皆可獲得感興趣信息的需求,在不同的老年人監測系統中也能看到相關技術的應用。
本文的設計采用了一種可行的、錯誤率更低的信息傳遞方式,傳遞過程如圖9所示。在正常情況下監測系統開發板采集用戶數據之后,通過攜帶的4G模塊將數據以UDP數據包形式發送至公網,隨后遠程設立固定IP服務器使用持續運行的腳本監聽本機端口,獲取數據包后解碼并寫入數據庫。同時,用戶和緊急聯系人都可以通過任意連接至公網的網絡設備(如手機、平板、個人電腦)訪問該服務器,獲取實時信息。

圖9 老年人監測系統傳導方案
設計采用較為傳統的服務器搭建模式,結合HTML、JavaScript、PHP技術設計了網頁,通過MySQL搭建數據庫,并使用了Windows Sever+Apache的服務器結構。數據寫入端則由持續運行的Java腳本完成。本組采用的開發工具為AdobeDreamweaver 2019,服務器使用的是阿里云服務器。項目組的硬件部分對用戶的數據采集主要集中在三個方面:(1)用戶所在的地理位置經緯度坐標;(2)用戶所處環境的溫濕度數據;(3)用戶的心率血氧信息。其中前兩個信息為實時信息,每隔15 s錄入一次數據庫,第三個為選擇性信息,僅當用戶使用該功能時才會輸入數據。通過以上需求分析,制作五個功能模塊,分別是主頁、地圖、心率血氧、溫濕度和“關于我們”。簡潔的頁面和大型的字體更有利于老年人使用,而固定IP服務器則方便遠程調試,如圖10所示。

圖10 服務器配置桌面截圖
如圖11所示,本頁面核心內容為百度地圖API對象,對接的核心用JavaScript創建地圖對象并選取中心點變量和調用數據庫里存取的信息。為了方便后續程序擴展,記錄了詳細的時間、位置等信息。

圖11 地圖頁面反饋流程
相較于地圖頁面反饋方式,心率血氧的反饋方式較為簡單,只需要以表單形式從數據庫中獲取數據即可,以溫濕度傳感器的反饋為例進行介紹。如圖12所示,本頁面調用Echarts繪圖工具的JavaScript腳本,溫濕度數據存儲形式與坐標信息相似,但由于環境溫濕度變化較小,數據-時間抽樣率較高,因此調用樣本數據時采用的是MySQL自帶的AVG函數。

圖12 溫濕度頁面反饋流程
基于上述技術,最終的設計實現在線地圖功能,該地圖能夠實時讀取數據庫最新的北斗模塊定位坐標并顯示。同時能夠讀取最新心血氧數據以及當天的溫濕度信息,并通過文字、折線圖的形式簡潔直觀地進行展現。
圖13為心血氧數據采集頁面,圖14為溫濕度數據采集頁面,可以看出客戶端能夠實現對老年人的生理信息、周圍環境信息數據進行采集。圖15為地圖頁面,圖16為一段時間內的溫濕度變化趨勢折線圖。系統可實現遠程實時采集和記錄客戶端的信息數據。

圖13 心血氧數據采集頁面

圖14 溫濕度數據采集頁面

圖15 地圖頁面

圖16 溫濕度變化趨勢折線
目前我國老齡化問題日益加劇,對老年人缺乏精心合理的監護。因此,在未來借助智能設備的養老將會成為主流發展趨勢。本文主要介紹了基于STM32及北斗定位的老年人自動監護報警系統的軟硬件設計原理,并展示和分析了測試結果。本設計實現了遠程查詢老年人的位置、心血氧、周圍環境等信息的功能;在此基礎上能夠實時地將這些數據發送到服務器并寫入數據庫,同時可以在頁面上進行可視化查看,在老年人遇險時能自動發送求助短信。未來將進一步地對客戶端硬件電路板進行設計,加大硬件端的集成度,還將考慮增加運動記錄功能,例如步數統計、運動消耗統計等,從而實現判斷每日運動情況是否合理且達標的目的。