楊 柳,范小嬌,范晨宇,馬亞紅,李 靜,劉 欣
(西京學院計算機學院,西安 710100)
近年來,老年人群體的健康狀況引起了社會各界的廣泛關注。老年人通常是心腦血管等疾病的高頻率發病群體。在周圍沒有其他人的情況下,老年人如果突發疾病,無法及時采取有效的治療措施,且他們也沒有意識和很好的方法長期監測自身的體征參數和各項指標,所以并不能夠及時地預防疾病的發作。與國外相比,中國老齡人口看護體系的發展過程相對緩慢,從二十世紀五十年代后期開始研究,但是真正的臨床監測始于二十世紀七十年代中期。從二十世紀九十年代起,伴隨著各種醫療設備監控儀器的推出,多數中國的監控儀器都能對一部分人體體征參數進行監控[1]。比如,南京正在進行智能化養老的課題,該方案最主要的特點是:利用NB-IoT 和華為云技術來開發一種可監護老年人健康數據的系統,不僅可以監測自身的體征參數和各項指標,也能夠及時地預防疾病的發作。
本文所提出的老年人智能安全監護系統以心率血氧模塊、體溫模塊等硬件作為數據采集端,將數據上傳并存儲至云平臺,當檢測到異常數據時,蜂鳴器進行警示。該系統還可以遠程監控,為用戶提供便捷的服務和健康的保障。
本系統由采集設備、華為云平臺和老年人智能安全管理系統三部分組成,其中采集設備通過傳感器采集老年人人體的心率、血氧濃度和人體溫度等參數,并通過NB-IoT 通信模塊將采集的數據信息傳輸至華為云平臺。監護人可以使用自己獨有的賬號和密碼通過電腦客戶端登錄,登錄成功后,便可以看到老年人的實時心率血氧參數值和體溫值。系統對上述兩種人體生命體征參數分別進行分析,對老年人和其監護人起到警示作用。系統總體框圖如圖1所示。

圖1 系統總體框圖
采集設備的主要功能是采集數據、傳輸數據。采集設備由主控制器STM32 單片機、心率血氧傳感器、溫度傳感器、NB-IoT 通信模組、OLED 液晶顯示屏、蜂鳴器等模塊組成[2]。利用單片機來接收處理傳感器的信息,并對蜂鳴器和OLED 模塊進行控制。若檢測到人體心率高于或者低于程序中預先設置的范圍,控制模塊將會命令蜂鳴器執行報警;若人體溫度高于或者低于程序中預先設置的范圍,控制模塊也會命令蜂鳴器做出響應[3]。本設計的采集設備總體架構如圖2所示。

圖2 采集設備架構圖
本設計的主控制模塊為STM32 單片機,用于處理心率血氧和人體溫度的實時參數值。STM32 控制簡單、方便,有強大的處理、控制功能。可以通過編寫程序控制單片機里面的各種資源和外接I/O 口等,所以采用STM32 單片機來實現這些功能具有一定的優勢。
NB-IoT具有低成本、低功耗、廣覆蓋、大連接的特性。本文中NB-IoT 通信模塊選用的是BC20型號的通信模塊。BC20是一款高性能、低功耗、多頻段、支持GNSS 定位功能的NB-IoT 無線通信模塊。其尺寸僅為18.7 mm×16.0 mm×2.1 mm,能最大限度地滿足終端設備對小尺寸模塊產品的需求,同時有效幫助客戶減小產品尺寸并降低產品成本。BC20 提供豐富的外部接口和協議棧,同時支持多種物聯網云平臺,為客戶的應用提供極大的便利。
心率監測模塊采用的是MAX30100,這是一款有脈搏血氧儀和心率監測傳感器的模塊,這個元器件上有兩個LED、一個光電探測器。MAX30100 采用3.3 V 的電源電壓,其待機模式下消耗的電流量可忽略不計,所以可以一直保持電源的連接。
體溫監測模塊采用的是DS18B20,它獨特的單線接口僅需一個端口引腳進行通訊,無需其他的外部器件即可直接通過數據線供電,零待機功耗。它的測溫范圍-55℃~+125℃,以0.5℃遞增。
蜂鳴器采用三極管驅動,當監測到的心率血氧值或者體溫值的參數過高或者過低時,系統會命令蜂鳴器發出聲響來提醒用戶周圍的人及時對用戶進行救助。當心率、血氧濃度或體溫數據不在正常范圍內時,系統程序根據預先設置好的報警閾值條件,循環輸出高低電平,蜂鳴器進行報警。當心率數據和人體溫度都在正常范圍內時,輸出低電平,報警停止。
本設計采用OLED 液晶顯示,使用的是0.96 寸OLED 顯示屏,該屏分辨率為128×64。由于其顯示內容清晰、豐富、顯示信息量較大、體積較小、輕薄,顯示內容速度快等特點而得到廣泛應用。應用在本設計中很好地發揮了其優勢。
OLED 模塊、BC20 模塊與STM32 模塊的連接如圖3所示。

圖3 硬件連接圖
在系統上電后,先對各模塊進行初始化,初始化完成之后成功連接到云平臺,各模塊開始工作,傳感器開始采集心率血氧、體溫數據,將檢測到的數據傳輸給STM32,STM32 單片機分析完數據就會進行相應的處理,并判斷數據值是否異常,如果數據值異常,則蜂鳴器進行報警提示[4]。其系統的主程序流程如圖4所示。

圖4 軟件設計總流程圖
本模塊的程序設計重點主要是實現對用戶心率和血氧信息的采集,如果采集到的信息超出程序中所設定的閾值,程序啟動蜂鳴器進行報警。心率血氧監測模塊的執行流程如下:采集模塊采集到人體的心率和血氧值,將信息傳給控制模塊,程序會根據當前監測到的心率血氧值對比程序中設定的范圍值(范圍內的數值判定為健康)來判斷用戶身體是否健康,當判定出用戶心率和血氧值的參數過高或者過低時,系統會啟動蜂鳴器,發出聲響來提醒用戶周圍人及時對用戶進行救助。
本模塊中的紅光、紅外光都用來測量人體血液中的含氧量。含氧的血液中可以傳遞更多的紅光并且可以吸收更多的紅外光,而脫氧血液中傳遞更多的紅外光并吸收紅光,讀取兩個光源的吸收電平,通過測量心臟向外泵的血液中的氧合血紅蛋白增加和減少之間的時間,確定心率。血氧飽和度(SpO2)的計算公式為
該模塊通過IIC 通信協議與STM32 交換數據,其中SCL 連接B8,SDA 連接B9 讀取rawIRValue(紅外FIFO 數據)、rawRedValue(紅光FIFO 數據),計算心率血氧的數據。
此模塊的程序設計重點主要是實現對用戶體溫信息的采集,如果采集到的信息超出程序中所設定的閾值,程序啟動蜂鳴器進行報警[5]。體溫監測模塊的執行流程如下:采集模塊采集到人體體溫,將信息傳給控制模塊,程序會根據當前監測到的體溫值對比程序中設定的范圍值(范圍內的數值判定為健康)來判斷用戶身體是否健康,當判定出用戶體溫值的參數過高或者過低時,系統會啟動蜂鳴器發出聲響,以此來提醒用戶周圍人及時對用戶進行救助。
華為云平臺實現了設備的接入、數據的分析等功能[6]。首先在華為云平臺中進行設備的注冊。在華為云平臺官網登錄并在“產品”中創建自己的產品。然后對產品里的屬性進行定義。定義完成后,繼續對設備進行注冊,對設備進行功能配置。接著進行編解碼插件的開發,最后對設備進行調試,保證設備可以正確地接入云平臺。將設備與各個模塊都連接好后,通過AT 命令連接華為云,和華為云建立好連接后,進行數據的上傳。通過MQTT 協議發送傳感器所檢測到的數據。
系統初始化以后,NB-IoT 通信模塊就會向華為云平臺發送設備標識碼進行連接。連接成功后,傳感器所采集到的信息就會上傳到華為云平臺。收到了云平臺下發的JSON 格式的反饋后,設備將會把信息轉換成二進制上報給華為云平臺。華為云平臺進行可視化展示。
首先,在靜態情況下接通電源,打開主控制器開關,將手指放在心率血氧傳感器上,采集靜態情況下的心率血氧信息。然后,通過運動來改變心率值,模擬異常的心率血氧信息。當人體心率高于或者低于程序中預先設置的范圍時,蜂鳴器發出聲響;當人體心率處于程序中預先設置的范圍內時,蜂鳴器警報停止。一般情況下成年人的正常心率為60~100 次/分,心率>100 次/分為心率過高;心率<60 分/次為心率過慢。血氧飽和度正常值為95%~99%。靜態情況下,對心率血氧模塊進行測試,測試結果如圖5所示。

圖5 正常情況下心率血氧濃度測試結果
從圖5可以看出,人體在靜態情況下,心率是94,血氧值是96,在預設的閾值范圍內,屬于人體正常的健康數據。
在模擬的異常情況下,對心率血氧模塊再次進行測試,測試結果如圖6所示。

圖6 異常情況下心率血氧濃度測試結果
從圖6可以看出,人體在異常情況下,心率是107,血氧值是94,在預設的閾值范圍外,為人體心率過高且血氧濃度偏低的數據。
在前面的一些基礎準備工作(連接各個模塊、接通電源并放在水平桌面上)做好后,測試體溫監測模塊。首先,打開主控制器開關;然后,先測試室溫來模擬異常情況下的體溫,當人體溫度高于或者低于程序中預先設置的范圍時,蜂鳴器發出警報;這時再用手指放在傳感器上,當人體體溫在程序中預先設置的范圍時,蜂鳴器警報停止。除了體溫外,人還有皮膚表面的溫度。當環境溫度為25℃時,體表溫度平均為32℃。頭頸部、胸部、背部、四肢略有不同。人的額部皮膚溫一般為33℃、手為30℃、腳為27℃。大約相差2~3℃。
在靜態情況下對體溫模塊進行測試,結果如圖7所示。

圖7 體溫正常情況下的測試結果
從圖7可以看出,人體在靜態情況下,體表溫度為34℃,在預設的閾值范圍內,屬于人體體溫正常的數據。
在模擬的異常情況下,對體溫模塊再次進行測試,測試結果如圖8所示。

圖8 體溫異常情況下的測試結果
從圖8可以看出,該異常情況下的人體體表溫度為27.4℃,在預設的閾值范圍外,屬于人體體溫過低的數據。
采集模塊所采集的數據經MQTT 協議,通過NB-IoT 模塊將心率血氧信息、人體溫度信息上傳,用戶可通過網頁端實現對人體數據的訪問。網頁端如圖9所示。

圖9 數據上傳到華為云平臺網頁端
從圖9可以看出,傳輸到華為云平臺網頁端的心率值是75,血氧值是95,溫度值是33.8℃。華為云平臺也可以看到近幾天的歷史數據,這樣可以幫助醫生根據歷史數據去判斷老年人是否健康。如圖10所示。
測試完本監測系統的各個模塊后,就可以對整個系統進行測試。首先需要將本設計的各個模塊連接好,并接通電源。打開開關之后各個模塊開始監測人體各項指標,當人體體溫(34℃±3℃)、心率(60~100)和血氧(95%~99%)高于或者低于程序中預先設置的范圍時,蜂鳴器發出警報。
本文對基于NB-IoT 和華為云的老年人智能安全監護系統進行了研究,使用MAX30100 心率血氧傳感器、DS18B20 溫度傳感器、STM32開發板、NB-IoT 通信模塊、華為云平臺等模塊進行了設計和應用。主要從NB-IoT 和華為云的老年人智能安全監護系統的需求、系統性能方面分析了本設計的可行性,結果表明本系統的性價比和可靠性更高,使用起來更加的方便。最終系統實現了預期的功能和實際要求。