梁竹君



摘 ?要:本設計以ESP8266單片機為核心,利用溫濕傳感器DHT11作為信息采集模塊,OLED屏作為顯示模塊,Blynk服務器作為網頁顯示系統,完成ESP8266溫濕度檢測系統設計。此系統可以用于家庭、倉庫中工業環境中的溫濕度數據采集。系統用Arduino IDE作為開發平臺,用CH340完成程序下載,當DHT11采集到數據時傳輸到ESP8266,ESP8266再將數據通過互聯網上傳到Blynk服務器。實驗表明,本設計能夠以經濟,高效的方式實現無線數據采集,可用于環境狀況的實時監測。
關鍵詞:ESP8266;溫濕度傳感器;Blynk服務器;互聯網
中圖分類號:TP368.1 ? ? ? 文獻標志碼:A ? ? ? ? 文章編號:2095-2945(2020)01-0095-03
Abstract: This design takes the ESP8266 single-chip microcomputer as the core, uses the temperature and humidity sensor DHT11 as the information collection module, the OLED screen as the display module, and the Blynk server as the web page display system to complete the design of the ESP8266 temperature and humidity detection system. This system can be used for temperature and humidity data acquisition in industrial environment in homes and warehouses. The system uses Arduino IDE as the development platform and uses CH340 to download the program. When the data is collected by DHT11, it is transferred to ESP8266, ESP8266 and then uploaded to the Blynk server through the Internet. Experiments show that this design can realize wireless data acquisition in an economical and efficient way, and can be used for real-time monitoring of environmental conditions.
Keywords: ESP8266; temperature and humidity sensor; Blynk server; Internet
1 概述
伴隨著計算機硬件技術和測量儀器的快速發展,在現代的信息采集領域里,各種先進的檢測技術,信息監測設備也層出不窮。并且隨著網絡技術和嵌入式系統的廣泛應用,因此傳統的信息采集技術必然會也會朝著網絡化的方向發展。利用傳感器采集數據,在物聯網系統、智慧城市等多種信息產業中扮演著最基礎和最重要的角色。但在數據采集完成后,將數據傳輸到服務器中卻是一件有著多樣化解決方案的事務。在眾多方式當中,使用Wi-Fi通信模塊ESP8266相對功耗較低、成本低廉,逐漸成為多數工程人員的首選方案。
2 總體結構設計
按照本系統所需功能,系統硬件結構可以劃分為四大主要部分:溫濕度采集、溫濕度顯示、控制器控制以及BLYNK服務器。本設計中,負責溫濕度采集的是DHT11溫濕度傳感器,采用總線傳輸模式。MCU采用ESP8266-12F模塊作為一個單獨的主控單片機使用。顯示采用0.96寸的OLED屏,通過總線模式與單片機通訊。物聯網的可視化,采用Blynk在國內的服務器實現單片機余互聯網的通訊,通過在Blynk上搭建可視化環境從而實現溫濕度的可視功能。系統總體結構框圖如1所示。
3 硬件電路設計
3.1 最小系統電路
本設計MCU采用的安信可公司ESP8266-12F系列單片機。該單片機既可以當MCU使用,也可以當Wi-Fi模式使用,是專為移動設備和物聯網應用設計的超低功耗UART的Wi-Fi透傳模塊,可將用戶的物理設備連按到Wi-Fi無線網絡上,進行互聯網或局域網通信,實現聯網功能。其最小系統電路圖如圖2所示。
3.2 電源電路
本設計使用的電源電壓為3.3V,因此利用ANS117-3.3芯片把輸入5V的電壓通過濾波轉換成3.3V的電壓。值得注意的是,在設計電路時一定要考慮到電路紋波的問題,因此我們因在穩壓器件的前后兩級加上濾波電路。濾波電容以大容量的鉭電容為佳。電源電路如圖3所示。
3.3 CH340程序下載電路
本設計采用的是USB總線的轉接片CH340芯片。在串口方式下,CH340C提供MODEM聯絡信號,用于為計算機擴展異步串口,或者將普通的中口設備直接升級到USB總線。具體電路如圖4所示。
3.4 OLED顯示及溫濕度檢測電路
本次設計的OLED顯示電路是基于ssd1306驅動的12864oled屏。利用I2CBus串行通信總線技術顯示溫濕度信息。具體電路如圖5所示。
溫濕度檢測電路也是利用單總線讀取溫濕度信息。具體電路如圖6所示。
4 軟件程序設計
本系統的主要功能為DHT11讀取溫濕度、ESP8266建立WIFI連接、BLYNK服務器連接ESP8266、OLED顯示溫濕度、串口打印溫濕度等。軟件包括主程序、OLED顯示程序、DHT1溫濕度讀取程序、上傳BLYNK服務器程序,四個主要模塊組成。
4.1 系統主程序的設計
主程序主要利用了開發環境中的集成庫,通過調取庫文件對系統環境初始化后,首先對系統及傳感器進行初始化,然后判斷單片機是否已經成功訪問互聯網,最后顯示并上傳溫濕度信息。程序框圖如圖7所示。
4.2 OLED顯示程序設計
在設計此程序時,采用12864oled屏作為我們的顯示器件。首先對屏進行清屏操作,然后判讀DHT11是否已經開始讀取外界的溫濕度數據;如果已經開始讀取那么OLED屏就顯示外界溫濕度數據,否則OLED屏就只在固定的位置顯示字符,如圖8所示。
4.3 DHT11溫濕度讀取程序設計
在設計此程序時,先將DHT11傳感器進行初始化操作,接著傳感器就開始采集被監測環境的數據,然后單片機也會一直在檢測傳感器有無傳送數據。在檢測到有數據傳送過來時,系統將對傳感器進行讀操作,如圖9所示。
4.4 BLYNK服務器程序設計
在設計此程序時,單片機會將讀取到的數據上傳到服務器,在手機軟件上通過組件的方式顯示出來。與此同時用戶也可以根據軟件上的信息對家中的電器進行控制,達到實時監控的目的,如圖10所示。
5 結論
本設計是以ESP8266芯片的電路為基礎,外部加上溫濕度傳感器模塊DHT11以及其它相應的外圍電路形成的溫濕度檢測系統。該軟、硬件系統具有很好的通用性,很高的實際使用價值。
參考文獻:
[1]王瓊.單片機原理及運用實驗教程[M].合肥:合肥工業大學出版社,2016.
[2]王東峰,等.單片機C語言應用100例[M].電子工業出版社,2017.
[3]黃繼昌.傳感器工作原理及應用實例[M].人民郵電出版社,2017.
[4]郭永貞.數字電子技術[M].西安電子科技大學出版社,2017.