付文新,王洪豐
山東省德州市德城區(qū)二屯鎮(zhèn)中學(xué),山東 德州 253000
在物聯(lián)網(wǎng)環(huán)境下,相關(guān)人員在很多情況下需要實(shí)時(shí)掌握某個(gè)設(shè)備或地點(diǎn)的環(huán)境溫濕度,文章設(shè)計(jì)了一款基于STM32F103C8T6 單片機(jī)和DHT11 溫濕度傳感器的環(huán)境溫濕度智能采集系統(tǒng),可實(shí)現(xiàn)通過(guò)Wi-Fi 熱點(diǎn)、局域網(wǎng)或互聯(lián)網(wǎng)在手機(jī)端實(shí)時(shí)查看溫濕度傳感器所在環(huán)境的溫濕度,為搭建物聯(lián)網(wǎng)提供技術(shù)支持。
以STM32F103C8T6 單片機(jī)為核心,采用TCP(socket)網(wǎng)絡(luò)傳輸協(xié)議,通過(guò)ESP8266 Wi-Fi 模塊,使用Wi-Fi熱點(diǎn)、局域網(wǎng)、互聯(lián)網(wǎng)等模式通過(guò)智能配網(wǎng)無(wú)線傳輸方式連接手機(jī)App,使用DHT11 數(shù)字溫濕度傳感器實(shí)時(shí)采集溫濕度傳感器模塊所在環(huán)境的溫濕度,并將數(shù)據(jù)傳輸至手機(jī)端,在手機(jī)App 端實(shí)時(shí)顯示具體溫濕度值。使用Android Studio 編寫手機(jī)端程序,設(shè)置聯(lián)網(wǎng)方式和實(shí)時(shí)顯示模塊,可實(shí)時(shí)刷新具體溫濕度值。系統(tǒng)設(shè)計(jì)原理圖如圖1 所示。
圖1 系統(tǒng)設(shè)計(jì)原理圖
STM32F103C8T6 是一款基于ARM Cortex-M 內(nèi)核STM32 系列的32 位的微控制器,具有64 kB 的程序存儲(chǔ)器,RAM 容量為20 K×8。內(nèi)部含2 個(gè)12 bit ADC 合計(jì)12 路通道,外部通道為PA0~PA7 和PB0~PB7。內(nèi)部通道為溫度傳感器通道ADC_Channel_16 和內(nèi)部參考電壓通道ADC_Channle_17。有4 個(gè)16 bit 定時(shí)器/計(jì)數(shù)器,分別為TIM1、TIM2、TIM3 和TIM4,其中TIM1可產(chǎn)生PWM 控制電機(jī)。采用48-LQFP 封裝,單片高度為1.4 mm,長(zhǎng)度為7 mm,工作電壓為2~3.6 V,工作溫度為-40~85 ℃[1]。
DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,其應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),包含一個(gè)電容式感濕元件和一個(gè)NTC 測(cè)溫元件,可以和單片機(jī)直接相連。DHT11 數(shù)字溫濕度傳感器具有成本低、性能穩(wěn)定、響應(yīng)超快、抗干擾能力強(qiáng)、數(shù)字信號(hào)輸出、精確校準(zhǔn)等優(yōu)點(diǎn)[2]。DHT11 有4 個(gè)引腳,分別是VCC(供電3.3~5.5 V)、DATA(串行數(shù)據(jù),單總線)、NC(空腳)、GND(接地或者電源負(fù)極)。文章研究系統(tǒng)中的DHT11 模塊的DATA 引腳接4.7 kΩ 上拉電阻后與STM32F103C6T6單片機(jī)的13 引腳相連。
ESP8266 采用ESP8266 芯片設(shè)計(jì),是一款超低功耗的UART-Wi-Fi 透?jìng)髂K。其具有較小封裝尺寸和超低能耗技術(shù),專為移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可直接連接到Wi-Fi 無(wú)線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。ESP8266 封裝方式多樣,天線可支持板載PCB 天線、IPEX 接口和郵票孔接口三種形式,可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。產(chǎn)品特性如下:支持無(wú)線802.11 b/g/n 標(biāo)準(zhǔn);具備STA、AP、STA+AP 三種工作模式;內(nèi)置TCP/IP 協(xié)議棧,支持多路TCP Client 連接;支持豐富的Socket AT 指令;支持UART/GPIO 數(shù)據(jù)通信接口;支持Smart Link 智能聯(lián)網(wǎng)功能;內(nèi)置32 位MCU,可兼作應(yīng)用處理器;超低能耗,適合電池供電應(yīng)用;可直接使用3.3 V 單電源供電,傳輸距離可達(dá)40 m左右[3]。
2.4.1 電源電路
STM32F103C8T6 總共有5 個(gè)接電源正極和4 個(gè)接地引腳,分別給內(nèi)部不用的模塊供電。VDD 為供電電壓;VDDA 中的A 表示模擬,為芯片內(nèi)部模擬器件的工作電壓;VSSA 為模擬器件的公共端地;VBAT 為后備區(qū)域供電,維持RTC/BKP 寄存器數(shù)據(jù)掉電保存,一般接紐扣電池,如果不需要可以直接接電源。
2.4.2 復(fù)位電路
復(fù)位電路是利用RC 電路的充放電原理,在上電瞬間為NRST 引腳產(chǎn)生一個(gè)短暫的低電平,如圖2 所示。上電時(shí)電流會(huì)通過(guò)R19 和C20 到地,為C20 充電,此時(shí)NRST 的引腳為低電平。當(dāng)C20 充滿電以后,處于“斷路”的狀態(tài),此時(shí)NRST 由低電平變?yōu)楦唠娖絒4]。單片機(jī)程序復(fù)位,將備份區(qū)域寄存器以外的所有寄存器狀態(tài)恢復(fù)到初始狀態(tài)。
圖2 復(fù)位電路原理圖
2.4.3 系統(tǒng)時(shí)鐘電路
STM32F103C8T6 可以使用如圖3 所示的電路產(chǎn)生始終信號(hào),其中Y1 為石英晶體振蕩器,是一種高精度和高穩(wěn)定度的振蕩器。通過(guò)兩個(gè)22 pF 的電容組成振蕩電路,可以生成頻率和峰值穩(wěn)定的正弦波。單片機(jī)在運(yùn)行時(shí),需要一個(gè)脈沖信號(hào),作為執(zhí)行指令的觸發(fā)信號(hào)。單片機(jī)收到一個(gè)脈沖,就執(zhí)行一次或多次指令。
圖3 晶體振蕩電路
2.4.4 系統(tǒng)編程電路
系統(tǒng)編程電路如圖4 所示。系統(tǒng)編程電路的作用就是給單片機(jī)燒錄程序,通過(guò)KEIL 編程器把編寫好的16進(jìn)制程序燒錄到單片機(jī)內(nèi)部ROM 中。STM32F103C8T6的燒錄方式有幾種,一般情況下使用SWD 接口燒錄。SWD 接口燒錄占用尺寸空間少,一般只需要5 根線,也可使用4 根線連接,其中VDD 接口懸空。若VDD接口懸空,則燒錄程序時(shí)需要單獨(dú)給單片機(jī)最小系統(tǒng)供電[5]。
圖4 系統(tǒng)編程電路
STM32F103C8T6 最小系統(tǒng)包含電源濾波電路、復(fù)位電路、LED 電路、SWD 下載電路、降壓電路、外部引腳電路、系統(tǒng)時(shí)鐘電路、USB 電路。整個(gè)最小系統(tǒng)電路圖如圖5 所示。
圖5 STM32F103C6T6 單片機(jī)最小系統(tǒng)
溫濕度系統(tǒng)硬件電路包含STM32F103C8T6 核心底板座、ESP8266 Wi-Fi 模塊電路、DHT11 溫濕度模塊、電源插座連接電路。系統(tǒng)電路圖如圖6 所示。
圖6 DHT11 溫濕度系統(tǒng)
ESP8266 程序可用flash_download_tools_v3.6.8 程序進(jìn)行燒寫,程序燒寫界面如圖7 所示。
圖7 程序燒寫界面
通過(guò)硬件組裝與系統(tǒng)測(cè)試,文章設(shè)計(jì)系統(tǒng)可完全實(shí)現(xiàn)系統(tǒng)環(huán)境溫濕度數(shù)據(jù)的采集,可通過(guò)連接局域網(wǎng)或ESP8266 熱點(diǎn)方式實(shí)現(xiàn)設(shè)備與手機(jī)App 通信,并將環(huán)境溫濕度數(shù)據(jù)傳輸?shù)绞謾C(jī)App 端,同時(shí)可根據(jù)系統(tǒng)要求實(shí)時(shí)檢測(cè)環(huán)境溫濕度。系統(tǒng)電路簡(jiǎn)單、結(jié)構(gòu)緊湊、價(jià)格低廉,輸出溫濕度數(shù)據(jù)精度高、使用方便,具有較高的使用價(jià)值。