白 娜,李文舉,任少丙
(哈爾濱石油學院,黑龍江 哈爾濱 150027)
隨著人們生活水平的提高,越來越多的人開始關注睡眠健康。 通過新興物聯網思維幫助人們解決睡眠質量問題,對人們的睡眠過程進行數據監測,并且通過科學的數據分析,為人們提供睡眠健康指導分析是非常有必要的。 本文提出的基于單片機的智能睡眠監測系統是利用傳感器對睡眠過程中的5 種數據進行實時監測和統計,再通過數據整合后,上傳至服務器,經過數據分析與數據轉發后,通過移動終端App 向人們傳達睡眠過程分析結果,幫助人們及時關注自己的睡眠情況,通過分析結果,判斷是否出現睡眠障礙問題,并以此來幫助改善睡眠[1-3]。
本設計提出的基于單片機的智能睡眠監測系統主要由硬件端睡眠數據監測部分、云服務端數據處理部分和移動App 終端三大部分組成。
本文提出了一種結合非接觸式和接觸式監測兩者優點的新型智能睡眠監測系統。 通過搭載少量的接觸式傳感器對被監測者心率、心電圖、血氧濃度信息進行監測。 同時,搭載聲音傳感器、壓力薄膜傳感器對被監測者的鼾聲、體動進行監測,豐富睡眠數據的可靠性,以實現更為精準的睡眠信息分析。 系統框如圖1所示。

圖1 系統框
1.2.1 睡眠數據實時監測功能
本系統主要利用物聯網技術、傳感器技術對睡眠相關數據進行實時監控。 通過單片機控制心率脈搏傳感器、心電圖傳感器、聲音傳感器、壓電薄膜傳感器、血氧濃度傳感器,對被監測對象的心率、心電圖、鼾聲、體動、血氧濃度數據進行實時監測,并利用無線傳輸模塊將監測數據實時上傳至云服務器做進一步的分析處理,以實現幫助人們對睡眠過程中的相關情況進行監控[4-7]。
1.2.2 睡眠異常預警功能
若在對睡眠監測對象進行數據監控的過程中,檢測到血氧濃度變化異常,代表病患呼吸不暢,同時結合其他傳感器監測數據對病患的鼾聲頻率、心率變化、心電圖數據進行分析,以判斷監控對象出現間歇性呼吸綜合征、阻塞性呼吸暫停等健康問題。 如果發現異常情況時,會通過手機App 發送報警信息,提醒監護人及時對睡眠監測對象進行看護,以避免危險情況的產生。異常數據也會實時記錄在云服務器中,用戶通過手機App 就可以查看歷史異常信息。 同時,本系統云服務端通過數據接口進行數據交互,可以與其他監管平臺進行數據對接,以實現更為豐富的功能[8]。
1.2.3 睡眠數據分析和遠程監控功能
考慮到整個系統在運行過程中不能對被監測對象的睡眠過程產生干擾,所以本設計通過搭建服務器和移動端App,實現了遠程監控功能。 當硬件設備檢測到睡眠數據后,會通過無線傳輸模塊將數據上傳到服務器,服務器會進行數據轉發,移動端App 可以隨時查詢當前睡眠監測數據。 如果發現被檢測對象出現異常信息,App 會立即生成異常通知,提醒監護人進行查看。 被監測對象睡醒后也可以通過App 查詢歷史睡眠信息,查看分析結果和健康建議[9-11]。
系統采集到的睡眠監測數據利用無線傳輸模塊實時上傳至云服務器。 云服務器中的數據分析接口會針對不同傳感器監測的數據進行睡眠數據處理。 系統主要通過鼾聲分析、體動分析、心電圖分析、血氧濃度分析過程實現睡眠質量分析。
本課題硬件系統電路結構包括核心D1 WiFi 模塊、無線網絡模塊、薄膜微動傳感器、聲音檢測傳感器、心電圖傳感器、血氧濃度傳感器、心率脈搏傳感器等,通過這些傳感器模塊實現對睡眠信息進行監測的功能。 硬件系統電路,如圖2 所示。

圖2 硬件系統電路
D1 WiFi 是一種新興的開發平臺,D1 WiFi 板載ESP8266 無線傳輸模塊。 用戶只需要調用ESP8266的WiFiMulti.h 庫和HTTPClient.h 庫,創建WiFi 連接和HTTP 無線網絡通信,實現無線網絡連接和數據傳輸功能。 D1 WiFi 的核心控制器為ATmega328 處理芯片,其屬于8 位處理器,擁有32 kB 的閃存和讀寫能力,具有多種開放功能。 其帶有5 個模擬信號引腳、15 個數字信號引腳和多個供電引腳,可以完成對傳感器的控制。 數字信號引腳中帶有兩組I2C 引腳,即D4、D5 和D14、D15 引腳,通過SDA 數據線和SCL時鐘線路構成串行總線,對每一個連接到總線的設備定義唯一地址,可以完成多組傳感器數據識別而且相互間互不干擾。
MAX30102 血氧濃度傳感器的額定供電電壓為3.3~5.0 V,可以直接利用D1 WiFi 板載供電,通過檢測探頭直接接觸人體指尖、手掌、耳垂、腕部和胸口的皮膚就可以快速識別人體的心率及血氧濃度信息。 此傳感器采用IIC 通信,需將其SCL、SDA 引腳分別接入主控模塊D13、D14 引腳。
PulseSensor 脈搏心率傳感器封裝體積小、結構簡單,主要由光電模塊和濾波電路構成。 整個傳感器搭載3 個外部引腳,分別為模擬數據輸出、電源正、負極。3 個外部引腳分別接D5 引腳和電源正負極。 連接建立后,傳感器會通過模擬信號引腳輸出采集到的心率模擬值。
為了檢測睡眠中人的心電數據變化,以實現數據全方位檢測,本設計加入了HL8059 心電圖傳感器。HL8059 傳感器可以控制外部分布的檢測電極,實現對運動生物個體心電變化數據的實時檢測、信號濾波、信號放大功能,同時板載A/D 轉換電路,其功耗低、工作狀態穩定,有較好的生物電信號檢測效果。
為實現對被檢測對象睡眠過程中體動數據的檢測,本設計加入薄膜微動傳感器。 當傳感器感知到外界壓力時,傳感器電阻值發生變化,采用電路將傳感器感知壓力變化的壓力信號轉換成相應變化強度的電信號輸出。 這樣通過檢測電信號變化就可以得到被監測對象的體動變化情況。
本系統搭載的聲音檢測傳感器主要用于檢測睡眠環境中的鼾聲信息。 此傳感器基于LM2904 放大器和內置的麥克風,它可以從麥克風中接收到高頻信號并且進行放大和濾波處理,并輸出正包絡。 此傳感器輸出值取決于聲音輸入的電平高低,輸入信號會經過兩次濾波來避免不必要的信號干擾。
硬件設備開始運行,系統進行初始化,同時獲取WiFi 連接,傳感器組開始對睡眠監測數據進行采集,若成功檢測到睡眠數據,D1 WiFi 模塊對數據進行收集、格式化操作,控制無線傳輸模塊通過WiFi 與云服務器建立無線通信;若成功接收到云服務器返回的創建成功Message 信息,D1 WiFi 模塊將格式化后的數據通過WebSocket 數據傳輸協議上傳至云服務端進一步處理。
本設計選擇FLASK 框架來實現所有的Web 功能和數據處理過程。 所有接口用到的模塊安裝完成后,可以試編譯,編譯無問題后,開始對整個后端接口進行編寫。 后端接口采用MVC 設計模式,將model 數據類表、view 視圖邏輯和controller 控制層分開,消除各模塊之間的耦合度。 首先在model.py 模塊編寫數據表結構,然后在view.py 中編寫核心控制邏輯,最后將view功能函數映射到urls.py 中,將接口實例化,最后配置main 方法后編譯運行,通過接口管理工具就可以用url鏈接訪問接口,實現數據交互。 硬件系統實時上傳的數據會經過數據解析、數據驗證,經過匹配算法分析后,將結果數據和原數據按照時間戳的順序存入數據庫中。

圖3 主程序流程
App 主要利用Hybrid 開發框架搭建。 當用戶使用App 時,App 會首先向云服務器FLASK 服務接口發送數據請求,創建長連接,并且接收服務接口返回的睡眠數據,經過JSON 解析后,通過setView 函數向VIEW 頁面的Layout中渲染數據,最終完成整個移動端App 的設計。
本系統是基于單片機的智能睡眠監測系統利用D1WiFi 模塊控制血氧濃度、脈搏心率、心電圖、聲音,對被監測者的血氧濃度、心率、體動、鼾聲、心電圖進行實時監測,同時檢測數據會通過無線網絡上傳至云服務器。 系統通過數據接口接收、解析、處理、存儲硬件系統檢測的睡眠監測數據。 本設計開發了移動端App,利用App 就可以遠程查看被監測者的實時睡眠狀態。 如果系統檢測到異常信息時,App 也會及時發送報警信息,提醒監護人及時照顧被監測者,因此本系統可應用于養老院、臥床患者的睡眠監控。 用戶本人也可以通過App 查看歷史睡眠分析結果。