劉孝趙
(蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院機電與信息技術(shù)學(xué)院,江蘇蘇州,215009)
基于ESP8266模塊的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計
劉孝趙
(蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院機電與信息技術(shù)學(xué)院,江蘇蘇州,215009)
文章設(shè)計一種可以遠(yuǎn)程采集和控制溫度濕度和控制燈光的智能家居系統(tǒng),系統(tǒng)可以把通過ARM芯片采集的溫濕度數(shù)據(jù)發(fā)送到遠(yuǎn)程監(jiān)控的手機和平板電腦等移動終端上,并且用終端反向控制采集端。系統(tǒng)采用C語言和JAVA語言編程,用MDK5和eclipse等軟件進(jìn)行調(diào)試。
數(shù)據(jù)采集;遠(yuǎn)程控制;移動終端
隨著現(xiàn)代信息技術(shù)水平的提高,對遠(yuǎn)程數(shù)據(jù)采集的需求也越來越高,本文將設(shè)計一個遠(yuǎn)程溫濕度數(shù)據(jù)采集系統(tǒng),可以用于智慧農(nóng)業(yè)領(lǐng)域,更好的對農(nóng)作物生長過程實時監(jiān)控。本文采用TCP/IP協(xié)議對終端溫度和控制碼進(jìn)行傳輸,建立遠(yuǎn)程采集和控制流程,從而實現(xiàn)智能采集系統(tǒng)。采集端上有一個溫濕度傳感器(DHT11)和WIFI模塊ESP8266,數(shù)據(jù)使用WIFI模塊通過TCP/IP協(xié)議,將數(shù)據(jù)傳送到云端服務(wù)器的數(shù)據(jù)庫里,再采用移動終端提取數(shù)據(jù)庫的數(shù)據(jù),并顯示在移動終端上,從而實現(xiàn)(溫度濕度)采集。
WIFI模塊選用的是ESP8266芯片,該芯片是一款高性能的UART-WIFI(串口-無線)模塊,該模塊串口與其他串口設(shè)備通信,內(nèi)置TCP/IP協(xié)議,可以實現(xiàn)串口與WIFI之間的轉(zhuǎn)換。
ESP8266芯片采用TTL電平,支持與3.3V和5V的MCU控制器進(jìn)行通信,模塊支持串口轉(zhuǎn)WIFI STA、串口轉(zhuǎn)AP和串口轉(zhuǎn)WIFI STA+AP三種模式。其中WIF STA模式相當(dāng)于手機或者電腦里的無線網(wǎng)卡功能,可以連接到WIFI;AP模式相當(dāng)于手機開熱點,會生成一個WIFI熱點供其它設(shè)備鏈接;WIFI STA+AP模式就是WIFI STA模式和AP模式的功能都有,最終通過WIFI STA模式連接一個有互聯(lián)網(wǎng)訪問的WIFI熱點,就可以實現(xiàn)串口設(shè)備訪問互聯(lián)網(wǎng)。
2.1 系統(tǒng)結(jié)構(gòu)
本文的系統(tǒng)設(shè)計主要由采集終端,云端服務(wù)器端,移動終端組成。采集終端通過MCU對當(dāng)前溫度濕度進(jìn)行不斷的讀取,并且不斷的通過TCP/IP協(xié)議把數(shù)據(jù)發(fā)送到云服務(wù)器端,云服務(wù)器端把接收到的數(shù)據(jù)按順尋存到云服務(wù)器端的數(shù)據(jù)庫里,并且把最新的一條數(shù)據(jù)通過jason數(shù)據(jù)的格式顯示在服務(wù)器端的網(wǎng)頁上,移動端獲取云服務(wù)區(qū)端網(wǎng)頁的數(shù)據(jù),并把數(shù)據(jù)顯示到移動端的屏幕上。從而實現(xiàn)溫濕度的遠(yuǎn)程采集。
2.2 系統(tǒng)功能設(shè)計
移動端要想實時顯示數(shù)據(jù)采集端采集的數(shù)據(jù),就必須要實現(xiàn)兩個功能,一個是能采集溫度數(shù)據(jù),另一個把數(shù)據(jù)存儲在云服務(wù)端的數(shù)據(jù)庫里。
(1)溫度濕度采集功能,就是通過主控MCU采集到當(dāng)前環(huán)境下的溫度數(shù)據(jù)。
(2)數(shù)據(jù)存儲功能,就是要把采集到的數(shù)據(jù)儲存在云服務(wù)器端的數(shù)據(jù)庫里,可供隨時查閱數(shù)據(jù)信息。
2.3 采集端的電路設(shè)計
采集端電路原理圖如圖1所示,電路主控MCU采用ARM公司的STM32F407芯片, STM34F407芯片是一款高性能的MCU,里面集成了AD采集,DA輸出,串口,IIC,SPI等片上外設(shè)。STM32F407的內(nèi)核帶有FPU的ARM?32位Cortex?-M4CPU,主頻高達(dá)168MHz,具有DSO指令集。并且它有1MB的 Flash,192+4KB的SRMA,可以搭載外部的存儲控制器。它還有12個16位定時器,2個32位的高頻定時器,每個定時器都有4個輸入捕獲/輸出比較/PWM,或脈沖計數(shù)器與正交編碼器輸入。
在這個系統(tǒng)中,通過溫濕度傳感器采集溫濕度,然后用串口和WIFI模塊進(jìn)行連接通信,把溫度和濕度傳給WIFI模塊,并且通過SPI把當(dāng)前溫度濕度信息顯示在液晶彩屏上。
圖1 硬件電路圖
3.1 采集端的軟件設(shè)計
采集端主要由液晶顯示程序,WIFI模塊程序,溫濕度采集程序等組成。采用C語言編程,MDK5進(jìn)行調(diào)試。ARM上電后,首先執(zhí)行液晶顯示程序,對液晶進(jìn)行初始化。然后通過串口對WIFI模塊進(jìn)行操作,單片機首先選擇WIFI模塊的工作模式,這里我們用的是WIFI STA模式,然后開始連接WIFI,連接成功后再通過TCP/IP協(xié)議和云服務(wù)器建立連接,然后開始等待數(shù)據(jù)。最后通過溫濕度采集程序把數(shù)據(jù)發(fā)給WIFI模塊。
3.2 云服務(wù)器端的軟件設(shè)計
云服務(wù)器端采用的是阿里云服務(wù)器,服務(wù)器用的是LINUX操作系統(tǒng),并且里面集成了tomcat,mysql和java等環(huán)境。這里采用阿里云服務(wù)器,主要是因為阿里云服務(wù)器可以免費選擇操作系統(tǒng)的運行環(huán)境,省去了自己配置服務(wù)器的步驟,可以更方便更簡潔的開發(fā)和調(diào)試代碼。并且阿里云價格便宜。
云服務(wù)器端由兩個程序組成,一個程序由Socket通信和jdbc驅(qū)動等組成。另一個程序主要由jdbc驅(qū)動和jason jar包組成。
在第一個程序中,通過Socket通信把采集端的數(shù)據(jù)接收過來,并且用jdbc的jar包操作云服務(wù)器上的mysql數(shù)據(jù)庫,把接收到的數(shù)據(jù)按照一定的格式存到數(shù)據(jù)庫中。另一個程序同樣通過jdbc的jar包操作mysql數(shù)據(jù)庫,把數(shù)據(jù)庫里的指定數(shù)據(jù)提取出來,通過jason的jar包把數(shù)據(jù)封裝成jason格式,并把它顯示在服務(wù)器的網(wǎng)頁上。
本設(shè)計的程序采用JAVA語言編寫,用Eclipse軟件進(jìn)行編譯和調(diào)試。
3.3 移動端的軟件設(shè)計
移動端是用安卓編程,運行在安卓平臺的APP。它主要結(jié)合了HTTP協(xié)議和jason數(shù)據(jù)解析,從而實現(xiàn)了在安卓平臺上顯示出服務(wù)器端的數(shù)據(jù)。
移動端軟件的主流程如圖2所示。先通過HTTP協(xié)議中的get請求,得到服務(wù)器端的網(wǎng)頁數(shù)據(jù),應(yīng)為的到的網(wǎng)頁數(shù)據(jù)是jason格式的,所以通過掛載外部的jason jar包來解析jason數(shù)據(jù)。最后把解析到的數(shù)據(jù)顯示在移動端的屏幕上。本設(shè)計部分的程序是采用JAVA和XML語言編寫,用Android studio軟件進(jìn)行編譯和調(diào)試。
本系統(tǒng)是通過Socket通信,HTTP協(xié)議等方法,把單片機采集到的溫濕度數(shù)據(jù),發(fā)送到安卓平臺,從而初步實現(xiàn)智慧農(nóng)業(yè)的構(gòu)想。服務(wù)器端采用功能比較多的阿里云平臺,可以大幅度的減少開發(fā)的工作量。在開發(fā)過程中,使用一些jar包,也可以很大程度上降低開發(fā)難度。此套方案,可以滿足智能家居的要求,在開發(fā)過程中,也可以培養(yǎng)學(xué)生對通信技術(shù),工業(yè)監(jiān)控,物聯(lián)網(wǎng)等方面知識和興趣。
圖2 數(shù)據(jù)接收端流程圖
[1]鄒曙光.基于Android的嵌入式農(nóng)業(yè)環(huán)境采集系統(tǒng)設(shè)計與實現(xiàn)[D].江西農(nóng)業(yè)大學(xué),2016.
[2]邱宏斌.一種基于ESP8266模塊的物聯(lián)網(wǎng)設(shè)計思路[J].電子世界,2017,(07):157.
Design of remote data acquisition system based on ESP8266 module
Liu Xiaozhao
(School of mechanical and electrical and information technology, Suzhou Institute of Trade and Commerce, Suzhou Jiangsu, 215009)
The design of an intelligent Home Furnishing system can remote data acquisition and control of temperature and humidity control system and lighting article, can put through the temperature and humidity data acquisition chip ARM sent to mobile phone and tablet computer and mobile terminal remote monitoring terminal, and reverse control collecting end. The system is programmed with C language and JAVA language,and debugged with MDK5 and eclipse software.
data acquisition; remote control; mobile terminal
劉孝趙(1983.05--),男,安徽六安人,實驗師,研究方向嵌入式技術(shù)應(yīng)用 。