前言:尋找寫作靈感?中文期刊網用心挑選的Arduino下自適應助眠系統設計探析,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:針對目前主流助眠系統只注重數據的檢測而非睡眠的矯正,導致普通用戶單憑專業性較強的睡眠檢測數據無法得知自己的睡眠狀況,更無從改善自身睡眠質量的缺陷,文中設計了一款基于arduino的自適應助眠系統。通過傳感器采集室內溫濕度、光照度、氣壓等,并經由WiFi模塊上傳至程序端,程序根據采集到的數據修改內置的睡眠模型,進而借助Arduino實現對空調、加濕器、風扇、燈光等的控制,循環重復上述過程,可達到自適應調節的效果。測試結果表明,所設計系統可以在一般環境中穩定運行,并能起到較好的助眠效果。
關鍵詞:Arduino;助眠系統;睡眠環境監測;物聯網;傳感器網絡;睡眠模型
0引言
如果每天按睡眠8h計算,那么人的一生有1/3的時間是在睡眠中度過的。睡眠質量的好壞與人的心理和身體健康息息相關,而影響睡眠質量的重要因素之一就是睡眠環境。隨著物聯網技術的迅猛發展,帶動了傳感器網絡和智能家居的快速發展[1]。智能家居基于物聯網等技術,對家居環境內的家電控制、環境監控、信息處理、娛樂等功能進行集成化管理[2],已成為人、物、環境之間互聯互通的重要表現[3]。現有與睡眠相關的物聯網產品幾乎均只能對睡眠質量進行監測,僅由傳感器采集睡眠數據,雖然可以得到睡眠質量的數據,但對改善睡眠質量并無裨益。因此依托智能家居的助眠系統便應運而生。本文系統以改善睡眠質量為突破點,借助傳感器網絡進行數據采集,通過手機端程序進行數據分析,并經由Arduino實現對智能家居的控制,實時自適應調節睡眠環境,以達到改善睡眠質量的目的。
1系統整體架構
基于健康行為學理論,并查閱相關文獻[4]對影響用戶睡眠質量的影響因子進行調查研究,并將其結果轉化為計算機可以處理的數據。系統架構如圖1所示,主要包括如下幾方面。(1)監測系統:運用傳感器網絡對睡眠環境(例如環境光、溫濕度、氣壓等)進行實時監測,并通過WiFi模塊將數據上傳至小程序端。(2)矯正系統:程序端接收到監測系統傳來的數據之后,通過Arduino控制智能家居(米家),對用戶睡眠環境中偏離正常值的環境因子進行矯正。(3)反饋系統:通過手機內置的陀螺儀對用戶睡眠狀態進行檢測[5],并作為反饋因子作用于前述矯正系統,實現系統的自適應調節。
2系統硬件設計
2.1傳感器網絡。2.1.1BMP180氣壓傳感器BMP180是一款高精度、小體積、超低能耗的氣壓傳感器[6],其工作電壓為1.8~3.6V,典型工作電壓為2.5V,內部包含電阻式壓力傳感器、A/D轉換器和控制單元,其中,控制單元包括E2PROM和I2C接口。讀取BMP180時會直接傳送沒有經過補償的溫度值和壓力值,而在E2PROM中則儲存了176位單獨的校準數據,這些數據將對讀取的溫度壓力值進行補償,176位的E2PROM被劃分為11個字,每個字16位,這樣就包含有11個校準系數,每個器件模塊都有自己單獨的校準系數,在每一次計算溫度、壓力數據之前,單片機先讀出E2PROM中這些校準數據,然后再開始采集溫度數據和壓力數據。2.1.2DHT11溫濕度傳感器DHT11是一款有已校準數字信號輸出的溫濕度傳感器[7],尺寸為28mm×12mm×7.2mm,其濕度精度為±5%RH,溫度精度為±2℃,濕度量程為20%RH~90%RH,溫度量程為0~50℃,它的數據端口帶上拉電阻,連線長度小于20m時使用5kΩ的上拉電阻,采用3.3V供電時連線長度不得大于1m,必要時在VCC和GND間連接一個0.1µF的電容用于去耦濾波。2.1.3HC-SR04超聲波測距模塊HC-SR04超聲波測距模塊提供了2~400cm的非接觸式距離,性能穩定、測量精度高[8]。HC-SR04需要提供一個10µs以上的脈沖觸發信號來激活模塊進入工作狀態,進入工作狀態后,模塊內部發出8個40kHz周期電平并檢測回波,當檢測到有回波信號時輸出回響信號,回響信號脈沖寬度與所測距離呈線性相關,為了防止發射信號對回響信號的干擾,觸發信號周期取60ms以上。2.1.4WiFi模塊WiFi模塊保持了ESP-12F的優勢。ESP-12F使用的PCB板層為四層,使用上更加穩定,創樂博公司對其進行升級,增加了WiFi模式和遠程模式。WiFi模式下該模塊產生一個局域網,手機在同一個局域網內控制該模塊;而遠程模式下只需要模塊接入本地的WiFi,理論上就可以實現手機APP遠程控制該模塊。2.1.5雨滴傳感器雨滴傳感器是一個模擬/數字輸入模塊,也叫雨水、雨量傳感器,常用于農業[9]檢測是否下雨及雨量的大小,轉成數字信號(DO)和模擬信號(AO)輸出,AO模擬輸出可以連接單片機的模擬I/O口,檢測滴在上面的雨量大小。DO數字輸出可以連接單片機的數字I/O口,檢測是否有雨。2.1.6光敏傳感器光敏傳感器是對外界光信號或光輻射有響應或轉換功能的敏感裝置。光敏傳感器是利用光敏元件將光信號轉換為電信號的傳感器,它的敏感波長在可見光波長附近,包括紅外線波長和紫外線波長。光傳感器不只局限于對光的探測,它還可以作為探測元件組成其他傳感器,對許多非電量進行檢測,只要將這些非電量轉換為光信號的變化即可。
2.2效應器網絡。考慮到可靠性和成本,本文選擇米家效應器[10]。米家基于家庭網關和系統軟件建立智能家居平臺[11],在測試中表現優異。但由于米家暫時不支持個人開發者接入,因此本文選擇點燈科技的Blinker庫作為中繼站,接入小愛音響,進而接入米家智能家居系統,小程序通過前述傳感器網絡的數據智能調度米家設備,實現環境調節。
3系統軟件設計
助眠系統通過ArduinoIDE集成環境完成對睡眠環境數據的采集和處理,系統工作流程如圖2所示。系統工作步驟具體如下:將WiFi模塊和傳感器接入Arduino開發板之后,各個模塊開始初始化并準備接受ArduinoIDE信號輸入;ArduinoIDE信號經過串口指令發送給Arduino開發板和各個模塊;手機通過APP輸出規定標準廣播信號,WiFi模塊識別信號并開始執行操作;各個傳感器傳回檢測到的睡眠環境變化數據。
3.1WiFi模塊和手機連接。綜合性能和成本,本項目最終采取創樂博公司提供的通信解決方案。通信方案有局域網和遠程模式兩種連接方式,由于本系統要求持久的信號連接且信號控制的范圍較大,因此選擇遠程模式。在連接遠程模式之前,先要將WiFi模塊的開關撥到局域網模式,等待WiFi模塊上的指示燈長亮,說明已產生熱點信息,通過手機搜索熱點,再將WiFi模塊的開關撥到遠程模式,指示燈快速閃爍說明正在配對,輸入WiFi密碼和模塊密碼之后,控制手機產生一個廣播信號,當WiFi模塊指示燈的閃爍頻率變慢,說明連接成功。
3.2手機和各個模塊傳輸通信。手機發送的信息由WiFi模塊識別,而WiFi模塊和手機的通信滿足規定的格式化輸出,在該格式化的規劃內實現自由通信。遠程控制RGB燈的輸出輸入格式如圖3所示。在圖3中:設備發送的數據以“#”結尾;手機發送的數據以“^”結尾;“$”符號后為模塊的名稱;RGB代表紅、綠、藍三通道的顏色占比;Arduino開發板讀取到WiFi模塊中的數據之后,會控制I/O輸出,最終控制RGB燈不同顏色的變化。經測試,傳感器模塊數據可以上傳到手機APP中保存,存儲于數據庫中方便后續分析和數據處理。
3.3可視化界面的使用。在程序端輸入設備ID,即WiFi模塊密碼,便可進入后臺數據界面。在界面上可以發送手機信號,顯示采集的傳感器參數,方便用戶查看睡眠環境的參數,同時也有利于程序迭代。遠程溫濕度采集與曲線的可視化界面如圖4所示。
3.4系統測試。各個傳感器模塊均搭建完成并經過多次的環境測試和數據采集后,與集成度較高的小米傳感器相比,該系統傳感器對室內環境變化響應快,數據和米家傳感器一致,同時,可視化界面的數據樣本采集快、顯示迅速,APP運行穩定,該系統可以滿足用戶的長期使用需求,未出現不良記錄的現象。所有數據均存儲于本地服務器后臺,供后期分析睡眠質量的影響因素,為改善睡眠環境提供建議,以達到改善用戶睡眠質量的目的。同時,考慮到心理因素對于睡眠質量的影響(例如工作壓力)[12],在程序端加入了白噪音,通過舒緩的音樂引導用戶減輕壓力,提高睡眠質量。
4結語
本文采用Arduino開發板、WiFi模塊和手機端程序設計了高效率、低成本、高可靠性、高精度的自適應助眠系統。經一定規模樣本測試后證明,本文所設計系統可以在一般環境中正常運行,并能起到較好的助眠效果。
作者:陶恒屹 湯志曹 車行 單位:四川大學