戴宇軒
摘要:計(jì)算機(jī)信息技術(shù)日新月異,人民對美好生活的向往日益增長。智能家居系統(tǒng)快速發(fā)展,成為引領(lǐng)家居生活的新風(fēng)尚。隨著開源硬件平臺的發(fā)展,以其作為主控系統(tǒng),構(gòu)建智能家居遠(yuǎn)程控制系統(tǒng)成為可能?;贜odeMCU和Arduino開發(fā)板,運(yùn)用Arduino IDE開發(fā)軟件,通過溫度傳感器采集水溫?cái)?shù)據(jù),以智能手機(jī)作為移動(dòng)控制終端,對電熱水器實(shí)施遠(yuǎn)程溫控。系統(tǒng)的順利構(gòu)建,為電子愛好者設(shè)計(jì)個(gè)性化的智能家居系統(tǒng)提供了一定的借鑒。
關(guān)鍵詞:智能家居;NodeMCU;Arduino;Blynk;遠(yuǎn)程控制
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)09-0176-02
Abstract: The computer information technology is changing with each passing day, and the people's yearning for a better life is growing day by day. The rapid development of smart home system has become a new style for leading home life. With the development of open source hardware platform, it is convenient and possible to build a remote control system for smart home automation with a main control system. Based on NodeMCU and Arduino development board, the Arduino IDE development software is used to collect water temperature data through temperature sensor. Then, a smart phone as mobile control terminal is adopted to implement remote temperature control for electric water heater. The construction of this system can provide some suggestions or guidance for the design of personalized intelligent home system for the electronic enthusiasts.
Key words: Smart home automation; NodeMCU; Arduino; Blynk; Remote control
智能家居(Smart Home)是以住宅為平臺,利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的管理系統(tǒng),提升家居安全性、便利性和舒適性。智能家居概念的起源很早,但一直未有具體的建筑案例出現(xiàn),直到1984年美國聯(lián)合科技公司將建筑設(shè)備信息化、整合化概念應(yīng)用于美國康乃迪克州哈特佛市的CityPlaceBuilding時(shí),才出現(xiàn)了首棟的“智能型建筑”,從此揭開了全世界爭相建造智能家居的序幕[1]。
智能家居通過物聯(lián)網(wǎng)技術(shù)將家中的各種設(shè)備連接到一起,實(shí)現(xiàn)家電控制、防盜報(bào)警、環(huán)境監(jiān)測等多種功能。其核心在于在控制端將用戶需求轉(zhuǎn)換成計(jì)算機(jī)語言,計(jì)算機(jī)語言又通過一定的網(wǎng)絡(luò)通訊方式傳輸?shù)皆O(shè)備受控端,受控端再根據(jù)所接收到的計(jì)算機(jī)語言,轉(zhuǎn)換成相應(yīng)的控制指令,控制家居設(shè)備。
進(jìn)入新時(shí)代,隨著計(jì)算機(jī)信息技術(shù)、移動(dòng)互聯(lián)網(wǎng)技術(shù)、物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,同時(shí)與人民日益增長的美好生活需要相適應(yīng),智能家居系統(tǒng)步入發(fā)展的快車道,成為引領(lǐng)家居生活的新風(fēng)尚。2003 年以來,海信、清華同方等公司也相繼加入到智能家居的研究行列。2014年以來,海爾、小米、阿里巴巴等企業(yè)相繼推出了商業(yè)化的智能家電產(chǎn)品,比如,智能空調(diào)、智能冰箱、智能洗衣機(jī)、天貓精靈等。但目前的智能家居系統(tǒng)還缺乏統(tǒng)一明確的國際標(biāo)準(zhǔn),許多公司開發(fā)出的產(chǎn)品都是基于自己組建的網(wǎng)絡(luò)和信息交換協(xié)議,很多產(chǎn)品是針對特定的組網(wǎng)環(huán)境開發(fā)的,部分核心技術(shù)沒有對外公布,技術(shù)復(fù)雜,直接導(dǎo)致了使用范圍的局限性。由于缺乏對應(yīng)的第三方產(chǎn)品,各個(gè)接入設(shè)備之間不能兼容,互操作性差,不利于產(chǎn)品的擴(kuò)充[2]。目前智能家居系統(tǒng)的控制方案與實(shí)現(xiàn)的功能都很多,但一般都過于復(fù)雜和閉源,電子愛好者們難以對其進(jìn)行擴(kuò)展和創(chuàng)新。隨著開源平臺、開源共享庫GitHub以及多種傳感器模塊的出現(xiàn),電子愛好者完全可以通過開源硬件搭建個(gè)性化的智能家居系統(tǒng)[3]。
智能手機(jī)是指像個(gè)人電腦一樣,具有獨(dú)立的操作系統(tǒng),獨(dú)立的運(yùn)行空間,可以由用戶自行安裝第三方服務(wù)商提供的程序,并可以通過移動(dòng)通訊網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入手機(jī)類型的總稱[4]。智能手機(jī)的拓展性深得用戶青睞,開發(fā)者可以通過設(shè)計(jì)各種應(yīng)用程序?qū)崿F(xiàn)智能手機(jī)的智能化與個(gè)性化。智能手機(jī)的逐漸普及,促進(jìn)了移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展?;ヂ?lián)網(wǎng)走向即時(shí)類型后,人人能夠隨時(shí)隨地接入在線,智能手機(jī)成為大眾生活必備品。智能手機(jī)的飛速發(fā)展,使之作為智能家居系統(tǒng)的控制終端成為可能。用戶只需加裝一個(gè)APP,就可以輕松自如的實(shí)現(xiàn)家居控制,操作界面友好,簡單易用實(shí)用。在實(shí)踐中,手機(jī)與接收命令的單片機(jī)控制端可以采用不同的方式進(jìn)行通信,例如WIFI、藍(lán)牙或紅外等。
本文主要介紹一個(gè)基于NodeMCU和Arduino的電熱水器智能遠(yuǎn)程溫控系統(tǒng)。該系統(tǒng)基于開源的NodeMCU和Arduino開發(fā)板,運(yùn)用Arduino IDE開發(fā)軟件,通過溫度傳感器采集水溫?cái)?shù)據(jù),利用藍(lán)牙、互聯(lián)網(wǎng)等傳輸和管理數(shù)據(jù),以智能手機(jī)作為控制終端,對電熱水器實(shí)施遠(yuǎn)程溫控。
1系統(tǒng)功能
本溫控系統(tǒng)主要實(shí)現(xiàn)對“帶電加熱模塊的電熱水器”加熱電源的開關(guān)控制。通過系統(tǒng)綜合運(yùn)行,主要實(shí)現(xiàn)3項(xiàng)功能:
1)利用智能手機(jī)終端,遠(yuǎn)程實(shí)時(shí)查看家中電熱水器水溫。
2)利用智能手機(jī)終端,直接遠(yuǎn)程開啟或關(guān)閉熱水器電源。
3)利用智能手機(jī)終端,遠(yuǎn)程設(shè)定電熱水器目標(biāo)溫度。當(dāng)熱水器實(shí)際水溫低于目標(biāo)溫度,自動(dòng)開啟電源加熱;當(dāng)熱水器實(shí)際水溫達(dá)到或高于目標(biāo)溫度,自動(dòng)關(guān)閉電源。
2系統(tǒng)架構(gòu)
為實(shí)現(xiàn)上述系統(tǒng)功能,本文搭建的電熱水器智能遠(yuǎn)程溫控系統(tǒng)的總體架構(gòu)(如圖1所示),電器端主要由水溫采集處理模塊、數(shù)據(jù)傳輸模塊、系統(tǒng)受控模塊三部分構(gòu)成。遠(yuǎn)程端由智能手機(jī)充當(dāng)控制模塊。
3水溫采集處理模塊
水溫采集處理流程如圖2所示。該模塊硬件包括水溫傳感器和ArduinoNano開發(fā)板。水溫傳感器實(shí)質(zhì)是熱敏電阻,負(fù)責(zé)采集水箱內(nèi)的水溫。ArduinoNano開發(fā)板是溫度處理的核心。本文主要用到了其模擬輸入、計(jì)算和串口通信功能。利用電阻分壓原理,將傳感器測得的電壓連接至ArduinoNano開發(fā)板的模擬引腳,以獲取電壓的數(shù)值;電壓值經(jīng)過開發(fā)板內(nèi)程序換算后,得到轉(zhuǎn)換后的攝氏度水溫?cái)?shù)據(jù)。
溫度采集處理模塊的軟件部分,由Arduino IDE程序設(shè)計(jì),寫入開發(fā)板,實(shí)現(xiàn)溫度數(shù)據(jù)的讀取和處理。
4數(shù)據(jù)傳輸模塊
數(shù)據(jù)傳輸模塊包括本地?cái)?shù)據(jù)傳輸和遠(yuǎn)程數(shù)據(jù)傳輸兩部分。本地?cái)?shù)據(jù)傳輸是指將溫度數(shù)據(jù)從水溫采集處理模塊傳輸至系統(tǒng)受控模塊,由藍(lán)牙主機(jī)HC-05和藍(lán)牙從機(jī)HC-06構(gòu)成,通過藍(lán)牙一收一發(fā)實(shí)現(xiàn)。主、從藍(lán)牙經(jīng)過設(shè)置、配對后,藍(lán)牙模塊可直接與開發(fā)板的串口連接,實(shí)現(xiàn)方便的模塊間傳輸數(shù)據(jù)。采用藍(lán)牙傳輸數(shù)據(jù),是考慮到熱水器水溫傳感器的連接處會(huì)與熱水器電源有一定距離,減去了布線的麻煩。遠(yuǎn)程數(shù)據(jù)傳輸是指將溫度數(shù)據(jù)由系統(tǒng)受控模塊傳輸至遠(yuǎn)程云服務(wù)器。由作為系統(tǒng)受控模塊核心的NodeMCU自帶的Wi-Fi功能模塊承擔(dān)。
5系統(tǒng)受控模塊
系統(tǒng)受控模塊的硬件由NodeMCU開發(fā)板和電源控制電路構(gòu)成。NodeMCU使用串口通信功能,從本地?cái)?shù)據(jù)傳輸模塊接收水溫?cái)?shù)據(jù),自身的Wi-Fi模塊將水溫?cái)?shù)據(jù)通過互聯(lián)網(wǎng)傳輸至Blynk云服務(wù)器,并從Blynk云服務(wù)器接收控制指令。具體原理是通過預(yù)先設(shè)定目標(biāo)水溫,通過比較目標(biāo)水溫和實(shí)際水溫,決定是否需要燒水,或直接決定是否開關(guān)電源,進(jìn)而發(fā)出控制指令,按照指令,NodeMCU開發(fā)板通過數(shù)字引腳控制繼電器的吸合,進(jìn)而控制熱水器電源的開關(guān),實(shí)現(xiàn)自動(dòng)/手動(dòng)溫度控制。(如圖3所示)
智能手機(jī)可以通過預(yù)先安裝Blynk應(yīng)用訪問Blynk云服務(wù)器,進(jìn)而控制熱水器電加熱的電源和溫度設(shè)定,以實(shí)現(xiàn)熱水器的遠(yuǎn)程溫控。
6 Blynk云服務(wù)器和Blynk手機(jī)應(yīng)用
選擇使用Blynk云服務(wù)器,主要是考慮到該云服務(wù)器有專業(yè)維護(hù),且提供免費(fèi)服務(wù)。Blynk是一種能夠通過互聯(lián)網(wǎng)來遠(yuǎn)程監(jiān)測、控制的物聯(lián)網(wǎng)框架。
本系統(tǒng)的遠(yuǎn)程控制終端直接采用了基于智能手機(jī)的Blynk APP應(yīng)用。Blynk APP是一款適合小型開發(fā)板的實(shí)用組合配套工具??梢允褂肂lynk創(chuàng)建精美的界面和掛件來控制微型計(jì)算機(jī)。在智能手機(jī)的Blynk APP應(yīng)用界面上,創(chuàng)建“熱水器控制”模塊(如圖4所示)。該模塊能實(shí)時(shí)顯示遠(yuǎn)程熱水器的水溫;能預(yù)設(shè)熱水器加熱目標(biāo)溫度;能創(chuàng)建熱水器電源“虛擬開關(guān)”。通過安裝在智能手機(jī)上的Blynk應(yīng)用程序,可隨時(shí)隨地查看傳感器數(shù)據(jù),并控制遠(yuǎn)程開關(guān)。
7結(jié)束語
本文采用開源NodeMCU開發(fā)板、Arduino開發(fā)板、智能手機(jī)終端和Blynk APP應(yīng)用,構(gòu)建小型電熱水器遠(yuǎn)程溫控系統(tǒng),獲得了較好的實(shí)際效果。將此設(shè)計(jì)應(yīng)用于自家的“帶電加熱模塊的太陽能熱水器”,方便日常生活使用,操作簡單、系統(tǒng)穩(wěn)定、運(yùn)行可靠、成本低廉。本設(shè)計(jì)的順利實(shí)現(xiàn),為電子愛好者構(gòu)建個(gè)性化的遠(yuǎn)程智能控制平臺提供了一定的參考價(jià)值。
因?yàn)镹odeMCU、Arduino系統(tǒng)開源,使得系統(tǒng)構(gòu)建簡單快捷;兩種開發(fā)板性價(jià)比高、易于取得,使得系統(tǒng)經(jīng)濟(jì)、靈活、實(shí)用;移動(dòng)互聯(lián)網(wǎng)飛速發(fā)展,數(shù)據(jù)傳輸高速高效,使得系統(tǒng)穩(wěn)定、有效;Blynk界面友好,使得系統(tǒng)操作簡便??傊?,系統(tǒng)具有良好的經(jīng)濟(jì)性、擴(kuò)展性、穩(wěn)定性和普及性,應(yīng)用前景廣泛。展望未來,對待不同的家居電器設(shè)備的開關(guān)、同一電器多模式的開關(guān)、多場景的應(yīng)用、多變量的采集傳輸?shù)绕渌^為復(fù)雜的功能實(shí)現(xiàn),還需要在以后的學(xué)習(xí)生活中進(jìn)一步的研究和實(shí)踐。
參考文獻(xiàn):
[1] 強(qiáng)靜仁,張珣,王斌.智能家居基本原理及應(yīng)用[M].武漢: 華中科技大學(xué)出版社,2017.
[2] 崔陽.一種基于Arduino的智能家居控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,40(4):123-125.
[3] 汪震,楊小蘭.基于Android和Arduino智能家居系統(tǒng)設(shè)計(jì)[J]. 軟件導(dǎo)刊,2014,13(12):94-96.
[4] 詹忠山.新編智能手機(jī)原理與維修培訓(xùn)教程[M].北京: 電子工業(yè)出版社,2015.
[5] 孫玉娟.智能家居借勢突圍從智慧城市到美麗中國[J].中國住宅設(shè)施,2013,43(1):86-87.
[6] 林若璽.基于ESP8266平臺的汽車蓄電池電量遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].電腦編程技巧與維護(hù),2016,24(2):35-56.
[7] 禹謝華,鄧林茂,張曉云,等.基于Android和Arduino智能家居控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].山東農(nóng)業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2017,48(4):532-536.
[8] 朱江,吉順如,李淵.基于Arduino的智能家居系統(tǒng)設(shè)計(jì)[J].輕工科技,2015,4(4):77-78.