国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ESP8266的物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)

2021-06-17 07:41薛迪杰
電子制作 2021年11期
關(guān)鍵詞:云端服務(wù)器單片機(jī)

薛迪杰

(江西理工大學(xué)能源與機(jī)械工程學(xué)院,江西南昌,330013)

0 引言

近年來,一種全新的網(wǎng)絡(luò)—物聯(lián)網(wǎng)(Internet of Things)隨著網(wǎng)絡(luò)電子技術(shù)的飛速發(fā)展,出現(xiàn)在公眾面前。作為互聯(lián)網(wǎng)領(lǐng)域的另一個拓展,物聯(lián)網(wǎng)很快被人們接受,并融入了人們生活、生產(chǎn)的方方面面[1]。在過去互聯(lián)網(wǎng)時代,現(xiàn)實生活中的很多信息在網(wǎng)絡(luò)上很難被感知和傳輸,然而物聯(lián)網(wǎng)的到來卻改變了這一現(xiàn)狀,并將用戶端延伸并擴(kuò)展到了任何物體與物體之間的信息互換和交流,于是互聯(lián)網(wǎng)將世界萬物組成了一個巨大網(wǎng)絡(luò)。本文介紹了一種基于ESP8266的物聯(lián)網(wǎng)遠(yuǎn)程控制系統(tǒng),利用ESP8266模塊將傳感器設(shè)備、控制設(shè)備和檢測設(shè)備等接入了互聯(lián)網(wǎng)。本遠(yuǎn)程控制系統(tǒng)利用STM32F103C8T6單片機(jī)作為主控制器,利用STM32F103C8T6單片機(jī)高速的數(shù)據(jù)處理能力和豐富的片上資源,可以完美驅(qū)動OLED屏幕,兼容ESP8266WIFI模塊和各種傳感器,并可解決傳輸速度問題[2]。本設(shè)計完成后,用戶通過手機(jī)中安裝的APP可以隨時隨地的進(jìn)行實時監(jiān)控,如:監(jiān)測固定區(qū)域中PM2.5濃度,家中門窗是否關(guān)閉,家中天然氣濃度等,并且可以對相關(guān)設(shè)備進(jìn)行遠(yuǎn)程控制;本設(shè)計系統(tǒng)只要在有互聯(lián)網(wǎng)的地方均可工作,無論距離多遠(yuǎn),甚至在地球的另一端也能輕松的進(jìn)行遠(yuǎn)程監(jiān)測和控制。

1 系統(tǒng)工作過程

系統(tǒng)要實現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程控制,首先必須在互聯(lián)網(wǎng)上建立一個服務(wù)器。本系統(tǒng)直接選用互聯(lián)網(wǎng)上已經(jīng)建好的貝殼物聯(lián)云端服務(wù)器,主要優(yōu)點(diǎn)是方便快捷,無需自己再重新創(chuàng)建私人的服務(wù)器。其次對手機(jī)端進(jìn)行配置,在手機(jī)上創(chuàng)建APP,并根據(jù)貝殼物聯(lián)云端服務(wù)器對手機(jī)中APP進(jìn)行配置,使得手機(jī)與服務(wù)器建立起TCP連接。然后對終端物聯(lián)網(wǎng)ESP8266模塊進(jìn)行配置,并使其也與云端服務(wù)器建立起TCP長連接[3]。

手機(jī)端和物聯(lián)網(wǎng)終端分別與云端服務(wù)器建立好連接后,接下來進(jìn)行數(shù)據(jù)發(fā)收測試。在手機(jī)端使用JSON數(shù)據(jù)的網(wǎng)絡(luò)通信發(fā)送數(shù)據(jù)到服務(wù)器,服務(wù)器在接收到數(shù)據(jù)后,會把接收到的數(shù)據(jù)再轉(zhuǎn)發(fā)給終端物聯(lián)網(wǎng)控制和監(jiān)測模塊。終端接收數(shù)據(jù)如果和發(fā)送數(shù)據(jù)一致,則通信正常。

然后在物聯(lián)網(wǎng)控制和監(jiān)測模塊終端利用STM32F103 C8T6單片機(jī)控制ESP8266模塊發(fā)送數(shù)據(jù)到云端服務(wù)器,云端服務(wù)器在接收到數(shù)據(jù)后,將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)至手機(jī)APP端,在手機(jī)終端APP上顯示。如果發(fā)送數(shù)據(jù)和接收數(shù)據(jù)一致,則通信正常。

系統(tǒng)利用云端服務(wù)器作為互聯(lián)網(wǎng)中間媒介,實現(xiàn)手機(jī)APP和物聯(lián)網(wǎng)終端互聯(lián)互通,從而完成數(shù)據(jù)傳輸,遠(yuǎn)程控制和監(jiān)測。

2 系統(tǒng)結(jié)構(gòu)

本系統(tǒng)通過ESP8266 WIFI模塊與互聯(lián)網(wǎng)連接,每個模塊均有獨(dú)立的設(shè)備ID及獨(dú)立的數(shù)據(jù)傳輸接口,數(shù)據(jù)傳輸接口數(shù)量可以在貝殼物聯(lián)官網(wǎng)自行添加或刪除。本系統(tǒng)在開機(jī)之后輸入需要連接的WIFI賬號及密碼,連接上網(wǎng)絡(luò)之后,各個設(shè)備開始工作,各個分設(shè)備通過網(wǎng)絡(luò)將需要采集的數(shù)據(jù)傳輸?shù)街鳈C(jī)設(shè)備上,用戶也可通過手機(jī)APP控制相應(yīng)的設(shè)備,云端下傳到設(shè)備的數(shù)據(jù)通過CJson解碼,把需要的數(shù)據(jù)解析出來以用作控制相應(yīng)的設(shè)備。系統(tǒng)在無人干預(yù)狀態(tài)下根據(jù)環(huán)境中天然氣含量判斷是否天然氣泄漏,如果檢測出天然氣泄漏,設(shè)備可自動關(guān)閉天然氣開關(guān)并向用戶發(fā)送天然氣泄漏信息。也可自主檢測環(huán)境溫濕度,當(dāng)溫度過高時設(shè)備自主打開空調(diào)開關(guān),當(dāng)濕度過高或過低時,設(shè)備自主打開除濕機(jī)或霧化器,超過設(shè)定警報值主機(jī)設(shè)備通過語音自主播報。

本系統(tǒng)以貝殼物聯(lián)為中心,可根據(jù)官網(wǎng)上的貝殼物聯(lián)平臺通信協(xié)議連接云平臺。貝殼物聯(lián)云平臺提供的通信協(xié)議有TCP、UDP、HTTP、Websocket四種通信協(xié)議,本系統(tǒng)采用的是TCP協(xié)議。用戶可通過瀏覽器登陸官網(wǎng)、下載官方APP、建立微信通信協(xié)議及自行開發(fā)APP四種方式與云端進(jìn)行連接,并傳遞數(shù)據(jù)。物聯(lián)網(wǎng)終端硬件設(shè)備主要以意法半導(dǎo)體的STM32F1系列芯片為主,通過ESP8266網(wǎng)絡(luò)模塊及其他外圍電路與云端進(jìn)行連接,把主控單片機(jī)通過傳感器采集處理過的數(shù)據(jù)通過網(wǎng)絡(luò)模塊發(fā)向云端,通信數(shù)據(jù)格式為Json字符串,設(shè)備通過解碼獲得Json字符串中相應(yīng)的鍵值。該系統(tǒng)以接口層用戶、中間層服務(wù)器及控制層設(shè)備組成一套基于ESP8266為基礎(chǔ)的遠(yuǎn)程控制監(jiān)測系統(tǒng)??傁到y(tǒng)框圖如圖1所示。

圖1 總系統(tǒng)原理框圖

3 系統(tǒng)硬件部分

本系統(tǒng)硬件部分由STM32F103C8T6單片機(jī)構(gòu)成主控,完成主要的傳感器數(shù)據(jù)處理,控制信號的產(chǎn)生以及控制語音模塊完成語音提示,并通過串口向ESP8266WIFI模塊發(fā)送AT指令控制其連接AP,實現(xiàn)設(shè)備與云端之間的通信。云端服務(wù)器與手機(jī)移動端APP的連接,把數(shù)據(jù)和相應(yīng)設(shè)備上的傳感器感知的數(shù)據(jù)在移動端顯示出來。如:當(dāng)家里沒人時可通過濕度傳感器檢測綠植是否需要澆水,需要澆水時可通過APP的控制小水泵對綠植進(jìn)行澆水,類似的也可控制室內(nèi)溫度,控制門窗等。系統(tǒng)硬件框圖如圖2所示。

圖2 系統(tǒng)硬件框圖

■3.1 STM32F103C8T6主控芯片

作為各個控制和檢測外設(shè)模塊的核心,主控芯片用來處理傳感器的數(shù)據(jù)和發(fā)送網(wǎng)絡(luò)模塊的控制信號。主控芯片具備高性能,低功耗的特點(diǎn),其內(nèi)部Cortex?-M3 32位的RISC內(nèi)核,工作頻率最高可達(dá)到72MHz,使用時可用內(nèi)部分頻器生成自己需要的相應(yīng)頻率,內(nèi)置高達(dá)64K字節(jié)的閃存和20K字節(jié)的SRAM,無需外擴(kuò)存儲器,芯片具有充裕的I/O接口,方便用戶連接外設(shè),并且還支持連接APB總線。STM32處理器具有睡眠模式、停機(jī)模式、待機(jī)模式三種低功耗模式,單片機(jī)在低功耗狀態(tài)下喚醒時間可以達(dá)到微秒級[4]。ST意法半導(dǎo)體公司為單片機(jī)提供了豐富的庫函數(shù),用戶在使用時,可以方便靈活的調(diào)用相關(guān)庫函數(shù)和片上資源,大大提高了開發(fā)效率,縮短了開發(fā)周期。本設(shè)計中采用AT指令對ESP8266WIFI模塊進(jìn)行控制聯(lián)網(wǎng)時,主要用到主控制芯片中的UART串口通信,主控制芯片UART串口多達(dá)3個,完全滿足每個設(shè)備的需求(系統(tǒng)所需最多3個串口,OLED顯示屏幕使用內(nèi)置SPI資源)。系統(tǒng)主控STM32芯片使用方便、內(nèi)部資源豐富、性價比高,非常適合作為本設(shè)計的主控芯片。

■3.2 ESP8266WIFI模塊

該模塊的處理器為樂鑫公司研發(fā)的專用于物聯(lián)網(wǎng)的一款芯片。用戶可以使用該WIFI模塊為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能,也可以夠構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器[5]。該模塊供電范圍為3.0V~3.6V,供電電流需大于500mA。在給該模塊供電時,電源端需添加濾波電容,保證供電電壓的穩(wěn)定性,供電接口處連接到3.3V的穩(wěn)壓電路上,通信時必須保證電壓穩(wěn)定,不然容易造成設(shè)備與云端出現(xiàn)斷連的情況。在檢測溫度的設(shè)備上,系統(tǒng)將溫度傳感器與網(wǎng)絡(luò)模塊分開布置,并且給網(wǎng)絡(luò)模塊安裝散熱器或開啟低功耗模式,避免該模塊運(yùn)行時產(chǎn)生大量的熱量。如果不采取相應(yīng)處理措施,會造成傳感器測量誤差加大,導(dǎo)致檢測數(shù)據(jù)不準(zhǔn)確。ESP8266模塊電路原理圖如圖3所示。

圖3 ESP8266模塊電路原理圖

■3.3 OLED顯示屏模塊

本系統(tǒng)選用0.96寸的OLED顯示屏作為顯示部件。該模塊具有無需背光、視角范圍廣、對比度高、低能耗、刷新反應(yīng)速度快、全彩化高等優(yōu)點(diǎn)。此模塊具有SPI通信接口,可以搭配主控單片機(jī)的SPI接口,從而節(jié)省主控制芯片I/O口;此外低耗電及高對比度不僅可以節(jié)能,更增加了可視化界面美觀性。結(jié)合主控制器的片上資源和該顯示屏的優(yōu)點(diǎn),選用該OLED作為顯示模塊。

■3.4 編碼器電路

編碼器電路作為輸入電路,用來修改所需要登陸的WIFI賬號和密碼,由于WIFI賬號和密碼多為英文字母和數(shù)字組成,所以事先在控制芯片中保存了26英文字母(可選擇大小寫)和0-9的數(shù)字,通過編碼器作為外部輸入設(shè)備來修改物聯(lián)網(wǎng)終端需要連接的無線網(wǎng)絡(luò)。因為輸入的信息較多,而STM32F103C8T6控制芯片的I/O有限,為了不占用主控單片機(jī)過多的I/0口,因此放棄使用矩陣鍵盤的輸入方式,改用編碼器選擇顯示屏的數(shù)據(jù)輸入方式,這樣能節(jié)省鍵盤掃描方式占用的I/O口,為外接其他設(shè)備保留更多的I/O接口。

■3.5 語音播報模塊

本設(shè)計為了體現(xiàn)人性化設(shè)計,還加入了語音播報模塊,系統(tǒng)采用國外開源DFPlayer Mini MP3 Player mini音樂播放器模塊。每個外圍設(shè)備預(yù)先合成一種播報語音儲存在TF卡中,根據(jù)主控單片機(jī)芯片的計算與處理選擇相應(yīng)需要播報的音頻,控制芯片通過簡單的UART接收指令即可完成播放指定的播報音頻,音量大小可通過外圍設(shè)計功率放大器和調(diào)節(jié)器件,完成音量大小的調(diào)節(jié)。

■3.6 傳感器模塊

傳感器模塊部分設(shè)計為可拆卸替換模塊,不同用戶可以根據(jù)所需要檢測和控制的對象靈活進(jìn)行更換,電路只要少許改變,源代碼稍作修改就可以變換不同的檢測傳感器模塊,從而對不同檢測對象進(jìn)行測量。本系統(tǒng)設(shè)計可測量對象包括環(huán)境溫濕度、空氣PM2.5、環(huán)境亮暗度、光照強(qiáng)度、甲烷含量、漏水等測量對象。各個模塊可以相互替換,這種設(shè)計可以大大縮短PCB制版的時間。

■3.7 控制模塊

控制模塊采用單片機(jī)控制繼電器的方式構(gòu)成控制電路,在繼電器與I/O口之間添加光耦進(jìn)行隔離,增加系統(tǒng)的穩(wěn)定性。繼電器的控制端主要由物聯(lián)網(wǎng)終端主控單片機(jī)參照相關(guān)指令進(jìn)行控制,繼電器的負(fù)載端用來連接相應(yīng)的用電設(shè)備,如空調(diào)、加濕器、水泵等。

4 系統(tǒng)軟件部分

系統(tǒng)軟件部分主要由網(wǎng)絡(luò)模塊聯(lián)網(wǎng)、OLED顯示、編碼器讀取、語音播報、傳感器讀取、外圍設(shè)備控制幾個程序模塊組成,程序開始后先要對各個模塊進(jìn)行初始化,然后進(jìn)入監(jiān)測控制程序,實時監(jiān)測和控制被測對象,系統(tǒng)監(jiān)測和控制部分程序流程圖如圖4所示。

系統(tǒng)程序開始運(yùn)行后,需要先對ESP8266WiFi模塊進(jìn)行初始化,先對WiFi模塊復(fù)位重啟,然后設(shè)置成AP工作模式,并啟動多連接,最后設(shè)置開啟服務(wù)器模式。WiFi模塊的波特率設(shè)置9600,和單片機(jī)串口連接,并保持一致。WiFi模塊初始化函數(shù)如下:

圖4 系統(tǒng)監(jiān)測和控制部分程序流程圖

Void WIFI_Init(void)

{

ES = 0;

TI = 1;

printf(“AT+RST ”);

LED();

ms_delay(1000) ;

printf(“AT+CWMODE=3 ”);

LED();

ms_delay(1000) ;

printf(“AT+CIPMUX=1 ”);

LED();

ms_delay(1000) ;

printf(“AT+CIPSERVER=1,8080 ”);

LED();

ms_delay(1000) ;

printf("AT+CIOBAUD=9600 ");

// 設(shè)置與單片機(jī)一致的波特率

LED();

ms_delay(1000) ;

while(!TI);

TI = 0;

ES = 1;

}

5 系統(tǒng)測試及運(yùn)行結(jié)果

安裝調(diào)試好系統(tǒng)后,在實驗室進(jìn)行測試。在傳感器模塊裝上溫濕度檢測傳感器,并將繼電器負(fù)載接上空調(diào)和加濕器,分別進(jìn)行制冷和加濕控制。系統(tǒng)開機(jī)運(yùn)行后,可以實時在手機(jī)APP上看到室內(nèi)溫度和濕度。測試手機(jī)APP在異地登錄控制系統(tǒng),通過連上互聯(lián)網(wǎng)的手機(jī)可以遠(yuǎn)程控制空調(diào)和加濕器的開啟和關(guān)閉,完全不受地理位置的限制,實現(xiàn)了遠(yuǎn)程控制和監(jiān)測。系統(tǒng)手機(jī)APP端運(yùn)行界面如圖5所示。

圖5 系統(tǒng)手機(jī)APP端運(yùn)行界面

6 結(jié)語

該系統(tǒng)經(jīng)過多次測試與運(yùn)行,不斷改進(jìn)以及不斷優(yōu)化程序,目前已經(jīng)可以穩(wěn)定運(yùn)行。系統(tǒng)可顯示數(shù)據(jù)波形圖,PC端可以與移動設(shè)備端同時在線控制,并且可以在此基礎(chǔ)上添加其他傳感器。系統(tǒng)在運(yùn)行中,使用AT指令編程,通過串口通信控制WIFI模塊,通信數(shù)據(jù)經(jīng)過物聯(lián)網(wǎng)平臺安全加密。本系統(tǒng)外圍傳感器模塊目前已設(shè)置有PM2.5檢測電路、甲烷檢測電路、溫濕度檢測電路、門窗控制電路。測試表明,整個系統(tǒng)監(jiān)測數(shù)據(jù)準(zhǔn)確,控制便捷,同時系統(tǒng)電路易于維護(hù),達(dá)到預(yù)期目標(biāo)。此外,整套系統(tǒng)成本較低,經(jīng)濟(jì)實用,適合推廣。本系統(tǒng)還可以進(jìn)一步加強(qiáng)其功能,將原有的AT配網(wǎng)更改為移動設(shè)備配網(wǎng),開發(fā)方式由AT指令開發(fā)更改為SDK固件包開發(fā),這樣系統(tǒng)可以節(jié)省外接單片機(jī)的成本且同樣能滿足系統(tǒng)需求。

猜你喜歡
云端服務(wù)器單片機(jī)
基于單片機(jī)的智能平衡小車設(shè)計
四海心連·云端匯聚
在云端永生
2018年全球服務(wù)器市場將保持溫和增長
在云端
《云端三公尺》:下一個天亮,誰在等你
C8051F020與80C51單片機(jī)的異同點(diǎn)
用獨(dú)立服務(wù)器的站長注意了
定位中高端 惠普8路服務(wù)器重裝上陣
單片機(jī)I/O口模擬串行通訊的C51實現(xiàn)方法
卢氏县| 体育| 威海市| 陆川县| 定安县| 永安市| 乌兰察布市| 三江| 会宁县| 泸州市| 庆安县| 梧州市| 札达县| 南涧| 沁水县| 瑞金市| 石河子市| 手游| 兴国县| 昆山市| 清水河县| 嘉定区| 彰武县| 深泽县| 特克斯县| 大化| 金堂县| 宁阳县| 清涧县| 南昌县| 嘉荫县| 枣强县| 英德市| 绥化市| 崇阳县| 恭城| 五莲县| 宾阳县| 新津县| 隆德县| 贡山|