沈華剛 呂剛磊
摘 要:本文首先介紹了基于ESP8266串口WiFi的智能插座的設(shè)計(jì)思路,然后分析其整體結(jié)構(gòu),之后對(duì)其軟硬件進(jìn)行詳細(xì)介紹,其中,硬件系統(tǒng)包括數(shù)據(jù)采集、Arduino UNO控制器和繼電器模塊;軟件系統(tǒng)包括數(shù)據(jù)庫(kù)、系統(tǒng)管理模塊、系統(tǒng)的登錄模塊、系統(tǒng)的前臺(tái)顯示模塊,以資借鑒。
關(guān)鍵詞:智能插座;ESP8266串口WiFi;硬件;軟件
Abstract: This paper first introduced the design idea of intelligent socket based on ESP8266 serial WiFi, then analysed its overall structure, and then introduced its software and hardware in detail. The hardware system includes data acquisition, Arduino UNO controller and relay module; the software system includes database, system management module, system login module, system front-end display module. The author hope this study can provide reference for other scholars.
Keywords: intelligent socket;ESP8266 serial WiFi;hardware;software
1 基于ESP8266串口WiFi的智能插座的設(shè)計(jì)思路
智能插座是實(shí)現(xiàn)智能家居的關(guān)鍵部件,對(duì)推動(dòng)智能家居的實(shí)現(xiàn)具有重要作用。本文設(shè)計(jì)基于ESP8266串口WiFi的智能插座的思路如下。首先通過(guò)溫度傳感器把溫度信號(hào)通過(guò)WiFi模塊傳遞給網(wǎng)頁(yè),如果溫度過(guò)高,則說(shuō)明家庭可能存在火災(zāi)隱患,系統(tǒng)將通過(guò)郵件的方式把信息傳遞給用戶(hù),第一時(shí)間告訴用戶(hù)家里存在火災(zāi)情況。同時(shí),Arduino UNO單片機(jī)處理器將通過(guò)繼電器模塊切斷對(duì)插座的供電。如果用戶(hù)想通過(guò)遠(yuǎn)程控制插座的通斷,可以點(diǎn)擊網(wǎng)頁(yè)上的開(kāi)、關(guān)超鏈接,點(diǎn)擊超鏈接時(shí),信息通過(guò)網(wǎng)頁(yè)傳遞給單片機(jī),單片機(jī)通過(guò)繼電器控制插座[1]。
2 基于ESP8266串口WiFi的智能插座整體結(jié)構(gòu)
本文設(shè)計(jì)的基于ESP8266串口WiFi的智能插座包括硬件系統(tǒng)和軟件系統(tǒng),硬件系統(tǒng)包括數(shù)據(jù)采集、Arduino UNO控制器和繼電器模塊;軟件系統(tǒng)包括數(shù)據(jù)庫(kù)、系統(tǒng)管理模塊、系統(tǒng)的登錄模塊、系統(tǒng)的前臺(tái)顯示模塊。用戶(hù)登錄系統(tǒng)后可以查看智能插座的溫度,包括智能插座實(shí)時(shí)溫度的顯示、智能插座目前的狀態(tài)和系統(tǒng)管理。系統(tǒng)管理分為數(shù)據(jù)庫(kù)備份、數(shù)據(jù)庫(kù)還原、管理員密碼更改、管理員退出系統(tǒng)四部分功能[2]。
3 硬件系統(tǒng)
基于ESP8266串口WiFi的智能插座的硬件系統(tǒng)如圖1所示,主要包括Arduino UNO單片機(jī)控制器模塊、串口WiFi信號(hào)傳輸模塊、電壓穩(wěn)定模塊、繼電器模塊、LED顯示屏模塊、溫度傳感器模塊,如圖1所示。
3.1 Arduino UNO單片機(jī)控制器模塊
Arduino單片機(jī)是一種簡(jiǎn)單易學(xué)的集成電路,其擁有13個(gè)數(shù)字接口,5個(gè)模擬接口,還有電源、地接口;可以接收數(shù)字信號(hào)和模擬信號(hào);可以應(yīng)用于許多有趣的、實(shí)用的電子產(chǎn)品制作,如萬(wàn)年歷、3D打印機(jī)、澆花器、電子防盜器等。當(dāng)前,全世界許多電子產(chǎn)品愛(ài)好者,不斷利用Arduino制作新的產(chǎn)品。在使用傳統(tǒng)的單片機(jī)時(shí),需要使用者對(duì)單片機(jī)的內(nèi)部硬件結(jié)構(gòu)有一定的了解;而在使用Arduino單片機(jī)時(shí),只需要使用者專(zhuān)注于程序的編寫(xiě)即可。同時(shí),Arduino單片機(jī)還提供了許多已經(jīng)編寫(xiě)好的接口,程序員調(diào)用這些接口就可以較好地控制步進(jìn)電機(jī)、傳感器等外圍電路。此外,Arduino單片機(jī)擁有簡(jiǎn)單易學(xué)的IDE,使用起來(lái)很方便。
3.2 ESP8266串口WiFi信號(hào)傳輸模塊
由于ESP8266串口WiFi體積小、價(jià)格便宜,因而,被廣泛應(yīng)用于移動(dòng)設(shè)備聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術(shù)領(lǐng)域。其支持AT語(yǔ)言,可以將固件燒寫(xiě)進(jìn)ESP8266中。燒寫(xiě)固件時(shí)需要購(gòu)買(mǎi)USB轉(zhuǎn)TLL轉(zhuǎn)接器,USB轉(zhuǎn)TLL轉(zhuǎn)接器與ESP8266 WiFi的連接關(guān)系為:3.3V電源連接ESP8266的REST、CH_PD和VCC,串口TTL的RXD、TXD連接ESP8266的TXD、RXD,串口TTL的GND接地。GPIO0默認(rèn)高電平為工作模式(不接線(xiàn)懸空)。利用ESP8266flash.exe軟件對(duì)ESP8266串口WiFi刷固件,如果GPIO0管腳接了低電平就是下載模式,下載模式用于給ESP8266 WiFi模塊刷固件。ESP8266 WiFi模塊其余的管腳可以不接。利用串口助手軟件和AT指令調(diào)試ESP8266的WiFi功能,使ESP8266利用用戶(hù)名和賬號(hào)聯(lián)網(wǎng),聯(lián)網(wǎng)時(shí)波特率設(shè)置為115200。
3.3 溫度傳感器模塊
本次所設(shè)計(jì)的智能插座的溫度傳感器采用的是LM35溫度傳感器。LM35是一種廣泛使用的溫度傳感器,采用內(nèi)部補(bǔ)償,精度高,可以達(dá)到±0.5℃,節(jié)能環(huán)保,芯片自身幾乎沒(méi)有散熱問(wèn)題,工作電壓為4~30V。溫度傳感器需要一個(gè)管腳接5V高電位,一個(gè)管腳接地,一個(gè)管腳接Arduino的模擬接口,關(guān)鍵技術(shù)在于如何將讀取的模擬值轉(zhuǎn)換為實(shí)際溫度。本次設(shè)計(jì)將讀取到的模擬值va*0.0048828125*100就得到實(shí)際溫度。根據(jù)溫度的高低,判斷周?chē)h(huán)境是否存在危險(xiǎn),是否存在火災(zāi)。當(dāng)火災(zāi)發(fā)生時(shí),PHP使用PHPMailer郵件類(lèi)發(fā)送郵件給用戶(hù)。
3.4 繼電器模塊
本文設(shè)計(jì)的智能插座的繼電器模塊使用5V電源控制220V高壓開(kāi)關(guān),高電平觸發(fā),繼電器模塊和Arduino電路板連接的關(guān)系是:繼電器的VCC、GND連接Arduino的8管腳和GND,繼電器的IN1、IN2連接插座。繼電器實(shí)際上只是電動(dòng)開(kāi)關(guān),Arduino控制繼電器,繼電器控制插座。本次設(shè)計(jì)使用的繼電器模塊在斷開(kāi)和打開(kāi)時(shí)都有LED指示燈指示,當(dāng)用戶(hù)點(diǎn)擊網(wǎng)頁(yè)上的關(guān)閉按鈕關(guān)閉智能插座時(shí),PHP將網(wǎng)絡(luò)將信號(hào)傳遞給Arduino,Arduino接收到需要關(guān)閉智能插座的信號(hào)后,使8管腳處于低電平,繼電器就會(huì)關(guān)閉,此時(shí)智能插座不會(huì)通電;同樣,當(dāng)用戶(hù)點(diǎn)擊網(wǎng)頁(yè)上的打開(kāi)按鈕打開(kāi)智能插座時(shí),PHP將信號(hào)傳遞給Arduino,Arduino使8管腳處于高電平,智能插座通電。
4 軟件系統(tǒng)
4.1 數(shù)據(jù)庫(kù)
該系統(tǒng)的數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù),admin數(shù)據(jù)庫(kù)管理員表如表1所示。其中Id為Int類(lèi)型,自動(dòng)增加,Usename、Pwd用來(lái)儲(chǔ)存管理員賬號(hào)與密碼。
4.2 系統(tǒng)管理模塊
當(dāng)以管理員的身份輸入正確的賬號(hào)、密碼、驗(yàn)證碼進(jìn)入后臺(tái)管理系統(tǒng)時(shí),系統(tǒng)將彈出如圖2所示的頁(yè)面。管理員可以對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行備份、還原操作,也可以對(duì)自己的密碼進(jìn)行修改,也可以點(diǎn)擊退出系統(tǒng)超鏈接,安全退出系統(tǒng),系統(tǒng)會(huì)使管理員登錄的session置空[3]。
當(dāng)點(diǎn)擊修改管理員密碼超鏈接時(shí),彈出的界面如圖2所示,頁(yè)面列出了兩個(gè)已經(jīng)添加的管理員賬號(hào)。頁(yè)面中包含密碼列表和添加密碼兩個(gè)超鏈接,同時(shí)還包含翻頁(yè)功能,包含總記錄數(shù)、當(dāng)前頁(yè)和總頁(yè)數(shù)、首頁(yè)、上一頁(yè)、下一頁(yè)、尾頁(yè)、頁(yè)碼跳轉(zhuǎn)框。點(diǎn)擊刪除超鏈接時(shí),可以刪除當(dāng)前的管理員密碼,點(diǎn)擊修改超鏈接時(shí),可以修改對(duì)應(yīng)的管理員密碼[4]。
4.3 系統(tǒng)顯示模塊
系統(tǒng)顯示頁(yè)面如圖3所示。圖3顯示了智能插座開(kāi)關(guān)狀態(tài)、當(dāng)前周?chē)h(huán)境溫度。用戶(hù)可通過(guò)在網(wǎng)頁(yè)上輸入通電的時(shí)間遠(yuǎn)程控制家用電器的通電時(shí)間,如手機(jī)充電一定時(shí)間后由單片機(jī)控制繼電器自動(dòng)關(guān)閉智能插座;用戶(hù)也可以通過(guò)點(diǎn)擊開(kāi)、關(guān)超鏈接即時(shí)控制智能插座的通電狀態(tài)[5]。
5 結(jié)語(yǔ)
本文系統(tǒng)介紹了基于ESP8266串口WiFi的智能插座關(guān)鍵技術(shù)的實(shí)現(xiàn),重點(diǎn)介紹了系統(tǒng)的設(shè)計(jì)思路、及其軟、硬件系統(tǒng)。
參考文獻(xiàn):
[1]劉奧川,詹琳.智能插座的設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2016(6):177-178.
[2]薛靈芝.基于WIFI的智能插座[J].傳播力研究,2018(29):252.
[3]李文彬.基于WiFi的智能插座系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2018(5):70-74.
[4]郭劍鵬,仲志丹,丁英杰,等.基于Arduino單片機(jī)的智能小車(chē)避障設(shè)計(jì)[J].科學(xué)技術(shù)創(chuàng)新,2018(13):61-62.
[5]許鵬,劉昕瑀,包武.基于Arduino的智能家居燈控系統(tǒng)設(shè)計(jì)[J].電子制作,2018(1):29-32.