摘" 要:針對(duì)人們對(duì)家居環(huán)境的智能化需求,實(shí)現(xiàn)對(duì)家居實(shí)時(shí)監(jiān)測(cè),設(shè)計(jì)基于ESP32與微信小程序的智能家居控制系統(tǒng)。該系統(tǒng)采用 DHT11、MQ2、MQ5和MQ7傳感器分別對(duì)溫濕度、CO、液化氣和煙霧的濃度進(jìn)行監(jiān)測(cè)。以ESP32作為主控芯片和Wi-Fi通信模塊進(jìn)行數(shù)據(jù)傳輸,傳輸?shù)絆neNet云平臺(tái)及微信小程序進(jìn)行監(jiān)測(cè)和控制。經(jīng)測(cè)驗(yàn),該系統(tǒng)具備成本低廉、功能穩(wěn)定等優(yōu)點(diǎn),滿足實(shí)際應(yīng)用需求。
關(guān)鍵詞:物聯(lián)網(wǎng);OneNet;ESP32;微信小程序;智能家居
中圖分類號(hào):TU855" " " 文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號(hào):2095-2945(2024)25-0041-04
Abstract: In order to meet the intelligent demand of home environment, the real-time monitoring of home is realized, and the smart home control system based on ESP32 and WeChat Mini Program is designed. The system uses DHT11, MQ2, MQ5 and MQ7 sensors to monitor the concentration of temperature and humidity, CO, LPG and smoke. ESP32 is used as the main control chip and Wi-Fi communication module for data transmission, which is transmitted to OneNet cloud platform and WeChat Mini Program for monitoring and control. It has been tested that the system has the advantages of low cost and stable function, and meets the needs of practical application.
Keywords: Internet of Things; OneNet; ESP32; WeChat Mini Program; smart home
在人們的生活質(zhì)量不斷提高的今天,家居環(huán)境監(jiān)測(cè)也日益受到關(guān)注。與此同時(shí),隨著社會(huì)群體居住方式、居住理念的改變,人們對(duì)家居環(huán)境的智能化需求越來越高,基于物聯(lián)網(wǎng)體系的智能家居系統(tǒng)就應(yīng)運(yùn)而生?;谖锫?lián)網(wǎng)體系的智能家居系統(tǒng)利用互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)等新一代信息技術(shù),將家居生活中與照明、安防、環(huán)境控制和家電控制等相關(guān)的所有設(shè)備、場(chǎng)景、傳感器互聯(lián)互通,實(shí)現(xiàn)智能化管理和控制。
本文提出了一種新穎的智能家居控制系統(tǒng),它以ESP32單片機(jī)和微信小程序作為系統(tǒng)組成框架,ESP32單片機(jī)通過安裝在家居的一些智能傳感器實(shí)時(shí)采集溫(濕)度、有害氣體(一氧化碳、液化氣)的濃度和家用電氣動(dòng)作狀態(tài)等信息,支持微信小程序任意時(shí)間任意地址顯示這些信息,同時(shí)支持用戶根據(jù)自己自身的環(huán)境體驗(yàn)合理配置環(huán)境參數(shù)的監(jiān)測(cè)閥值,實(shí)現(xiàn)符合自己家庭的環(huán)境參數(shù)監(jiān)測(cè)方案,在手動(dòng)模式下,用戶還可以通過向云平臺(tái)發(fā)送控制指令,遠(yuǎn)程操控家里的電器設(shè)備,干預(yù)家居環(huán)境參數(shù)。
1" 智能家居控制系統(tǒng)的整體設(shè)計(jì)
本系統(tǒng)為一種基于物聯(lián)網(wǎng)的智能家居監(jiān)控系統(tǒng),系統(tǒng)以ESP32作為主控制器,通過和ESP32相連的傳感器實(shí)現(xiàn)了對(duì)一氧化碳(MQ7)、煙霧(MQ2)、天然氣(MQ5)和溫濕度(DHT11)等的檢測(cè),同時(shí)還設(shè)計(jì)了聲光報(bào)警電路、OLED顯示電路、繼電器驅(qū)動(dòng)電路,如圖1所示。
系統(tǒng)工作過程:ESP32使用MQ2、MQ5、MQ7傳感器對(duì)室內(nèi)氣體進(jìn)行檢測(cè),DHT11對(duì)室內(nèi)溫濕度進(jìn)行檢測(cè),將檢測(cè)到的數(shù)據(jù)顯示到OLED屏幕上,同時(shí)ESP32的Wi-Fi通信模塊通過路由器將數(shù)據(jù)傳輸?shù)絆neNet云平臺(tái);用戶通過APP(或微信小程序)從OneNet云平臺(tái)抓取數(shù)據(jù),也可以將環(huán)境參數(shù)監(jiān)控閾值、控制命令等發(fā)送給OneNet云平臺(tái),云平臺(tái)再將這些消息推送給ESP32,從而實(shí)現(xiàn)終端數(shù)據(jù)的采集、控制端的傳輸、云端的顯示。
2" 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)硬件的選擇是系統(tǒng)能穩(wěn)定、可靠工作的基礎(chǔ)。在本系統(tǒng)設(shè)計(jì)時(shí),從系統(tǒng)的成本、系統(tǒng)搭建的復(fù)雜性、系統(tǒng)資源的豐富性和開發(fā)周期,結(jié)合已有的知識(shí)結(jié)構(gòu),對(duì)系統(tǒng)硬件進(jìn)行精心篩選。
2.1" ESP32-C3單片機(jī)
ESP32是一系列低成本、低功耗的單片機(jī)微控制器,集成了Wi-Fi和雙模藍(lán)牙。本系統(tǒng)選擇的是C3系列,基于RISC-V 32位單核處理器,時(shí)鐘頻率高達(dá) 160 MHz;內(nèi)置400 kB SRAM、384 kB ROM 存儲(chǔ)空間,并支持多個(gè)外部 SPI、Dual SPI、Quad SPI和QPI flash;豐富的通信接口及對(duì)外引出13個(gè)GPIO管腳,可以滿足本系統(tǒng)的設(shè)計(jì)。
2.2" MQ系列傳感器
MQ系列氣體傳感器是一種表面離子式N型半導(dǎo)體,其是一種用二氧化錫氣敏材料構(gòu)成的半導(dǎo)體。其工作原理:當(dāng)傳感器的溫度加熱到高溫時(shí),二氧化錫吸附空氣中氧離子的能力增強(qiáng),在表面形成負(fù)離子層,當(dāng)環(huán)境中存在還原性氣體時(shí),吸附的氧與還原性氣體反應(yīng)導(dǎo)致表面密度隨之降低,這樣二氧化錫中的離子濃度會(huì)跟隨空氣中還原性氣體濃度的變化而變化,于是氣體傳感器的導(dǎo)電率會(huì)發(fā)聲變化。利用這一點(diǎn)就可以獲得這種氣體存在的信息,某種氣體的濃度越大,導(dǎo)電率越大,輸出電阻越低,則輸出的模擬信號(hào)就越大,再經(jīng)過模數(shù)轉(zhuǎn)換電路,公式換算,便可以得到具體的氣體濃度。MQ系列傳感器測(cè)量原理如圖2所示。
本系統(tǒng)選用了MQ2、MQ5、MQ7,分別用于煙霧、天然氣、一氧化碳的檢測(cè)。其中MQ2煙霧傳感器和下文介紹的DHT11溫濕度傳感器配合檢測(cè),用于檢測(cè)環(huán)境的火災(zāi)。
2.3" DHT11溫濕度傳感器
DHT11溫濕度傳感器是一款數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,其溫度測(cè)量范圍為0~50 ℃,誤差在±2 ℃;濕度的測(cè)量范圍為20~90 %RH,誤差在±5 %RH。傳感器包括NTC測(cè)溫元件、電阻式感濕元件、單片機(jī)等,單片機(jī)對(duì)溫度和濕度進(jìn)行實(shí)時(shí)采集,AD轉(zhuǎn)換后存儲(chǔ)在內(nèi)部的存儲(chǔ)器中,同時(shí)通過DATA管腳與外部進(jìn)行數(shù)據(jù)的交換。使用時(shí)只需要將DATA引腳通過上拉一個(gè)5 K的電阻連接單片機(jī)的一個(gè)I/O即可,DHT11的供電電壓為3~5.5 V。
2.4" OLED顯示屏模塊
OLED顯示屏模塊用于顯示家居環(huán)境的測(cè)量參數(shù)、報(bào)警閾值、系統(tǒng)的運(yùn)行狀況等信息。OLED,即有機(jī)發(fā)光二極管(Organic Light-Emitting Diode)。ALINETEK的0.96寸OLED模塊的供電電壓為3.3 V,該模塊共4種接口可供用戶選擇,包括并行接口方式(6800,8080)、SPI接口方式、I2C接口方式。本設(shè)計(jì)選用I2C接口方式,其總共只有4個(gè)引腳。OLED控制器為SSD1306,也就是說,裸屏由SSD1306驅(qū)動(dòng)。
2.5" OneNet物聯(lián)網(wǎng)平臺(tái)
為了實(shí)現(xiàn)智能家居的遠(yuǎn)程控制,通過OneNet平臺(tái)搭建了智能家居控制系統(tǒng)產(chǎn)品和設(shè)備,OneNet物模型如圖3所示。
3" 系統(tǒng)的軟件編程
3.1" 概述
隨著電子信息技術(shù)及5G技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)技術(shù)已經(jīng)成為人們生活中不可缺少的一部分,廣泛地應(yīng)用于各行各業(yè)中。
物聯(lián)網(wǎng)的網(wǎng)絡(luò)架構(gòu)包括感知層、網(wǎng)絡(luò)層、應(yīng)用層3個(gè)層次。其中感知層是智能設(shè)備層由各類傳感器組成,幫助度量各類物和事,是整個(gè)物聯(lián)網(wǎng)系統(tǒng)底層的硬件基礎(chǔ)。網(wǎng)絡(luò)層起承上啟下的作用,下接感知層上連應(yīng)用層,用來實(shí)現(xiàn)物的連接,是物聯(lián)網(wǎng)的中間環(huán)節(jié)。物聯(lián)網(wǎng)系統(tǒng)的應(yīng)用層和感知層是物聯(lián)網(wǎng)的基礎(chǔ)核心,如果把物聯(lián)網(wǎng)比喻為人的話,感知層相當(dāng)于人的五官、手腳等,應(yīng)用層類似于人的大腦,其負(fù)責(zé)對(duì)云平臺(tái)的數(shù)據(jù)進(jìn)行處理、分析、調(diào)度,從而實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界進(jìn)行科學(xué)精確管理和實(shí)時(shí)控制的目的。
本文設(shè)計(jì)的智能家居控制系統(tǒng)的感知層主要包括ESP32單片機(jī)和各種傳感器(煙霧傳感器、一氧化碳傳感器、溫濕度傳感器和天然氣傳感器等)。網(wǎng)絡(luò)層通過ESP32Wi-Fi模塊實(shí)現(xiàn),應(yīng)用層使用的是OneNet物聯(lián)網(wǎng)平臺(tái)。
3.2" ESP32的編程
通過上文分析可知,ESP32承擔(dān)感知層和部分網(wǎng)絡(luò)層的任務(wù)。ESP32負(fù)責(zé)本地傳感器數(shù)據(jù)的采集和閾值比較判斷,控制執(zhí)行機(jī)構(gòu)進(jìn)行相應(yīng)的操作,同時(shí)還要和OneNet的云平臺(tái)進(jìn)行通信。
ESP32的編程采用了ArduinoIDE進(jìn)行程序的編輯和編譯。
ESP32用Station模式與路由器或其他能開熱點(diǎn)的設(shè)備相連,基于MQTT協(xié)議的OneNet云平臺(tái)和客戶端(ESP32)通過Wi-Fi相連后,客戶端(ESP32)將傳感器采集的數(shù)據(jù)上傳到OneNet云平臺(tái),同時(shí)客戶端(ESP32)通過訂閱發(fā)布者Topic,接受Topic下發(fā)命令,硬件做響應(yīng)處理;微信小程序通過HTTP協(xié)議讀取服務(wù)器的數(shù)據(jù)進(jìn)行JSON格式解析并顯示,同時(shí)通過HTTP協(xié)議將命令上傳到OneNet云平臺(tái),由OneNet云平臺(tái)轉(zhuǎn)發(fā)給訂閱主題的客戶端。軟件流程圖如圖4所示。
3.3" 微信小程序的編程
微信小程序是用HBuilderX編寫的。HBuilderX簡(jiǎn)稱HX,是為前端開發(fā)者服務(wù)的通用DE,或者稱為編輯器,它可以開發(fā)普通Web項(xiàng)目,也可以開發(fā)DCloud 出品的uni-app項(xiàng)目、5+App項(xiàng)目、wap2app項(xiàng)目。
4" 系統(tǒng)測(cè)試
系統(tǒng)采用面包板進(jìn)行搭建,如圖5所示。
系統(tǒng)搭建完成后,對(duì)系統(tǒng)的功能進(jìn)行測(cè)試,連接好設(shè)備,把代碼下載到ESP32里去,由微信小程序、OLED 屏幕顯示采集到的數(shù)據(jù),數(shù)據(jù)如圖6、圖7所示。
測(cè)試結(jié)果顯示:OLED屏幕能夠?qū)崟r(shí)顯示傳感器上傳的數(shù)據(jù),MOTT客戶端能夠接收到訂閱的消息,然后通過JSON格式發(fā)布命令,風(fēng)扇啟動(dòng);微信小程序成功顯示環(huán)境數(shù)據(jù),發(fā)送風(fēng)扇啟動(dòng)命令,系統(tǒng)測(cè)試成功。
5" 結(jié)束語
基于ESP32和微信小程序的家居環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境的測(cè)量、遠(yuǎn)程監(jiān)控和操作。該系統(tǒng)開發(fā)周期短、成本低、交互性好和穩(wěn)定性好,具有廣闊的應(yīng)用前景,可以在此基礎(chǔ)上進(jìn)行拓展開發(fā),制成一個(gè)實(shí)用性更強(qiáng)的產(chǎn)品。
參考文獻(xiàn):
[1] 馬玉春.Android開發(fā)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2019.
[2] 李天祥.Android物聯(lián)網(wǎng)開發(fā)細(xì)致入門與最佳實(shí)踐[M].北京:中國(guó)鐵道出版社,2016.
[3] 王磊,袁英.基于Arduino的家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2024(1):34-41.
[4] 李孟,程子霞,宋趙偉.基于單片機(jī)的智能家居控制系統(tǒng)設(shè)計(jì)[J].機(jī)電工程技術(shù),2023,52(7):50-54.