余云飛,朱得元,章 平
(1.蕪湖職業(yè)技術(shù)學院電氣工程學院,安徽蕪湖241006;2.安徽工程大學計算機與信息學院,安徽蕪湖241000)
隨著網(wǎng)絡(luò)技術(shù)、人工智能、傳感器技術(shù)的發(fā)展,輔以安防和人性化功能需求的智能家居逐步受到家庭用戶的喜愛,迎來新的發(fā)展機遇。物聯(lián)網(wǎng)的出現(xiàn)使智能家居系統(tǒng)功能更加個性化,可實現(xiàn)對家電的遠程控制、安防監(jiān)控等,為家居生活提供全方位的信息交互和資源共享功能。目前國內(nèi)外關(guān)于智能家居的研究及技術(shù)解決方案層出不窮。文獻[1-2]利用協(xié)議棧Z-Stack技術(shù),采用無線模塊進行開發(fā)。但當節(jié)點數(shù)量較多、環(huán)境復雜時,難以實現(xiàn)節(jié)點的精確定位。文獻[3]采用基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法進行仿真分析,當測量與理想值有偏差時,PLC就會命令相關(guān)的執(zhí)行器動作。在文獻[4-5]中以STM 32微控制器為核心,通過手機和紅外遙控作為家居控制終端,數(shù)據(jù)通信采用藍牙技術(shù),受控終端接收到紅外指令后執(zhí)行指定的操作,系統(tǒng)功能較為單一。文獻[6]以智能家居系統(tǒng)的ARRM為核心,以Cortex微控制器通過nRF24L01射頻模塊與終端設(shè)備進行數(shù)據(jù)通信,再通過以太網(wǎng)模塊與Internet連接,實現(xiàn)智能家居的遠程控制。以上智能家居系統(tǒng)的無線控制設(shè)計方案總體結(jié)構(gòu)兼容性不強,不能滿足多種模式的信息傳輸需求。本文主要利用交互式可擴展的開源硬件平臺Arduino[7],以及多種配套傳感器,配合使用范圍最廣的Android手機操作系統(tǒng),搭建個性化的家居中控平臺,利用智能手機對智能家居進行控制。
系統(tǒng)整體架構(gòu)如圖1所示。系統(tǒng)分為Arduino數(shù)據(jù)采集端和移動端兩塊。系統(tǒng)采用的開發(fā)板是Arduino UNOR3,主控微處理器型號是ATmega328p。Arduino數(shù)據(jù)采集主要包括Arduino交互式硬件平臺和可擴展硬件;移動端層面主要是移動智能手機端上的微信公眾號和小程序以及Web端的開發(fā)使用。
控制程序采用Arduino IDE軟件編寫。Arduino IDE具有良好的跨平臺兼容性,可以分別在W indows、Macintosh OSX和Linux等多操作系統(tǒng)運行。應用層開發(fā)借助貝殼物聯(lián)網(wǎng)云平臺來實現(xiàn),用戶可通過USB接口上傳至存儲器中,直接進行編程和通信。
對ESP8266進行透傳設(shè)置,使用USB轉(zhuǎn)TTL模塊的外接引腳與ESP8266相連,如圖2所示。通過串口助手進行固件燒寫,完成透傳設(shè)置固件腳本后,重啟,自動進入透傳模式,連接無線網(wǎng)并登錄貝殼物聯(lián)服務器。
智能控制系統(tǒng)涉及的傳感器較多,其軟件子系統(tǒng)流程也較為復雜,具體流程:當載有多種傳感器模塊電路的Arduino控制板采集到環(huán)境變量參數(shù)后,通過ESP8266W i-Fi模塊實時上傳。智能家居系統(tǒng)根據(jù)用戶的實際需要,由系統(tǒng)主控制板進行實時信號處理,用戶在手機Android客戶端可以清晰了解當前房屋信息。傳感器數(shù)據(jù)與云平臺通信流程圖如圖3所示。ESP8266芯片采用電源管理技術(shù)由邏輯系統(tǒng)降低非必需功耗,在特定需要時可通過編程進行自動喚醒[8]。
圖1 系統(tǒng)整體架構(gòu)圖
圖2 ESP8266Wi-Fi模塊硬件連接圖
圖3 傳感器數(shù)據(jù)與云平臺通信流程圖
設(shè)計中利用Arduino開發(fā)板和傳感器等模塊搭建的硬件平臺子系統(tǒng)主要有溫濕度控制系統(tǒng)、火情監(jiān)控系統(tǒng)、煙霧監(jiān)控系統(tǒng)。
(1)系統(tǒng)電源供電。電路中采用AMS1117-5和LP2985兩款電源管理芯片,固定輸出電壓調(diào)制器工作電路如圖4上方所示,LP2985電源電路的輸入電壓為+5 V,輸出電壓為+3.3 V,用來給數(shù)字電路部分提供+3.3 V電壓,如ESP8266模塊。AMS1117-5封裝為SOT223,為+5 V穩(wěn)壓塊。Arduino UNO采用了ATmega16U2單片機來提供USB轉(zhuǎn)串口功能,芯片內(nèi)置Boot-Loader功能。
(2)溫濕度控制系統(tǒng)及Web端測試。圖4是基于Arduino和ESP8266設(shè)計的溫濕度控制系統(tǒng)。電路中溫濕度傳感器[9]采用DHT11。當系統(tǒng)初始化時,單片機ATmega328P的PB2腳高電平,三極管Q1截止。當超過設(shè)定溫濕度值時,聲光報警,PNP三極管Q1的基極為低電平,U4繼電器HK4100F-DC5V的線圈得電,動合觸點閉合,此時外接風扇轉(zhuǎn)動,進行抽濕降溫。溫濕度控制系統(tǒng)實物圖如圖5所示。
登錄進入貝殼物聯(lián)網(wǎng)站后,進入使用界面。添加智能設(shè)備并進行信息標注,系統(tǒng)自動生成一個“ID”和一個“APIKEY”,程序代碼中須將“SSID”改為自己設(shè)備的“ID”,“APIKEY”改為自己設(shè)備的“APIKEY”,系統(tǒng)根據(jù)這兩個關(guān)鍵的信息來識別設(shè)備。代碼燒寫成功經(jīng)ESP8266上傳后,可看到平臺界面主要包括智能設(shè)備、數(shù)據(jù)接口、報警提示內(nèi)容。圖6數(shù)據(jù)接口一覽表中,“在線狀態(tài)”一列中可看到當前“在線”的自主設(shè)備,表示溫濕度監(jiān)測設(shè)備已經(jīng)連接上貝殼物聯(lián),之后便可以通過設(shè)備對話界面對設(shè)備進行操控。如果想在移動端查看外接傳感器的數(shù)據(jù),可以添加數(shù)據(jù)接口,系統(tǒng)會自動生成相應的接口“ID”號。連接好電路,通過Arduino IDE,重新燒寫代碼經(jīng)ESP8266上傳后,在“控制模式”選擇“圖表”,這樣就可以實時查看連接上貝殼物聯(lián)新添加的接口數(shù)據(jù)。
(3)室內(nèi)火情監(jiān)控系統(tǒng)及Web端測試。采用火焰?zhèn)鞲衅骷盁熿F氣體傳感器MQ135來監(jiān)測火情,顯示器為0.96英寸黃藍雙色OLED屏。OLED屏控制芯片是SSD1306,它采用IIC接口,電源VCC兼容+3.3 V,其兩根數(shù)據(jù)線SCL、SDA分別接Arduino板上ATmega328P芯片的15腳、14腳?;鹎楸O(jiān)控系統(tǒng)電路實物如圖7(a)、(b)所示。煙霧氣體傳感器MQ135與火焰?zhèn)鞲衅髂M輸出口分別接到Arduino開發(fā)板的模擬端口A0和A1[10]。檢測到火焰時,輸出信號的電壓會迅速升高[11],當超過設(shè)定閾值,則繼電器的線圈得電,控制高速風扇等執(zhí)行元件進行滅火。用戶還能及時收到報警的提示信息,體現(xiàn)人性化的終端設(shè)計。系統(tǒng)編譯成功后,也可在IDE點擊串口監(jiān)視器,查看COM口端的模擬數(shù)據(jù)輸出。
圖4 系統(tǒng)電路原理圖
圖5 溫濕度控制系統(tǒng)實物圖
圖6 智能設(shè)備及數(shù)據(jù)接口一覽表
圖7 火情監(jiān)控系統(tǒng)電路圖
(4)微信端及手機App測試。平臺可以關(guān)聯(lián)微信小程序,進行微信接口測試,綁定用戶信息,按照平臺要求輸入相應命令,測試通過。它還可以與Web端同步,登錄系統(tǒng)后,同樣能實現(xiàn)對傳感器數(shù)據(jù)的查看和對傳感器的遠程控制。在Android手機上安裝貝殼物聯(lián)App,綁定相應信息,登錄后,打開手機設(shè)置的網(wǎng)絡(luò)熱點,添加完設(shè)備及接口后,ESP8266的Wi-Fi模塊上傳數(shù)據(jù)到服務器,采集到的數(shù)據(jù)以數(shù)字或者折線圖形式直觀地展現(xiàn)出來。手機上可看到相應設(shè)備連接情況,如圖8所示。點擊連接的設(shè)備,可查看兩個接口對應的傳感器數(shù)據(jù),如圖9所示。點擊火焰強度接口,可查看實時數(shù)據(jù),如圖10所示。系統(tǒng)設(shè)置火情報警,當發(fā)生火災時,系統(tǒng)可通過QQ郵箱或微博將警報信息發(fā)送給用戶,并及時采取措施處理。
圖8 手機上設(shè)備連接情況
圖9 接口對應的傳感器數(shù)據(jù)
圖10 火焰?zhèn)鞲衅鲾?shù)據(jù)
本文提出了以Arduino為基礎(chǔ)的多終端智能云端家居設(shè)計。通過對多種傳感器采集的數(shù)據(jù)進行處理,實現(xiàn)感知和掌控周圍環(huán)境;同時通過網(wǎng)站和手機的移動終端實現(xiàn)對在線設(shè)備的及時控制。在系統(tǒng)開啟運行后,Arduino開發(fā)板將通過傳感器實時監(jiān)測數(shù)據(jù),同時通過ESP8266W i-Fi模塊實時將數(shù)據(jù)信息發(fā)送給云平臺。由于采用開源環(huán)境,系統(tǒng)的搭建過程簡單快捷,穩(wěn)定性及效果可達到商用系統(tǒng)。系統(tǒng)利用Wi-Fi無線通信技術(shù),免去了傳統(tǒng)的智能家居的復雜布線,解決了設(shè)備接口兼容性差的問題。今后還將探索更強大的Wi-Fi模塊,實現(xiàn)一對多傳感器數(shù)據(jù)的處理。