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

時間:2022-06-13 11:42:17

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

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

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

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

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

1系統(tǒng)總體設計

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

2系統(tǒng)硬件設計

2.1控制節(jié)點結構設計

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

2.2控制節(jié)點原理圖設計

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

3系統(tǒng)軟件設計

3.1服務器軟件設計

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

3.2控制節(jié)點軟件設計

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

3.3移動應用端軟件設計

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

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

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

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

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

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

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

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

5結語

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

參考文獻:

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

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

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

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

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

作者:張恒強 安霆 王乙涵 胡傲 劉文靜 單位:臨沂大學自動化與電氣工程學院