











摘要:為解決社區老人健康管理和安全監測等問題,文章設計并實現了智慧社區養老監護系統。該系統通過室內檢測傳感器,有效地監測室內環境和全屋用水情況,通過手環實時檢測老人的身體姿態、判斷老人是否摔倒、檢測老人的心率血氧。通過下位機、EMQX云平臺、PYQT上位機相結合,打造了功能豐富、操作簡單的智慧社區養老監護系統。
關鍵詞:心率;血氧;姿態;智慧社區;養老
中圖分類號:TP29" 文獻標志碼:A
基金項目:廣西科技計劃項目;項目編號:2020GXNSFAA159091。
作者簡介:黎蓮花(1973— ),女,講師,碩士;研究方向:虛擬儀器。
*通信作者:陸思翰(2001— ),男,工程師,學士;研究方向:物聯網。
0" 引言
當今社會我國老齡化情況不斷加重,很多年輕人都外出工作和學習,這導致了大量空巢老人的出現,老年人的健康監測已經成為社會的熱點話題。利用社區“物聯網+互聯網+物業服務”開創新的服務模式,能第一時間保障老年人的生命健康安全[1-2]。
老年人健康監測系統將成為社區養老管理領域中的熱點和前沿領域,并且產生很高的社會價值。通過監控老年人的生理參數、活動軌跡以及日常習慣等信息,可以發現老年人可能存在的健康風險,并及時采取干預措施,保障老年人身體健康和安全[3-4]。
1" 系統總體設計
本系統主要由應用層、平臺層和硬件層組成[5]。細分為跌倒檢測、心率檢測、室內煙霧濃度檢測、室內溫度檢測、上位機設計及數據庫設計。
上位機用于用戶信息的注冊,創建SQLite用戶信息數據庫,創建多個線程,用于語音提醒、更新UI的TableView、更新用戶信息文件和數據庫、更新用戶數據文件、5個線程用于訂閱用戶發布的信息,較單線程訂閱更具有數據的可靠性和魯棒性,盡可能地不丟失用戶的緊急情況信息。用戶注冊流程是當用戶下位機Flash當中沒有用戶信息、主題信息時,用戶通過串口助手輸入用戶信息,填好用戶信息后按下按鍵,通過藍牙發送到系統母板,系統母板將信息通過ESP8266發送到EMQX平臺,上位機收到信息后存入數據庫,并分配給該用戶唯一的主題,發送該主題到下位機,下位機將保存該主題到Flash中,保證斷電后不丟失信息。
下位機分為手環板和系統母板,系統母板用于檢測室內有害氣體濃度、室內溫度,連接MQTT云平臺,藍牙模組用于連接手環板。手環板Flash存儲用戶信息,板載有MAX30102心率血氧飽和值采集傳感器、MPU6050六軸傳感器、低功耗藍牙模組、LCD、鋰電池充電電路。當手環板采集到異常數據或系統母板采集到異常數據,將通過ESP8266發送MQTT給云平臺EMQX,上位機收到數據后將語音播報用戶地址、姓名以及異常數據,根據異常數據,社區人員也可以通過地圖查看該用戶所在地址的具體位置,系統總框架如圖1所示。
2" 手環板軟硬設計
手環板主控使用的是STM32F411CEU6,板載有六軸加速度傳感器MPU6050、心率血氧傳感器MAX30102、低功耗藍牙模組HLK-B40、CP2102電路、鋰電池及充電電路、LCD顯示電路、LDO降壓電路,MPU6050以及MAX30102是主控通過IIC進行通信,LCD是主控通過SPI進行通信,藍牙模組是主控通過串口進行通信,手環硬件框架如圖2所示。
2.1" 姿態傳感器MPU6050處理邏輯
MPU6050是IIC設備,其處理邏輯流程如圖3所示。為了能夠使用MPU6050內置的DMP,需要對DMP進行初始化,DMP是基于硬件的算法,可以自動修正2種傳感器的偏差和誤差,保證數據精度,同時將陀螺儀的角速度測量結果與加速度計測得的距離信息相結合,使用冗余來校正測量誤差,并且消除因傳感器震蕩和溫度和噪聲導致的誤差。通過運算即可得到ax、ay、az、gx、gy、gz,并計算得到加速度矢量和的值SVM,如公式(1)所示。
SVM=ax2+ay2+az2(1)
2.2" 心率血氧傳感器MAX30102邏輯處理
當手指放在傳感器上方時,微處理器通過IIC協議讀取MAX30102的反射光變化值,經過濾波和去噪算法,獲取高質量的心率和血氧飽和值數據。
心率采集運算:在微處理器中的中斷回調函數中可以獲取經過去噪濾波后的心率值,并將其依次放入數組,當元素個數超過設定好的CACHE數時,將從該心率數組中找出極值點的距離,在數組中找出2個波峰之間的距離(波峰對應的數據表現出較大的值),這個距離就是該部分心率檢測數據的周期長度。假設該周期長度的變量名為temp,根據公式 3000/temp 計算出心率值。
血氧采集運算:在微處理器中的中斷回調函數中可以獲取經過去噪濾波后的光強度信號,并將其依次放入ir_input_data數組以及red_input_data,遍歷輸入的ir_input_data和red_input_data數據序列,通過記錄最大/最小值來確定當前檢測窗口內的波峰和波谷。ir_max、ir_min、red_max、red_min分別表示IR和RED數據序列小值。根據公式(2),計算出R值,利用公式(3)可計算出血氧飽和值SpO2。
R=(irmax+ir_min)(redmax-red_min)(redmax+redmin)(irmax-irmin)(2)
SpO2=-45.060R2+30.354+94.845(3)
2.3" 手環板藍牙接收數據處理邏輯
手環板串口1直連HLK-B40,主要用于前期的調試和系統母板的通信。上電時,微處理器會讀取目的Flash中是否有主題信息,當存在有主題信息時,處理流程如圖4所示。
3" 系統母板軟硬件
系統母板主控使用的是STM32F411CEU6,板載有DS18B20溫度傳感器、MQ2煙霧傳感器、低功耗藍牙模組HLK-B40、物聯網模組ESP8266、OLED屏幕、CP2102電路,系統母板的軟件編寫使用的是RT-Thread Studio,RT-Thread支持STM32 HAL,在接入STM32CUBEMX配置硬件的同時,可以使用RT-Thread生態社區中豐富的軟件包[6]。其硬件框架如圖5所示。
3.1" 有害氣體傳感器MQ2線程數據處理
計算RS須要加入MQ2 傳感器上的電阻器電阻值RL,計算公式如下。
RS=(3.3f-Smog_Get_Vol)Smog_Get_Vol·RL(4)
求出RS后,可求出空氣中的有害氣體濃度PPM(百萬分之一),計算PPM須要加入RS、空氣中特定氣體(通常為可燃氣體)的電阻值R0,計算公式如下。
PPM=98.322f·PowRSR0,-1.458f(5)
3.2" 溫度傳感器DS18B20線程數據處理
使用RT-Thread提供的DS18B20軟件包,可以快速配置DS18B20,只需輸入代碼#define DS18B20_DATA_PIN GET_PIN(B, 12),即可完成指定GPIO的連接。
3.3" 系統母板藍牙線程數據處理
系統母板藍牙主要用于接收手環板所測數據、系統母板板載傳感器數據、手環板注冊信息等。當系統母板上電時,當前主題使用的是默認主題mqtt/1_P以及mqtt/1_P/watch,MQTT_PUBLIC對應的是mqtt/1_P,MQTT_DEFAULT_SUBTOPIC對應的是mqtt/1_P/watch。手環板上電后,發送手環板Flash存儲的主題信息,之后系統母板是以手環板發送過來的主題信息作為發布的主題以及訂閱的主題,具體流程如圖6所示。
4" 上位機軟件開發
上位機通過PYQT5進行開發,MQTT Broker平臺使用EMQX平臺,它支持規模化WebSockets和MQTT協議客戶端接入,并能夠支持上百萬的并發連接。操作界面設計如圖7所示,異常數據列表如圖7中的彈窗所示。
4.1" 上位機訂閱主題
下位機在注冊用戶信息后會分配有一個主題,主題為mqtt/xx_P,xx為分配后的序號,上位機通過開辟5個線程來監聽mqtt/+主題,使用多線程監聽主題會出現多個線程同時接收到下位機發送到EMQX的消息,此時通過使用不帶群組的共享訂閱$queue這一機制,可以使得在使用多線程監聽的同時,有且只有一個線程能夠收到從下位機發送到EMQX的消息,當沒有Subscriber訂閱某個Topic時,$queue隊列可以用來臨時存儲消息,以防止消息丟失。
由于下位機是通過JSON格式的數據發布到云平臺,上位機可以通過訂閱主題獲取數據,并將原始數據轉為字典型數據,并通過Python獲取鍵值對的方式取到數據。
4.2" 上位機發布主題
上位機僅在下位機發送注冊信息或是下位機發送獲取時間指令的時候,才會向主題發布信息。當下位機發布“time”,上位機將會獲取本地時間,以%Y%m%d%H%M%S的形式獲取時間,并發布該時間數據,用于下位機的時間更新。
5" 系統測試與分析
根據本次系統的硬件設計,手環和母板硬件實物如圖8所示。
5.1" DS18B20測試
本次DS18B20測試分別在室內、室外和有空調的室內進行測試,DS18B20數據測試結果如表1所示。實測室內溫度與DS18B20所測誤差在1 ℃范圍內,在無空調的情況下溫度誤差較大。后續可以將DS18B20遠離這2個發熱元器件,且在DS18B20附近不進行鋪銅處理,減少板端溫度對DS18B20的影響。
5.2" MQ2測試
煙霧傳感器MQ-2是通過微處理器讀取AO的電壓值,之后經過換算可以得出PPM(百萬分之一)的有害氣體濃度值。軟件上,當MQ2傳感器濃度到達設定閾值(30)以上,蜂鳴器將會持續蜂鳴直至室內有害氣體濃度降低至閾值以下,若有害氣體濃度值超過閾值30 s,系統將會通知社區管理人員。具體數據如表2所示。
5.3" 水流量檢測傳感器測試
水流量檢測傳感器通過采用傳感器轉子高低電平的切換次數來確定當前用水量。根據該傳感器的介紹可知,流經該傳感器1 L水會產生300個脈沖信號,可用于測水流量。
5.4" 心率血氧傳感器MAX30102測試
由于技術原因,MAX30102無法測量手腕的心率、血氧飽和值,即使可以測,但是測量并不準確,故此次測試使用的是手指指尖處進行測量,測量時須保持靜坐,確保采集到的數據真實可靠,查看此次測試數據結果使用的工具是Serial Studio串口工具。測試結果如表3所示。
5.5" MPU6050跌倒測試
通過MPU6050實時采集手環的加速度數據,通過定時器定時采集三軸加速度的矢量和,手環在不遇到強烈沖擊時不會觸發跌倒報警,當該矢量和數值超過一定閾值時將會觸發跌倒報警,手環板上用于檢測跌倒報警的LED亮,老人可以按下手環上的按鍵1、按鍵2、按鍵3取消跌倒報警,測試結果如表4所示。
通過以上測試可知,僅使用MPU6050用于檢測老人是否跌倒的準確率不高,會出現誤檢測的情況,快速擺手會使得MPU6050的加速度矢量和增加,會
讓系統誤認為老人跌倒,故在誤識別的情況下,老人可以通過按下手環板上的按鍵取消發送跌倒信號到系統母板。如果老人沒注意到手環板上的LED,系統母板的蜂鳴器也會提醒老人;如果沒有跌倒,會給老人30 s的時間來取消跌倒信號發送到上位機;如果期間沒有按鍵按下,上位機將會收到老人異常情況的信息,社區功能人員則能夠第一時間到達老人住宅。
6" 結語
本設計采用了上位機人機交互界面、數據存儲數據庫,結合下位機傳感器數據采集完成了社區獨居老人健康檢測系統的設計指標。實現了心率血氧飽和值的檢測、跌倒檢測、室內溫度檢測、室內用水量檢測、室內有害氣體濃度檢測,可實時采集用戶的異常數據,異常數據存儲在文本文件中,用戶信息存儲在SQLite數據庫中。
本設計的優點有成本低、安全性高、可靠性強;整個系統操作簡單,用戶使用界面簡潔直觀。彌補了目前社區獨居老人健康檢測系統的缺點,在更快讓老年人上手的同時降低了設計成本。
參考文獻
[1]吳昊,唐忠.基于物聯網技術的廣西城鎮智慧居家養老服務體系構建[J].數字技術與應用,2023(4):102-104.
[2]李嘉欣.住區配建社區養老服務設施適應性設計研究[D].大連:大連理工大學,2022.
[3]陳杰,張宇,石曼卿.當前居家社區養老服務體系存在的短板與創新:兼論“社區+物業+養老服務”模式推廣問題[J].行政管理改革,2022(6):84-93.
[4]趙光輝,曲慧娟.NB-IoT技術在智慧社區中的應用[J].智能建筑與智慧城市,2022(6):162-165.
[5]王錦濤.基于MQTT的物聯網設備接入及云上監控系統研究[D].西安:西安工業大學,2021.
[6]羊月祺.基于物聯網的醫療設備運行環境與狀態監測系統設計與實現[D].南京:東南大學,2019.
(編輯" 沈" 強)
Smart community elderly care monitoring system
LI" Lianhua1, LU" Sihan2*
(1.Guilin University of Electronic Science and Technology, Guilin 541004, China;
2.Dongguan Yuanfeng Technology Co., Ltd., Dongguan 523000, China)
Abstract:" To solve the problems of health management and safety monitoring for elderly people in the community, this article designs and implements a smart community elderly care monitoring system. The system effectively monitors the indoor environment and water usage of the entire house through indoor detection sensors. The system uses a wristband to real-time detect the elderly’s body posture, determine whether they have fallen, and monitor their heart rate and blood oxygen. By combining the lower computer, EMQX cloud platform, and PYQT upper computer, a smart community elderly care monitoring system with rich functions and simple operation has been created.
Key words: heart rate; blood oxygen; attitude; smart community; retirement