基于 Arduino 的臥室智能喚醒系統(tǒng)
引 言
隨著生活節(jié)奏的加快和工作壓力的增大,現(xiàn)代人的睡眠普遍不足,工作日早上很難自然睡醒,往往需要鬧鐘來強制人從睡眠中醒來。人的自然蘇醒是一個緩慢的過程,如果突然被驚醒將會引起頭疼和精神不振等癥狀,對人體健康不利。目前市面上有很多鬧鐘,大都通過聲音、振動、氣味等進行喚醒。其設置不夠人性化,喚醒方式粗暴,讓人從睡意中很不情愿地醒過來,不能保證睡眠質量。這些喚醒工具普遍形式單一,實際使用中容易出現(xiàn)睡過頭的現(xiàn)象,達不到喚醒的目的。同時缺乏調整措施,無法判斷人是否已經起床,不夠人性化。近年來,智能系統(tǒng)的研究和廣泛應用已經促使社會進入了更為人性化的領域 [1]。文獻 [2] 提出一款智能鬧鐘, 實現(xiàn)了溫柔喚醒功能,文獻 [3-5] 也進行了智能喚醒系統(tǒng)的相關研究。這些研究成果填補了國內相關領域的多項空白, 為人性化智能家居設計提供了新的思路和技術支持,很大程度上推動了國內智能化系統(tǒng)的發(fā)展進步[6]。
針對目前鬧鐘設計中存在的人性化關懷不夠,以及欠缺消費者使用體驗等問題 [7-8],本文設計一款臥室中使用的智能喚醒燈,幫助人們自然蘇醒,并通過手機 APP 為其提供個性化的信息提醒服務。此款臥室智能喚醒燈可以通過手機APP 進行個性化燈光亮度和音樂選擇,并提供必要的個性化信息提醒服務 [9]。通過燈光亮度和音樂音量的控制,模擬日出日落,輔助用戶自然蘇醒。同時,此款燈可感應人的進出, 當人進入房間時,燈光將自動打開 ;當人離開房間時,燈光將自動關閉。
1 臥室智能喚醒燈系統(tǒng)結構
臥室智能喚醒燈系統(tǒng)結構如圖 1 所示。其中,Arduino 板及拓展模塊為系統(tǒng)的控制中心,負責程序的執(zhí)行,接收傳感器發(fā)送的數(shù)據(jù)以及發(fā)送 LED 燈與音頻模塊的控制指令, Arduino UNO R3 如圖 2 所示。紅外模塊通過數(shù)據(jù)是否有變化判斷臥室是否有人活動,實現(xiàn)人進燈開,人走燈滅的功能。WiFi 模塊將智能喚醒燈系統(tǒng)接入網(wǎng)絡,并實現(xiàn)與手機 APP 的連接。音頻模塊與揚聲器協(xié)同作用,播放語音。LED 燈是本文系統(tǒng)的光源。光敏傳感器通過感應光照強度判斷天黑或天亮,溫濕度傳感器則可直觀地觀察臥室溫濕度。以上各個模塊協(xié)同作用,組成了臥室智能喚醒燈系統(tǒng)。
圖 1 臥室智能喚醒燈系統(tǒng)結構
圖 2 Arduino UNO R3
系統(tǒng)工作流程如圖 3 所示。首先,接入電源啟動系統(tǒng), 連接 WiFi,各傳感器模塊開始工作,并將采集到的數(shù)據(jù)發(fā)送到 Arduino 模塊中進行數(shù)據(jù)處理。其次,系統(tǒng)根據(jù)接收到的手機 APP 控制指令,改變或維持當前工作狀態(tài)。最后,通過斷開電源或手機 APP 控制的方式關閉該系統(tǒng)。手機 APP 通過 ESP8266 WiFi 模塊 [10] 實現(xiàn)與智能喚醒燈系統(tǒng)的通信。手機 APP 不僅能控制燈光的開啟與關閉,還可選擇音樂、音量及燈光亮度的漸變變化范圍。用戶可通過手機APP 設置人性化的起床音樂與燈光亮度,且該系統(tǒng)還支持在線音樂選擇。
圖 3 系統(tǒng)工作流程
該系統(tǒng)各功能的具體實現(xiàn)方法如下。
(1)燈光鬧鐘功能
系統(tǒng)利用脈寬調制基本原理對燈光亮度進行調制 [11]。LED 燈在設置的鬧鐘時間點之前自動模擬自然日出,逐漸變亮,在鬧鐘音樂響起時,亮度達到最大值。漸變的燈光使得用戶能夠逐漸適應,避免了傳統(tǒng)鬧鐘突然鬧醒的不適。
(2)音樂播放功能
系統(tǒng)設計了語音模塊與揚聲器模塊,用戶通過手機 APP 選取該系統(tǒng)自帶音樂為鬧鐘音樂,當?shù)竭_鬧鐘時間時,音樂自動響起,實現(xiàn)了個性化鬧鈴的功能。
(3)智能開關功能
系統(tǒng)通過紅外傳感器模塊、光敏傳感器模塊及溫濕度傳感器模塊,獲取多種影響人體睡眠的數(shù)據(jù),實現(xiàn)智能喚醒燈的智能開關功能。紅外傳感器模塊根據(jù)數(shù)據(jù)是否有變化判定用戶是否在臥室活動,自動控制鬧鐘和燈光。光敏傳感器模塊協(xié)同紅外模塊,根據(jù)外界光線變化自動控制燈光亮滅。當夜間或外界光線較暗時,用戶進入房間后,喚醒燈將自動亮起燈光。此外,通過溫濕度傳感器模塊可直觀地了解當前房間的溫濕度,并在 LED 顯示屏上顯示數(shù)據(jù)和提醒信息,輔助用戶選擇開關空調和模式調整。
(4)無線遠程控制功能
WiFi 模塊是網(wǎng)絡通信、數(shù)據(jù)交互的基礎,本文系統(tǒng)利用該模塊實現(xiàn)手機 APP 對智能喚醒燈系統(tǒng)的遠程控制,如設置燈光強度、選擇音樂、設置鬧鐘時間和模式、啟動或關閉系統(tǒng)等。
2 服務器程序設計
在智能喚醒燈整體架構中,服務器程序寫入手機 APP 中, 通過 WiFi 連接到智能喚醒燈系統(tǒng)。WiFi 模塊根據(jù) TCP/IP 協(xié)議 [12] 將用戶設置的鬧鐘時間、音樂和備忘事件等數(shù)據(jù)發(fā)送至 Arduino 開發(fā)板,Arduino 開發(fā)板根據(jù)接收到的數(shù)據(jù)進行處理,在用戶設置的時間點播放用戶選擇的音樂及備忘事件。服務器程序使用易安卓 [13] 編寫,可多線程運行,實現(xiàn)智能喚醒燈同時與多個客戶(手機 APP)進行數(shù)據(jù)交互的功能, 便于家庭中多成員的共同使用。智能喚醒燈、服務器與 APP 架構如圖 4 所示。
圖 4 智能喚醒燈、服務器與 APP 架構
系統(tǒng)在服務器程序中加入取現(xiàn)行時間函數(shù),因此,服務器將在用戶設置的鬧鐘時間之前向喚醒燈發(fā)送亮燈指令,當現(xiàn)行時間等于用戶設置時間時,服務器向喚醒燈發(fā)送播放音樂指令,音樂播放完畢發(fā)送播放備忘事件指令。數(shù)據(jù)接收端的部分代碼如圖 5 所示。
圖 5 數(shù)據(jù)接收端的部分代碼
3 手機 APP 設計
在智能喚醒燈系統(tǒng)中,手機 APP 采用基于 Google 完全可視化編程語言 GoogleBlockly 的中文可視化安卓編程 - 易安卓(E4A)開發(fā)平臺。手機 APP 是用戶使用喚醒燈的第一媒介,用戶通過 APP 控制喚醒燈的不同工作狀態(tài),滿足各種個性化需求。手機 APP 界面如圖 6 所示。
在實際使用中,手機 APP 首先啟動服務器,用戶可設置鬧鐘時間,選擇鬧鐘音樂,調節(jié)音量大小,還可通過文本或語音錄入備忘事件,在鬧鐘響后,進行重要事件提醒。設置完成后,手機 APP 服務器通過 WiFi 通信的 TCP/IP 協(xié)議向基于 Arduino 的系統(tǒng)段發(fā)送各部分設置文件數(shù)據(jù),完成系統(tǒng)段各功能的設置。用戶還可利用手機APP 端的滑動開關控制喚醒燈的亮滅。
圖 6 手機 APP 界面
4 結 語
本文基于對 Arduino 硬件及其他硬件模塊的使用,結合服務器與手機 APP 的運用,設計了臥室智能喚醒系統(tǒng)。該系統(tǒng)利用多種傳感器協(xié)同作用以采集臥室的溫濕度、光照強度等多種對睡眠有影響的數(shù)據(jù),并根據(jù) PWM 基本原理實現(xiàn)燈光漸變,采用 WiFi 無線通信技術實現(xiàn)數(shù)據(jù)通信,通過手機APP 對臥室智能喚醒燈實現(xiàn)遠程控制,以此實現(xiàn)臥室睡眠環(huán)境和喚醒燈的智能調整。通過光照和音樂的結合解決了當前大多語音鬧鐘強制叫醒人們帶來的健康隱患及光照鬧鐘叫不醒的問題,給用戶提供了更加方便的操作模式,建立了個性化且符合人類自然蘇醒方式的智能喚醒系統(tǒng),提高了人們的生活質量。