馬媛
(中煤科工集團(tuán)西安研究院有限公司,陜西西安,710077)
近年來,物聯(lián)網(wǎng)技術(shù)在工業(yè)控制、智能家居、智慧城市及環(huán)境監(jiān)控等領(lǐng)域得到了廣泛應(yīng)用,融入了人們生活及生產(chǎn)的各個方面[1-3]。其中,WiFi技術(shù)具有傳輸距離遠(yuǎn)、帶寬高、組網(wǎng)容易等優(yōu)勢,因此更適合在物聯(lián)網(wǎng)技術(shù)實(shí)際應(yīng)用場景中使用[4]。ESP8266模塊是樂鑫公司研發(fā)的一款WiFi芯片,在成本、功耗、可靠性及傳輸性能等方面具有一定的優(yōu)勢,非常適合應(yīng)用在高速數(shù)據(jù)傳輸、數(shù)字通信控制系統(tǒng)中。本文基于該ESP8266平臺設(shè)計(jì)了一套WiFi無線通信控制系統(tǒng),可以滿足需要進(jìn)行大量數(shù)據(jù)高速傳輸?shù)膽?yīng)用場景。
本系統(tǒng)主要包括基于ESP8266模塊的硬件電路、手機(jī)終端及通信控制軟件,ESP8266模塊設(shè)置為AP模式,手機(jī)終端通過WiFi連接該熱點(diǎn),運(yùn)行在手機(jī)終端上的APP與無線模組建立服務(wù)器連接,從而實(shí)現(xiàn)手機(jī)終端與ESP8266無線通信模塊的指令配置及數(shù)據(jù)傳輸,系統(tǒng)設(shè)計(jì)總體框圖如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)總體框圖
本系統(tǒng)基于STM32F103C8T6單片機(jī)作為硬件主控芯片搭建了最小系統(tǒng)電路,STM32單片機(jī)通過SPI接口與ESP8266模塊連接并實(shí)現(xiàn)查詢、配置、控制和數(shù)據(jù)通信的功能,系統(tǒng)同時包含電源電路及傳感器模塊等外圍電路,其設(shè)計(jì)框圖如圖2所示。
圖2 硬件設(shè)計(jì)框圖
STM32F103C8T6芯片是一款基于ARM Cortex-M3內(nèi)核的32位微控制器,采用LQFP48封裝,由意法半導(dǎo)體公司推出,具有高性能,低功耗的特點(diǎn)[5]。內(nèi)置閃存容量是64KB,SRAM容量是20KB,無需外擴(kuò)存儲器。2個12bit ADC,37個通用I/O口,4個16bit通用定時器,2個看門狗定時器,2個I2C接口,2個SPI接口,3個USART接口,1個CAN接口,工作電壓2V~3.6V,工作溫度為-40℃~85℃,工作頻率最高可達(dá)72MHz,使用時可用內(nèi)部分頻器生成自己需要的相應(yīng)頻率。
本設(shè)計(jì)中主控模塊通過SPI接口與WiFi模塊相連,STM32F103C8T6芯片外部供電電壓3.3V,采用8M外部晶振作為系統(tǒng)時鐘,構(gòu)成了如圖3所示的最小系統(tǒng)電路。
圖3 STM32F103C8T6最小系統(tǒng)電路
ESP8266是由樂鑫公司開發(fā)的一款WiFi芯片,作為高度集成的WiFi SoC解決方案,其低功耗、緊湊設(shè)計(jì)和高穩(wěn)定性可以滿足用戶的需求。ESP8266模塊既可以獨(dú)立應(yīng)用,也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)行。此外,ESP8266模塊只需通過SPI接口或者UART接口即可作為WiFi適配器,應(yīng)用到基于任何微控制器的設(shè)計(jì)中[6-7]。
ESP8266模塊的主要特性包括:
(1)支持802.11b/g/n
(2)802.11n(2.4 GHz),速度高達(dá) 72.2Mbps
(3)2路虛擬Wi-Fi接口
(4)Beacon自動監(jiān)測(硬件TSF)
(5)支持基礎(chǔ)結(jié)構(gòu)型網(wǎng)絡(luò)Station模式/SoftAP模式/混雜模式
(6)天線分集
ESP8266模塊在低功耗及高集成度方面的特性保證了其典型應(yīng)用僅需極少的外部電路,因此能將電路印制板的尺寸降到最小。如下表1所示為該模塊的主要技術(shù)參數(shù)。
表1 ESP8266模塊主要技術(shù)參數(shù)
本系統(tǒng)中ESP8266模塊供電電壓為3.3V,采用AP模式,由手機(jī)終端APP與該模塊連接通信,具體原理如圖4所示。
圖4 ESP8266電路設(shè)計(jì)原理
由于主控及ESP8266模塊均需3.3V供電,本系統(tǒng)輸入電源為5V,因此利用TPS82140電源芯片設(shè)計(jì)穩(wěn)壓電路,為主控及WiFi模塊提供電源,保證系統(tǒng)正常運(yùn)行,具體原理如圖5所示。
圖5 穩(wěn)壓電路設(shè)計(jì)原理
傳感器模塊部分可根據(jù)用戶檢測的不同需求進(jìn)行靈活更換,也可連接高精度AD模數(shù)轉(zhuǎn)換器進(jìn)行過采樣,以滿足系統(tǒng)分辨率、動態(tài)范圍等性能指標(biāo)的要求。
本系統(tǒng)的軟件部分包括兩方面,一是主控芯片對ESP8266模塊的初始化及配置,另一方面是手機(jī)終端APP的設(shè)計(jì),主要功能是連接WiFi熱點(diǎn)服務(wù)器,完成手機(jī)APP與模塊之間的無線數(shù)據(jù)傳輸。
本系統(tǒng)中的單片機(jī)啟動后首先完成與WiFi模塊通信接口的初始化,創(chuàng)建與熱點(diǎn)之間的UDP通信連接,從而完成命令下發(fā)數(shù)據(jù)上傳的工作.整體工作流程如下圖6所示。
圖6 單片機(jī)配置8266模塊工作流程圖
本系統(tǒng)的上位機(jī)APP運(yùn)行在基于安卓平臺的手機(jī)終端上,采用Android studio 3工具開發(fā),編程語言為Java。該APP能夠通過WiFi熱點(diǎn)與下位機(jī)建立UDP點(diǎn)對點(diǎn)數(shù)據(jù)通信,完成對下位機(jī)指令及參數(shù)的下發(fā)位置,接收來自下位機(jī)的數(shù)據(jù),實(shí)現(xiàn)雙向無線數(shù)據(jù)通信功能。具體的軟件工作流程如圖7所示。
圖7 手機(jī)APP設(shè)計(jì)流程圖
本文基于ESP8266模塊設(shè)計(jì)了一套無線通信系統(tǒng),采用STM32低功耗單片機(jī)搭建最小系統(tǒng)電路,與WiFi模塊熱點(diǎn)建立了UDP數(shù)據(jù)通信,實(shí)現(xiàn)了手機(jī)APP與單片機(jī)之間的無線數(shù)據(jù)傳輸,本文所設(shè)計(jì)的無線通信系統(tǒng)能夠?qū)崿F(xiàn)MCU與終端之間的高速數(shù)據(jù)傳輸,可以滿足數(shù)據(jù)采集、無線控制及智慧物聯(lián)等多種應(yīng)用場景。