ESP8266及物聯(lián)網(wǎng)技術(shù)分析

時(shí)間:2022-06-13 11:42:17

導(dǎo)語:ESP8266及物聯(lián)網(wǎng)技術(shù)分析一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

ESP8266及物聯(lián)網(wǎng)技術(shù)分析

摘要:基于esp8266模塊,以智能家居為例,對(duì)物聯(lián)網(wǎng)技術(shù)應(yīng)用進(jìn)行了研究和開發(fā),構(gòu)建了一種便捷可行的智能家居控制系統(tǒng)。ESP8266對(duì)室內(nèi)溫度、濕度、人體等傳感器數(shù)據(jù)進(jìn)行采集,通過WiFi將數(shù)據(jù)上傳到云平臺(tái);移動(dòng)端通過云平臺(tái)與ESP8266進(jìn)行數(shù)據(jù)和指令交互,完成對(duì)家居的實(shí)時(shí)監(jiān)控。研究結(jié)果表明,該系統(tǒng)能穩(wěn)定實(shí)時(shí)地對(duì)室內(nèi)家居設(shè)備進(jìn)行智能控制和數(shù)據(jù)采集。

關(guān)鍵詞:物聯(lián)網(wǎng);智能家居;傳感器;云平臺(tái);智能控制

近年來,隨著互聯(lián)網(wǎng)和電子科學(xué)技術(shù)的迅猛發(fā)展,一種新型的網(wǎng)絡(luò)———物聯(lián)網(wǎng)應(yīng)運(yùn)而生。隨著我國物聯(lián)網(wǎng)的快速普及和發(fā)展,物聯(lián)網(wǎng)迅速被人們所廣泛接受并快速融入人們的生活和日常生產(chǎn)中。物聯(lián)網(wǎng)通過物品上的嵌入式設(shè)備采集、處理并發(fā)送周圍的環(huán)境數(shù)據(jù),從而實(shí)現(xiàn)人與物、物與物之間的信息交流和數(shù)據(jù)交換。因此,物聯(lián)網(wǎng)形成了一個(gè)巨大的萬物互聯(lián)網(wǎng)絡(luò)。尤其在智能家居方面應(yīng)用極為廣泛,將物聯(lián)網(wǎng)技術(shù)應(yīng)用于智能家居的目的是將家庭中的電器和生活設(shè)施連接起來,實(shí)現(xiàn)視頻監(jiān)控、智慧安防、智能照明、智能電器控制、智能門窗控制等功能[1]。用戶可以通過計(jì)算機(jī)、便攜式移動(dòng)設(shè)備等實(shí)時(shí)對(duì)家庭燈光、窗簾、電器等進(jìn)行遠(yuǎn)程控制。物聯(lián)網(wǎng)技術(shù)的應(yīng)用將為人們提供更加便捷的家居生活體驗(yàn)[2],使人們的美好生活更加舒適、智能。

1系統(tǒng)總體設(shè)計(jì)

本設(shè)計(jì)的系統(tǒng)由傳感層、網(wǎng)絡(luò)層和應(yīng)用層組成,其結(jié)構(gòu)示意圖如圖1所示。其中:傳感層以ESP8266模塊為核心形成控制節(jié)點(diǎn),其上裝有監(jiān)控室內(nèi)的環(huán)境傳感器;網(wǎng)絡(luò)層使用家庭路由器組網(wǎng)并使用MQTT協(xié)議通信;應(yīng)用層以阿里云物聯(lián)網(wǎng)平臺(tái)作為整個(gè)系統(tǒng)的服務(wù)器,由移動(dòng)端開發(fā)的應(yīng)用服務(wù)程序能跨平臺(tái)展示和控制系統(tǒng)信息[3]。系統(tǒng)的工作流程如下:控制節(jié)點(diǎn)通過各種家用傳感器采集數(shù)據(jù),經(jīng)家用路由器傳輸?shù)较㈥?duì)列遙測(cè)傳輸(MessageQueuingTelemetryTransport,MQTT)服務(wù)器;MQTT服務(wù)器將數(shù)據(jù)整理后發(fā)送到移動(dòng)應(yīng)用端;移動(dòng)端將控制指令經(jīng)服務(wù)器轉(zhuǎn)發(fā)給控制節(jié)點(diǎn),進(jìn)而實(shí)現(xiàn)用戶隨時(shí)隨地對(duì)家居設(shè)備進(jìn)行監(jiān)控。

2系統(tǒng)硬件設(shè)計(jì)

2.1控制節(jié)點(diǎn)結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)的控制節(jié)點(diǎn)主要包括ESP8266模塊、輸入輸出接口、供電電源三大部分。ESP8266是一個(gè)無線傳輸模塊,以低成本提供最大的實(shí)用性。輸入輸出部分主要包括DHT11溫濕度傳感器模塊、繼電器模塊和OLED顯示屏模塊。供電部分采用UPS供電,使用鋰電池和USB接口以保證節(jié)點(diǎn)一直運(yùn)行??刂乒?jié)點(diǎn)硬件結(jié)構(gòu)圖如圖2所示。

2.2控制節(jié)點(diǎn)原理圖設(shè)計(jì)

控制節(jié)點(diǎn)的核心是ESP8266模塊。它是一個(gè)完整且自成體系的WiFi解決方案,能夠獨(dú)立運(yùn)行,具有單獨(dú)的編程功能,不依靠單片機(jī),可直接將程序?qū)懭肽K內(nèi),因而整體質(zhì)量輕巧,攜帶方便。同時(shí)內(nèi)置高速緩沖存儲(chǔ)器以利于提高系統(tǒng)性能,并減少內(nèi)存需求,具有最高160MHz主頻,使用UART0串口作為下載程序接口??刂乒?jié)點(diǎn)將外設(shè)資源對(duì)應(yīng)的IO引出,包括4路IO控制輸出:溫濕度傳感器、人體傳感器、電源電壓、OLED的I2C接口。ESP8266原理圖如圖3所示。ESP8266模塊使用3.3V供電電源,通過TP4056芯片給鋰電池充電。在USB掉電情況下,系統(tǒng)可切換實(shí)行鋰電池供電。鋰電池通過AMA1117-3.3穩(wěn)定地輸出3.3V電壓,確保系統(tǒng)持續(xù)工作。

3系統(tǒng)軟件設(shè)計(jì)

3.1服務(wù)器軟件設(shè)計(jì)

服務(wù)器采用MQTT服務(wù)器,其作用是接收控制節(jié)點(diǎn)和應(yīng)用端的數(shù)據(jù),將這些數(shù)據(jù)流匯總并進(jìn)行可視化顯示和操作,以保證智能家居系統(tǒng)傳感網(wǎng)正常工作和方便用戶登錄服務(wù)器查看所連接的設(shè)備并進(jìn)行管理。MQTT是一種基于發(fā)布/訂閱范式的“輕量級(jí)”消息協(xié)議,其最大優(yōu)點(diǎn)在于可以用極少的代碼和有限的帶寬為連接到的遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開銷、低帶寬占用的即時(shí)通信協(xié)議,MQTT在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面得到了廣泛應(yīng)用。MQTT協(xié)議有3種身份:發(fā)布者(Publish)、代理(Broker)和訂閱者(Subscribe)。如圖4所示,在本系統(tǒng)中,消息的發(fā)布者和訂閱者是各控制節(jié)點(diǎn),消息代理是云控制臺(tái),消息的發(fā)布者同時(shí)也可以是消息的訂閱者。

3.2控制節(jié)點(diǎn)軟件設(shè)計(jì)

控制節(jié)點(diǎn)首先進(jìn)行服務(wù)器連接,ESP8266上電后,初始化UART、I2C等外設(shè),從EPROM中讀取要連接的WiFi賬號(hào)和密碼并進(jìn)行WiFi聯(lián)網(wǎng),連接完成后創(chuàng)建MQTT客戶端,連接MQTT服務(wù)器,并開始訂閱和發(fā)布與其連接的傳感器相關(guān)的主題和消息。若連接WiFi未成功,則進(jìn)入SmartConfig模式,等待用戶使用SmartConfig配網(wǎng),從而重新連接WiFi[4]。其運(yùn)行流程圖如圖5所示。控制節(jié)點(diǎn)連接MQTT服務(wù)器,將節(jié)點(diǎn)的傳感器數(shù)據(jù)和繼電器狀態(tài)信息打包成JSON數(shù)據(jù)包,并向服務(wù)器發(fā)送該數(shù)據(jù)包,同時(shí)更新OLED顯示屏顯示相應(yīng)的傳感器數(shù)據(jù)。當(dāng)服務(wù)器發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)訂閱的主題有數(shù)據(jù)變化時(shí),會(huì)將數(shù)據(jù)包發(fā)送給該節(jié)點(diǎn),經(jīng)過解析后,執(zhí)行相應(yīng)的指令,并更新OLED屏顯示的圖標(biāo)和文字信息,完成服務(wù)器與節(jié)點(diǎn)之間的消息通信,實(shí)現(xiàn)服務(wù)器與節(jié)點(diǎn)之間的控制與數(shù)據(jù)處理。MQTT數(shù)據(jù)發(fā)送接收流程圖如圖6所示。

3.3移動(dòng)應(yīng)用端軟件設(shè)計(jì)

移動(dòng)端應(yīng)用使用Android開發(fā),可以實(shí)現(xiàn)實(shí)時(shí)遠(yuǎn)程監(jiān)控室內(nèi)環(huán)境數(shù)據(jù)。界面有顯示溫濕度、人體數(shù)據(jù)的文本框,自動(dòng)或手動(dòng)單選按鈕和繼電器的控制開關(guān)按鈕。移動(dòng)端連接服務(wù)器后,訂閱消息并收到訂閱的消息;解析JSON數(shù)據(jù)包,將溫濕度、人體信息顯示在相應(yīng)的文本框內(nèi),并更新繼電器相應(yīng)控制按鈕的狀態(tài)。移動(dòng)端默認(rèn)控制模式是自動(dòng)模式。在此模式下,用戶不能對(duì)按鈕進(jìn)行控制,當(dāng)切換到手動(dòng)模式后,點(diǎn)擊繼電器控制按鈕,移動(dòng)端將向服務(wù)器發(fā)送控制指令,在控制的同時(shí),也會(huì)發(fā)送按鈕狀態(tài)更新指令,服務(wù)器接收到指令后,將會(huì)更新界面上的按鈕顯示狀態(tài),以達(dá)到硬件的實(shí)際工作狀態(tài)與控制界面顯示一致的效果,從而對(duì)相應(yīng)設(shè)備進(jìn)行遠(yuǎn)程控制[5]。移動(dòng)端設(shè)計(jì)流程圖如圖7所示。

4系統(tǒng)調(diào)試

4.1系統(tǒng)控制節(jié)點(diǎn)調(diào)試

如圖8所示,ESP8266模塊作為控制節(jié)點(diǎn)的“大腦”位于右下角,上方使用繼電器控制家居設(shè)備,左邊OLED屏顯示環(huán)境狀態(tài)信息,再向左為溫濕度傳感器,最左邊是3.3V穩(wěn)壓模塊。其中,ESP8266模塊的IO0和IO1管腳為傳感器輸入的AD值。另外,在上位機(jī)(移動(dòng)端)上顯示了溫濕度信息、本地實(shí)時(shí)天氣信息及時(shí)間信息。控制節(jié)點(diǎn)連接到阿里云MQTT服務(wù)器上,把節(jié)點(diǎn)的狀態(tài)信息上傳到服務(wù)器,同時(shí)指示燈由閃爍變?yōu)槌A痢?

4.2系統(tǒng)服務(wù)器調(diào)試

MQTT服務(wù)器還能通過后臺(tái)管理界面對(duì)連入的節(jié)點(diǎn)、設(shè)備的數(shù)據(jù)進(jìn)行整理和展示。圖9顯示的客戶端分別有3個(gè)控制節(jié)點(diǎn)和1個(gè)移動(dòng)設(shè)備成功接入,之后可以進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和分析。

4.3系統(tǒng)移動(dòng)應(yīng)用端調(diào)試

如圖10所示,移動(dòng)設(shè)備作為MQTT客戶端連接到MQTT服務(wù)器上,選擇要訂閱系統(tǒng)中其他設(shè)備和節(jié)點(diǎn)(圖中名為“智能家居”的設(shè)備),即可獲取其監(jiān)測(cè)到的數(shù)據(jù)。如圖11所示,該頁面成功地獲取并顯示控制節(jié)點(diǎn)溫濕度的數(shù)值和人體傳感器的狀態(tài)數(shù)據(jù)。上面兩個(gè)狀態(tài)按鈕可以控制位于控制節(jié)點(diǎn)上的繼電器的開關(guān)狀態(tài)。

5結(jié)語

初步的調(diào)試運(yùn)行結(jié)果表明:本設(shè)計(jì)的基于物聯(lián)網(wǎng)的智能裝置能夠較好地完成對(duì)家居設(shè)備的控制任務(wù),其所要實(shí)現(xiàn)的功能是可行的。后期,設(shè)計(jì)者們還將針對(duì)其他家居的智能化處理、智能化故障診斷以及檢測(cè)精度的提升等進(jìn)行更為深入的研究。

參考文獻(xiàn):

[1]王飛.物聯(lián)網(wǎng)技術(shù)在智能家居系統(tǒng)中的應(yīng)用分析[J].信息通信,2018(1):148-150.

[2]錢烺,羅小娟,宋璐璐,等.基于物聯(lián)網(wǎng)的智能家居安防監(jiān)控系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2021,11(3):28-30.

[3]吳思楠,基于物聯(lián)網(wǎng)的智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].揚(yáng)州:揚(yáng)州大學(xué),2016.

[4]毛浩龍,艾紅.基于ESP32的智能家居項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)儀表與自動(dòng)化裝置,2021(2):126-130.

[5]黃興,李文金,蘇凱雄.一種基于安卓與云平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2021,17(7):5-8.

作者:張恒強(qiáng) 安霆 王乙涵 胡傲 劉文靜 單位:臨沂大學(xué)自動(dòng)化與電氣工程學(xué)院