郝潔 趙凌峰 梁毓豪 西北民族大學(xué)電氣工程學(xué)院
近年來(lái),物聯(lián)網(wǎng)逐漸成為全球關(guān)注的熱點(diǎn)領(lǐng)域,作為物聯(lián)網(wǎng)中重要的一環(huán),智能家居以物聯(lián)網(wǎng)為依托,將家中各類電器關(guān)聯(lián)在了一起,具有了多組件聯(lián)動(dòng)、暖氣定時(shí)通斷、遠(yuǎn)程控制、自動(dòng)定時(shí)等功能。同時(shí),因?yàn)槠涔δ艿膹?fù)雜多樣,傳統(tǒng)鎖具已經(jīng)無(wú)法完成一些比較復(fù)雜場(chǎng)景下的用戶對(duì)被控對(duì)象的查看,使用等權(quán)利。
應(yīng)運(yùn)而生的就是智能開關(guān)控制系統(tǒng)。該系統(tǒng)作為一個(gè)控制和管理平臺(tái),不僅可以展示產(chǎn)品所處的環(huán)境溫度及濕度,而且還能通過配置開關(guān)狀態(tài)來(lái)實(shí)現(xiàn)遠(yuǎn)程控制,提高了原有系統(tǒng)的靈活性和可維護(hù)性??梢钥闯?,智能開關(guān)系統(tǒng)在智能家居中極具重要性。在我們?nèi)粘I钪?,方便可行成為我們所希望智能家居所?yīng)該具有的功能,本文以方便可行為前提,以物聯(lián)網(wǎng)為依托,通過手機(jī)APP遠(yuǎn)程控制ESP-12F引腳的高低電平,該引腳與繼電器相連,繼電器作為開關(guān),控制所嵌入設(shè)備的通斷。
經(jīng)過各階段的全面分析,智能開關(guān)控制系統(tǒng)由以下幾個(gè)模塊構(gòu)成。ESP-12F模塊,繼電器模塊,DHT11模塊,OLED 屏幕等模塊。在項(xiàng)目實(shí)現(xiàn)過程中,首先用IDEA軟件進(jìn)行APP程序編寫,利用百度云物聯(lián)網(wǎng)核心套件檢測(cè)APP是否在線,直到成功在線表明軟件方面正常,再使用Eclipse軟件編寫ESP-12F上的程序,同樣利用百度云物聯(lián)網(wǎng)核心套件檢測(cè)ESP8266是否在線,直到成功在線表明硬件方面正常。最后我們根據(jù)畫出的原理圖導(dǎo)出PCB圖,進(jìn)行合理的排版后交給工廠進(jìn)行打印,最后嵌入到所需控制的家電等設(shè)備中。智能開關(guān)控制系統(tǒng)采用百度云的規(guī)則引擎進(jìn)行消息流轉(zhuǎn),將APP端的消息轉(zhuǎn)發(fā)到ESP8266,然后ESP8266通過改變引腳的高低電平來(lái)改變繼電器的狀態(tài),從而控制所嵌入設(shè)備的通斷。智能開關(guān)控制系統(tǒng)具備良好的通用性,靈活性,實(shí)時(shí)性及易于操作性。
智能開關(guān)控制系統(tǒng)設(shè)計(jì)的總體設(shè)計(jì)框圖如圖1所示,本系統(tǒng)以ESP8266為主控制器模塊,將溫濕度傳感器所收集的數(shù)據(jù)經(jīng)過IIC通訊傳給OLED屏幕顯示出來(lái),同時(shí)ESP8266一直在等待APP發(fā)送電源開關(guān)指令,一旦檢測(cè)到發(fā)送的指令,立刻判斷是否與當(dāng)前狀態(tài)相反,如果相反則執(zhí)行操作,相同則保持不變。
圖1 總體設(shè)計(jì)框架
本系統(tǒng)采用有安信可科技公司開發(fā)的ESP-12F作為主控制器,處理消息的流傳以及控制引腳的高低電位。ESP-12F擁有業(yè)界領(lǐng)先的超低功耗32位MCU,并將其封裝在該模塊的核心處理器中。這使該模塊在體積小于普通MCU的同時(shí),性能也得到了進(jìn)一步提升。該模塊擁有的16位精簡(jiǎn)模式使其操作方式更為簡(jiǎn)單,方便使用者進(jìn)行二次開發(fā),同時(shí)也可接入到云端服務(wù)器,實(shí)現(xiàn)遠(yuǎn)程控制。
ESP-12F Wi-Fi 模塊支持規(guī)范的 IEEE802.11 b/g/n 協(xié)議,完整的 TCP/IP 協(xié)議棧。以提供較大的實(shí)用性,為ESP-12F WiFi設(shè)備嵌入其它系統(tǒng)提供可能。
本系統(tǒng)采用DHT11模塊監(jiān)測(cè)設(shè)備所處環(huán)境溫濕度情況,DHT11是一款能夠直接讀出數(shù)字信號(hào)的溫濕度傳感器。 其濕度的精度+-5%RH,溫度+-2℃,濕度所測(cè)范圍20-90%RH, 溫度所測(cè)范圍0~50℃。能夠滿足大部分環(huán)境下的要求,對(duì)于極端環(huán)境,我們也設(shè)有提示,希望使用者在操作時(shí)注意當(dāng)前環(huán)境是否具有可操作性。
本系統(tǒng)采用0.96寸的OLED顯示器模塊顯示DHT11所采集的溫濕度數(shù)據(jù)。OLED 屏幕具有可視角度大、功耗低、具有自發(fā)光、不需要背光源,而OLED的功耗低使其更加適合應(yīng)用于本系統(tǒng),使整體能耗下降。
本系統(tǒng)還存在電源電路,按鍵指示燈電路,USB轉(zhuǎn)TTL電路,復(fù)位電路,外設(shè)接口電路。這些共同構(gòu)成了本系統(tǒng)的控制電路。
電源電路模塊使用18650鋰電池,該電池具備重量輕、容量大、無(wú)記憶效應(yīng)等長(zhǎng)處,因此得到了廣泛應(yīng)用。本項(xiàng)目采用兩節(jié)18650鋰電池,該電池一節(jié)輸出3.7V,經(jīng)過端口時(shí)整合為5V。通過Micro USB接口輸入電壓。同時(shí)當(dāng)需要修改一些系統(tǒng)參數(shù)時(shí)Micro USB接口也可以充當(dāng)數(shù)據(jù)傳輸接口。
復(fù)位電路可以處理突發(fā)事件,防止程序跑飛、停止運(yùn)轉(zhuǎn)等情況的出現(xiàn)。外設(shè)接口用于擴(kuò)展,本系統(tǒng)將DHT11接入到外設(shè)接口。按鍵指示燈電路及USB轉(zhuǎn)TTL電路與燒錄程序相關(guān)。
本系統(tǒng)的數(shù)據(jù)收集及顯示模塊如圖2所示。
圖2 數(shù)據(jù)收集及顯示模塊
本系統(tǒng)使用Android Studio進(jìn)行編程與導(dǎo)入到手機(jī)中,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。
APP界面主要包括4大區(qū)域,最上面的圖片文字展示區(qū)域,中間的電源開關(guān)區(qū)域,下面的溫濕度數(shù)據(jù)區(qū)域,最下面的繼電器狀態(tài)區(qū)域。具體如圖3所示。
圖3 APP界面展示圖
在AndroidManifest.xml文件里面設(shè)置網(wǎng)絡(luò)權(quán)限,使APP允許訪問網(wǎng)絡(luò)權(quán)限和打開網(wǎng)絡(luò)套接字。在activity_main.xml文件中設(shè)置APP界面布局及其ID名稱便于與ESP-12F所傳數(shù)據(jù)進(jìn)行綁定。在MainActivity.java文件里面接收和發(fā)送數(shù)據(jù),通過百度云物聯(lián)網(wǎng)平臺(tái)進(jìn)行消息流傳,使ESP-12F收到改變繼電器狀態(tài)的消息。
本系統(tǒng)使用Eclipse進(jìn)行編程,然后將.c文件編譯生成.hex文件導(dǎo)入到ESP-12F。其中mqtt_config.h為存放百度云的ID,用戶名,用戶密碼等配置信息,user_main.c存放設(shè)置百度云物影子MQTT的相關(guān)參數(shù),以及收到APP端所發(fā)消息后的應(yīng)對(duì)反應(yīng)等。
本系統(tǒng)采用百度云物聯(lián)網(wǎng)核心套件 IoTCore,IoTCore具有強(qiáng)大的競(jìng)爭(zhēng)優(yōu)勢(shì),用戶可依靠核心套件能力疾速創(chuàng)建物聯(lián)網(wǎng)服務(wù)的實(shí)例,實(shí)現(xiàn)唯一命名空間億級(jí)設(shè)備接入與管理,安全可靠地連接設(shè)備與云端而不必再為設(shè)備操心。核心套件提供包括上報(bào)采集數(shù)據(jù)、計(jì)算函數(shù)、流式計(jì)算、AI推理在內(nèi)的一系列功能支撐,并可實(shí)現(xiàn)多數(shù)據(jù)多目的地的云端消息流轉(zhuǎn),達(dá)到邊云融合一體的處理方案。
IoTCore的物可視功能可以使用拖拽式編程,只需將核心控件如儀表盤與物聯(lián)網(wǎng)流式數(shù)據(jù)進(jìn)行對(duì)接,即可實(shí)現(xiàn)數(shù)據(jù)可視化,具體界面如圖4所示。
圖4 網(wǎng)頁(yè)端展示界面
程序流程圖如圖5所示:
圖5 程序流程圖
系統(tǒng)測(cè)試的目的在于判斷預(yù)期結(jié)果與實(shí)際結(jié)果是否相符,本文從三方面入手,包括實(shí)時(shí)數(shù)據(jù)上報(bào)的準(zhǔn)確性、初始化狀態(tài)是否正常、APP遠(yuǎn)程控制功能是否正常。最終測(cè)試結(jié)果如表1所示。
表1 系統(tǒng)測(cè)試方案及結(jié)果
根據(jù)測(cè)試結(jié)果,本項(xiàng)目實(shí)物設(shè)計(jì)基本符合預(yù)期設(shè)計(jì)目標(biāo)。
受限于服務(wù)器的消息刷新頻率,網(wǎng)頁(yè)端及APP端溫濕度數(shù)據(jù)無(wú)法與設(shè)備端完全同步。目前,智能開關(guān)系統(tǒng)還無(wú)法全場(chǎng)景使用,仍需要對(duì)部分特殊環(huán)境進(jìn)行進(jìn)一步適配。但面對(duì)大部分環(huán)境已能夠達(dá)到遠(yuǎn)程控制的效果,目前也隨著智能家居逐漸融入到百姓家中,為使用者帶來(lái)方便和快捷。