孫二威 吳振磊
摘要:本文設計了一種基于STM32主控芯片的智能數據采集系統(tǒng)。該系統(tǒng)由STM32C8T6作為主控芯片,控制溫濕度傳感器與光照強度傳感器來檢測當前環(huán)境的溫濕度值和光照強度值,以獲取相關數據信息。取得的數據經過處理后可在系統(tǒng)自帶的0.96寸OLED顯示屏上實時顯示,實現數據實時可視化的功能。此外,還可根據預設值實現蜂鳴器報警和led指示燈報警的功能且可由按鍵手動控制其報警。同時,該系統(tǒng)還具有網絡互聯(lián)功能,主控芯片獲取的數據經由ESP8266模塊將數據上傳至服務器,通過基于TCP的MQTT協(xié)議訂閱設備上的數據,來完成數據遠程傳輸的功能。這樣用戶就可使用微信小程序來獲取采集到的數據信息,實現數據采集的智能化設計。
關鍵詞:STM32C8T6;數據采集;ESP8266;微信小程序
中圖分類號:TP274.2;TP23
1?? 引言
在時代飛速發(fā)展的社會背景中,如今智能設備的主要功能很大程度上取決于數據的采集,一代又一代的新產品其目的都是為了實現更好的數據獲取和檢測功能的方便快捷。智能數據采集在居家、測量、監(jiān)控等很多方面應用,通過智能數據采集系統(tǒng)可方便獲取室內的溫度值、濕度值、光照強度等一系列的數據參數,并通過這些數據去驅動智能家電準確工作。
一般的數據采集辦法是利用常規(guī)采集儀器來完成,采集儀器體積大、重量重、功耗高且運輸不便。這時智能數據采集就顯得尤為重要,無線數據的采集可以在時間片段下輪流采集,可解決有線數據采集的局限性能夠得到有效的改善,提高了數據采集的完整性。用戶手機端的微信小程序可以作為一種遠程獲取數據的方式,使用戶能夠簡便迅速地獲取數據,并根據所獲得的數據來自定義其用途和需求,以實現數據智能采集這一過程。
2?? 系統(tǒng)的設計內容
該設計是基于STM32的智能數據采集系統(tǒng),通過主控芯片STM32C8T6接收傳感器采集到光照強度和溫濕度數據,經wifi通過路由器上傳至云服務器,通過EMQX(MQTT消息代理)把獲取到的數值經由蜂窩數據或路由器傳輸,用戶可以利用手機遠程訂閱服務器上的數據,并下發(fā)數據至微信小程序實時觀測。
本系統(tǒng)的具體工作流程為:當智能數據采集系統(tǒng)上電運行之后,系統(tǒng)首先運行初始化代碼,檢測各個模塊如esp8266、蜂鳴器、溫濕度傳感器、光照強度傳感器和OLED等與主控板是否連接正常,通過對各個硬件模塊的初始化來分別判斷各部分功能是否正常。在初始化完成之后,可以通過蜂鳴器進行提示,這時就可以進行正常的工作,OLED就可以正常顯示采集到的溫度、濕度和光照強度值。
接下來數據采集首先經過esp866的數據上傳,MQTT協(xié)議的正確連接完成和服務器在數據成功接收的情況下,經過服務器下發(fā)數據之后,微信小程序就可以訂閱服務器上面的數據。其系統(tǒng)整體設計框圖如圖1所示。
3?? 系統(tǒng)模塊設計
3.1 控制模塊
STM32F103C8最小系統(tǒng)板使用ARM 32位內核,增強了I/O口和外設,并且它的容量大,具有64KB的FLASH ROM,并且它的靜態(tài)隨機存儲器最高可以達到20KB,系統(tǒng)板里面還設置有省電機制,可以工作的溫度范圍在-40℃到+80℃之間,溫度彈性好。
最小系統(tǒng)板其功能強大,在很大程度上方便了該系統(tǒng)的應用擴展。首先其燒錄程序只需要除電源兩個引腳外的發(fā)送和接收兩個引腳,極大方便了我們隨時燒錄以及修改程序這一過程。其次就是其有37個輸入輸出端口可以使用能有接入很多設備和模塊,其帶有一個貼片晶振,以實現對定時器提供精準的時間,能夠完成對時鐘要求不是極度精準的檢測環(huán)境,如日常生活對時間的要求等。
3.2 光強度檢測模塊
在工業(yè)生產上,光照強度的過強或是過弱都有可能引起產品質量的問題。因此對光照強度的控制是必不可少的,只有將光照強度控制在某一個指定范圍內,我的生活才能正常有序的進行。本系統(tǒng)中選用的BH1750模塊可以很精確顯示出當前的光強值,通過光線的強弱來將光信號轉化成電信號,經放大器和電壓采集后,通過邏輯電路將數據存儲在內部的寄存器里,可以完成光照強度轉化的這一功能。根據光強度的物理定義來說是指單位面積上所接收可見光的光通量,用于指示光照的強弱和物體表面積被照明程度的量。由于這個模塊可以省略復雜的計算,不必根據平均照度的計算公式利用光源總的光通量,利用系數和區(qū)域面積之間的關系來計算出結果。這樣使得BH750模塊用于感知在各種環(huán)境照度值來反映當前的照明狀況非常重要。
光強模塊的工作原理屬于內光電效應中的光電二極管,在沒有光照的情況下,少數載流子在反向偏壓作用下系形成微小的反向電流——暗電流;受到光照的時候,在外加反向電壓和內電廠作用下,光生電子空穴使少數載流子濃度大大增加,并分別被拉向N區(qū)和P區(qū),反向電流大大增加,形成光電流。經集成運算放大器將電流轉換為電壓,再由數模轉換存儲到數據寄存器中。
其數據分辨率的計算公式為:
光照強度(單位lx)=(高字節(jié)? + 低字節(jié))/ 1.2 * 測量精度
主控芯片讀取數據的過程要遵循I2C通訊方式,主控芯片的SCL時鐘線在保持高電平的狀態(tài)下,SDA數據線開始由高電平到低電平的跳變這一過程,表明了主控芯片進行讀取數據起始狀態(tài)的開始。主控芯片的SCL時鐘線在保持高電平的狀態(tài)下,SDA數據線開始由低電平到高電平的跳變這一過程,表明了主控芯片進行讀取數據結束狀態(tài)的標志。
主控芯片在控制數據的傳輸過程中要進行數據傳輸正確性的判斷規(guī)定,在數據傳輸的過程中要保證數據傳輸的穩(wěn)定性,其高電平于低電平狀態(tài)的改變需保證在時鐘信號SCL在低電平期間,其一次傳輸的數據通常在9位的幀格式來進行傳輸數據,其構成為一個字節(jié)和一位應答,一個字節(jié)數據的正確行判斷還需要進行尋址的判定來驗證傳輸的地址與主控芯片的地址進行校驗匹配。
3.3 溫濕度檢測模塊
溫濕度檢測模塊采用了DHT11溫濕度傳感器,這是一種復合的傳感器,其內部已經集成了一系列的轉換電路,可以方便的實現溫度濕度轉化的功能。
DHT11和主控芯片之間通信首先在硬件上要確保連接正確,由于單總線來傳遞信號其硬件方面很容易保證,程序方面就需要按照其信號圖來進行設計。在主控芯片讀取DHT11的數據之前要先發(fā)送一個開始的信號來表明要讀取信號。
首先要將主機的信號拉高置“1”,這個置“1”的過程沒有明確拉高時間這里就可以不用設置。接下來就置“0”的過程需要延時20ms左右。緊接著就是對主機信號拉高置“1”,并且延時20us-40us,這里就設置為30us。
其次就是最關鍵的一點來判斷從機也就是DHT11的響應,由于這個過程需要跟主機的拉高時間來設置其延時時間,由于主機延時的時間最低可設置為20us,最高的延時時間為40us,DHT11的響應信號需要置“0”拉低時間持續(xù)在80us,因此在檢測DHT11相應時間上設置在40us到100us之間就比較合適??梢酝ㄟ^檢測延式的時間是否超過100us來判斷DHT11是否連接正常,一方面能判斷DHT11是否存在,另一方面也能判斷DHT11連接后是否能傳輸正確的數據來判斷其是否損壞并及時排除故障。
在檢測到DHT11能夠正常相應之后就可進行數據的讀取了,數據的讀取需要按位進行讀取,其數據的位數有40位。
3.4 WIFI模塊
WIFI模塊采用的是安信可公司推出的高性能模塊ESP8266,用這個模塊可以與單片機或者其他的通訊設備連接。它有4種工作方式:CPIO模式、透傳模式、串口指令模式、HTTPD Client模式。ESP8266模塊的電路核心是ESP8266,該芯片功能強大,其外圍電路包括一個2MB的SPI閃存用來進行數據的存儲,天線電路可進行網絡的連接和配置,晶振電路提供精準的時鐘信號,指示燈電路來展示供電或連接狀況,以及接口電路來便于數據的連接和主控芯片之間的傳輸。
ESP8266模塊總共定義了八個引腳,根據需要在這使用到了模塊的四個引腳,電源和地,使用RXD和TXD兩個引腳來進行和主控芯片的通信。這樣采集到的數據就可以經過MQTT協(xié)議格式的傳遞將數據準確的傳輸到服務器當中,以便通過各種方式來獲取或使用其數據。
4?? 軟件設計
微信小程序的開發(fā)設計有很多的開發(fā)方式例如原生開發(fā)、??? WEPY框架、MPVUE框架、TARO框架和uni-app框架,各種開發(fā)方式都有其優(yōu)點。本系統(tǒng)采用的是MPVUE框架結構,開發(fā)小程序發(fā)揮其框架結構的優(yōu)勢,MPVUE使得小程序和Vue.js生命周期進行關聯(lián),兩者間建立事件代理機制和數據同步機制。MPVUE和原生的小程序也是存在一定的不同,被預編譯為WXML的MPVUE才可以在小程序里執(zhí)行。其中有很多的形式不被允許,例如:動態(tài)組件、自定義render等。由于采用集中式頁面配置,各個頁面的入口文件可以自動生成,實現頁面的標題配置、下拉的刷新、顏色的變化等優(yōu)點,使得其MPVUE框架結構經常用于微信小程序開發(fā)中。
5?? 結束語
本論文實現了基于STM32F103C8T6最小系統(tǒng)板的智能數據采集系統(tǒng)的設計,完成了智能數據的光照強度,溫度濕度的采集,用戶可以在現場通過OLED顯示屏進行實時觀測。同時,在上電后通過ESP8266模塊可以連接WIFI熱點或者路由器,將獲取到的數據上傳至MQTT服務器中,用戶可以通過微信小程序對數據的訂閱獲取,實現了監(jiān)測數據的遠程訪問。該系統(tǒng)經測試準確可靠,并且可擴展性強,有很好的實用性。
參考文獻
作者簡介:
孫二威(1998-),男,河南駐馬店人,蘇州經貿職業(yè)技術學院 電子信息工程專業(yè)
吳振磊(1981-),男,江蘇蘇州人,碩士,講師,研究方向:電子信息工程技術。
通訊作者:
吳振磊(1981-),男,江蘇蘇州人,碩士,講師,研究方向:電子信息工程技術。
項目名稱:
江蘇省創(chuàng)新訓練項目:《便攜式多功能醫(yī)用檢測儀》
項目編號:202012685002Y。