石宜金 譚貴生 王勇剛
摘 要:采用ESP8226芯片設(shè)計(jì)一款物聯(lián)網(wǎng)簡(jiǎn)易實(shí)驗(yàn)箱,并將實(shí)驗(yàn)箱應(yīng)用到本科的物聯(lián)網(wǎng)和電子專業(yè)實(shí)踐教學(xué)中,讓學(xué)生能夠?qū)W習(xí)到電路設(shè)計(jì)、硬件驅(qū)動(dòng)編程和上層APP編程,熟悉物聯(lián)網(wǎng)系統(tǒng)開(kāi)發(fā).學(xué)生可以在這個(gè)物聯(lián)網(wǎng)開(kāi)發(fā)板上設(shè)計(jì)創(chuàng)新實(shí)驗(yàn),制作物聯(lián)網(wǎng)作品.
關(guān)鍵詞:實(shí)驗(yàn)箱;物聯(lián)網(wǎng);ESP8226
[中圖分類號(hào)]G642 ? [文獻(xiàn)標(biāo)志碼]A
Abstract:The ESP8226 chip is used to design a simple experiment box for the Internet of Things,and the experiment box is applied to the practical teaching of the Internet of Things and electronics specialty of the undergraduate, so that students can learn circuit design,hardware-driven programming and upper-level APP programming,and are familiar with the Internet of Things system Development,students can design innovative experiments and make IoT works on this IoT development board.
Key words:experiment box;Internet of things;ESP8226
物聯(lián)網(wǎng)系統(tǒng)[1]、智能家居系統(tǒng)隨著5G時(shí)代的到來(lái)有了飛躍發(fā)展[2],給高校的教學(xué)尤其是實(shí)踐教學(xué)帶來(lái)了更多的機(jī)遇.筆者結(jié)合云南大學(xué)旅游文化學(xué)院物聯(lián)網(wǎng)工程專業(yè)和電子信息工程專業(yè)的專業(yè)實(shí)踐,設(shè)計(jì)一款簡(jiǎn)易物聯(lián)網(wǎng)實(shí)驗(yàn)箱,并將實(shí)驗(yàn)箱應(yīng)用到本科的物聯(lián)網(wǎng)和電子專業(yè)實(shí)踐教學(xué)中.
1 硬件設(shè)計(jì)
系統(tǒng)的整體硬件功能包括聲光模塊、溫度濕度模塊、無(wú)線通信模塊、串口通信模塊等.板載有LED燈、蜂鳴器、外接電源等.硬件核心板主要采用ESP8226控制,主要搭載7個(gè)GPIO接口,模擬輸入輸出,IIC總線接口和串口UART.所有的引腳都支持中斷、PWM輸出、單總線和I2C.核心板的電路制作采用Altium Designer16(簡(jiǎn)稱AD16)完成.[3-4]
制作簡(jiǎn)潔的物聯(lián)網(wǎng)最小系統(tǒng)板,其他外接模塊可以輕松擴(kuò)展和互聯(lián).網(wǎng)絡(luò)組網(wǎng)采用WIFI進(jìn)行連接.電路圖見(jiàn)圖1,為ASM117恒流源電路.設(shè)計(jì)J1-J14接口,主要包括GPIO接口、串口、板載蜂鳴器和LED等,接上ESP8226模塊便可以進(jìn)行組網(wǎng),對(duì)外圍電路進(jìn)行控制.核心板主要起到控制和組網(wǎng)的功能,為了能夠讓板子具有豐富的外圍設(shè)備,讓核心板能夠?qū)ν鈬M(jìn)行控制,需要設(shè)計(jì)一些外圍電路來(lái)進(jìn)行控制,包括典型的蜂鳴器控制、溫度濕度模塊、聲光控制模塊等,這些外圍設(shè)備可以由學(xué)生自行焊接,也可以購(gòu)買(mǎi)分立元件進(jìn)行組裝,完成核心板外圍的設(shè)計(jì)制作后,便可以進(jìn)行上層上位機(jī)的軟件開(kāi)發(fā).
2 軟件設(shè)計(jì)
上位機(jī)軟件開(kāi)發(fā)是實(shí)現(xiàn)物聯(lián)網(wǎng)智能連接的重要手段,采用手機(jī)APP進(jìn)行控制.
空調(diào)控制模塊 該模塊采用外圍電路,自行焊接.設(shè)計(jì)完成后書(shū)寫(xiě)驅(qū)動(dòng),通過(guò)觸發(fā)手機(jī)終端界面的空調(diào)開(kāi)關(guān)信號(hào).開(kāi)發(fā)板由GPIO接口向電機(jī)驅(qū)動(dòng)電路輸入高電平脈沖信號(hào),驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng);再次觸發(fā)輸入低電平脈沖信號(hào),則電機(jī)停止轉(zhuǎn)動(dòng).
溫度和濕度模塊 由DHT11溫度傳感器模塊實(shí)現(xiàn),外部接收到溫度信息后轉(zhuǎn)換為二進(jìn)制代碼,再通過(guò)GPIO端口傳入主控芯片,經(jīng)代碼處理,最終在手機(jī)界面上實(shí)時(shí)顯示.
ESP8266串口WiFi模塊 硬件系統(tǒng)和上層APP連接的關(guān)鍵硬件,是一款串口轉(zhuǎn)無(wú)線模塊,使用操作簡(jiǎn)易,內(nèi)部帶有固件,不需要編寫(xiě)時(shí)序信號(hào),內(nèi)置低功耗32位CPU,可以當(dāng)作應(yīng)用處理器使用.ESP8266Wi-Fi模塊、USB接口、外接引腳組成尺寸為49 mm×24.5mm×13 mm一塊較小的開(kāi)發(fā)板.外置15個(gè) 2 mm×2.54 mm針接頭,可以訪問(wèn)SPI,ADC, GPIO,UART和電源引腳.USB接口可用于連接電源、調(diào)試以及編程.
實(shí)驗(yàn)箱的設(shè)計(jì)基于ESP8266系統(tǒng)芯片擴(kuò)展設(shè)計(jì),ESP8266wifi模塊與nodemcu 板兼容.可以在Mixly進(jìn)行編程,通過(guò)micro USB線連接就可以進(jìn)行程序燒寫(xiě).部分引腳具有PWM功能,在手機(jī)App上配置引腳功能即可使用,通過(guò)熱點(diǎn)可直接連接到移動(dòng)端,獲取信號(hào)或上傳數(shù)據(jù).
3 空調(diào)和溫濕度模塊控制設(shè)計(jì)
設(shè)計(jì)思路 使用移動(dòng)手機(jī)應(yīng)用程序(Blynk)由WIFI向開(kāi)發(fā)板發(fā)送信號(hào),驅(qū)動(dòng)外圍硬件電路或是硬件接收信號(hào),控制芯片處理后手機(jī)上接收并在APP上顯示.通過(guò)使用移動(dòng)手機(jī)應(yīng)用程序(Blynk)由WIFI向?qū)嶒?yàn)箱發(fā)送信號(hào),驅(qū)動(dòng)外圍硬件電路.空調(diào)控制模塊程序大致分為兩部分,WIFI設(shè)備連接的信息配置和接受傳感器溫度,采用圖形化編程和代碼編程兩種編程方式,包括配置、驅(qū)動(dòng)實(shí)現(xiàn)和上傳三個(gè)步驟.
用戶配置代碼 設(shè)置WIFI名為移動(dòng)端熱點(diǎn)名和熱點(diǎn)密碼,添加Blynk手機(jī)應(yīng)用程序端授權(quán)碼.連接WIFI授權(quán)關(guān)鍵代碼為:
#define BLYNK_PRINT Serial
#include
#include
char auth[] = "DKFdYnRMX8nBiJfQjS4SshTbbyqyJF2Z";
char ssid[] = "syj";
char pass[] = "shiyijin";
void setup(){
Serial.begin(9600);
Blynk.begin(auth,ssid,pass,"blynk-cloud.com",8080);
}
接收溫濕度代碼 溫濕度接收需調(diào)用DHT11傳感器的接收函數(shù),部分關(guān)鍵代碼為:
∥author syj
#include
#include
#include
BlynkTimer timer;
U8G2_SSD13606_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,SCL,SDA,U8X8_PIN_NONE);
DTH dth2(2,11);
void mtTimerEvent2(){
Blynk.virtualErite(V0.dth2,readTemperature());
Blynk.virtualErite(V1.dth2,readHumidity());}
void page1(){
u8g2.setFont(u8g2_font_timR08_tr);
u8g2.setFontPosTop();
u8g2.setCursor(0,20);
u8g2.print("溫度");
u8g2.setCursor(60,20);
u8g2.print(dth2.readTemperature());}
移動(dòng)端配置 開(kāi)啟手機(jī)熱點(diǎn),設(shè)置WLAN熱點(diǎn)信息.設(shè)置網(wǎng)絡(luò)名稱和密碼,在空調(diào)控制模塊添加PWM滑塊掛件、溫濕度值顯示掛件、溫度圖表顯示掛件,相對(duì)應(yīng)的硬件引腳為GP13(端口號(hào)D7),溫濕度度值顯示與溫度圖表供用虛擬引腳V0,V1/GP2(端口號(hào)D4).
程序燒寫(xiě) 使用microUSB連接線將CP2102開(kāi)發(fā)板與PC機(jī)連接,在PC中打開(kāi)Mixly,點(diǎn)擊上傳進(jìn)行程序燒寫(xiě).
硬件焊接和硬件調(diào)試 使用杜邦線將外接電路與實(shí)驗(yàn)箱相對(duì)應(yīng)得端口連接,開(kāi)發(fā)板連接外圍電路USB插口(供電).開(kāi)啟手機(jī)熱點(diǎn),并與開(kāi)發(fā)板連接.成功連接后,打開(kāi)APP點(diǎn)選模塊運(yùn)行控件,實(shí)現(xiàn)智能控制.控制空調(diào)模塊功能,滑動(dòng)PWM滑塊電機(jī)轉(zhuǎn)動(dòng),轉(zhuǎn)速與滑塊相對(duì)應(yīng).
結(jié)語(yǔ)
采用ESP8226芯片設(shè)計(jì)一款物聯(lián)網(wǎng)簡(jiǎn)易實(shí)驗(yàn)箱,并將實(shí)驗(yàn)箱應(yīng)用到本科的物聯(lián)網(wǎng)和電子專業(yè)實(shí)踐教學(xué)中,讓學(xué)生能夠?qū)W習(xí)到電路設(shè)計(jì)、硬件驅(qū)動(dòng)編程和上層APP編程,熟悉物聯(lián)網(wǎng)系統(tǒng)開(kāi)發(fā),學(xué)生可以在這個(gè)物聯(lián)網(wǎng)開(kāi)發(fā)板上設(shè)計(jì)創(chuàng)新實(shí)驗(yàn),制作物聯(lián)網(wǎng)作品.
參考文獻(xiàn)
[1]呂廷杰.物聯(lián)網(wǎng)的由來(lái)與發(fā)展趨勢(shì)[J].信息通信技術(shù),2010:4-8.
[2]朱敏玲,李寧.智能家居發(fā)展現(xiàn)狀及未來(lái)淺析[J]電視技術(shù),2015,39(4):82-96.
[3]張秋波.基于Android手機(jī)和WiFi的網(wǎng)絡(luò)定時(shí)開(kāi)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[D].及吉林:吉林大學(xué),2015.
[4]馮川放.基于zigBee模塊設(shè)計(jì)的嵌入式系統(tǒng)教學(xué)開(kāi)發(fā)平臺(tái)的研究[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2013(3):17-19.
[5]張小紅.基于 Android 的無(wú)線智能家居系統(tǒng)設(shè)計(jì)與研究[D]成都:電子科技大學(xué),2016.
[6]華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)中心.嵌入式 Linux 應(yīng)用程序開(kāi)發(fā)標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2009:22-48.
[7]王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)—基于 ARM 微處理器與 uC/OS-II 實(shí)時(shí)操作系統(tǒng)[M].北京:清華大學(xué)出版社,2002:72-80.
[8]韋東山.嵌入式 Linux 應(yīng)用開(kāi)發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2008:204-13.
[9]倪天龍.單總線傳感器DHT11在溫濕度測(cè)控中的應(yīng)用[J]單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(6):40-62.
[10]王雪艷.單片機(jī)系統(tǒng)接入Internet設(shè)計(jì)中Embedded Web Server的實(shí)現(xiàn)[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2006(2):13-14.
編輯:吳楠