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