為解決江河流域氣象信息采集智能化不足導(dǎo)致的洪澇災(zāi)害預(yù)警難題,研究設(shè)計(jì)了基于STM32F103C8T6主控模塊的氣象信息采集系統(tǒng)。該系統(tǒng)集成多種傳感器和WiFi模塊,支持云端傳輸與手機(jī)APP實(shí)時監(jiān)測及報(bào)警。實(shí)測表明,系統(tǒng)可實(shí)現(xiàn)0.5 Hz同步采集、2秒數(shù)據(jù)傳輸及3秒災(zāi)害預(yù)警響應(yīng),為智慧防洪工程提供可靠數(shù)據(jù)支持。
PART 01硬件電路設(shè)計(jì)
多元?dú)庀笮畔⒉杉到y(tǒng)采用STM32系列中的STM32F103C8T6模塊作為硬件平臺的主控模塊,數(shù)據(jù)采集部分則由風(fēng)速、降雨量、溫濕度等傳感器模塊組成。STM32F103C8T6是由意法半導(dǎo)體公司基于ARMCortex-M內(nèi)核研發(fā)的一款STM32系列芯片。該芯片常用于中小型嵌入式系統(tǒng)設(shè)計(jì),具有高性能、外設(shè)豐富、低功耗等特點(diǎn),且外圍電路搭建簡單、價格實(shí)惠。
主控模塊
STM32F103C8T6由意法半導(dǎo)體集團(tuán)研發(fā),采用32位ARM Cortex-M3內(nèi)核,工作頻率最高可達(dá)72 MHz;內(nèi)置128 k B的閃存處理器和20 kB字節(jié)的隨機(jī)存取存儲器,共37個輸入/輸出端口、3個計(jì)時器、1個集成電路總線接口、1個串行外設(shè)接口、2個可通過串口通信控制通信模塊的同步異步收發(fā)器接口;內(nèi)嵌10個12位模擬/數(shù)字轉(zhuǎn)換器,用于采集電壓,轉(zhuǎn)換時間為1μs,同時配備12個直接內(nèi)存訪問通道,可用于數(shù)據(jù)的快速傳輸。
傳感器模塊
1.2.1風(fēng)速傳感器模塊
多元?dú)庀笮畔⒉杉到y(tǒng)選用ZTS-3000型風(fēng)杯式風(fēng)速傳感器,最低工作電壓為12 V,量程為0~30 m/s,輸出電壓最高電平為3 V,最低電平為0 V。該類風(fēng)速傳感器工作原理如下:當(dāng)風(fēng)力作用在風(fēng)杯上時,風(fēng)杯會轉(zhuǎn)動,進(jìn)而帶動傳感器內(nèi)的同軸多齒光盤轉(zhuǎn)動,接著經(jīng)過傳感器內(nèi)部電路處理產(chǎn)生與風(fēng)速成正比的脈沖信號或電壓模擬量信號,最終轉(zhuǎn)換為風(fēng)速數(shù)據(jù)。
1.2.2降雨量傳感器模塊
多元?dú)庀笮畔⒉杉到y(tǒng)選用ZTS-3000型風(fēng)杯式風(fēng)速傳感器,最低工作電壓為12 V,量程為0~30 m/s,輸出電壓最高電平為3 V,最低電平為0 V。該類風(fēng)速傳感器工作原理如下:當(dāng)風(fēng)力作用在風(fēng)杯上時,風(fēng)杯會轉(zhuǎn)動,進(jìn)而帶動傳感器內(nèi)的同軸多齒光盤轉(zhuǎn)動,接著經(jīng)過傳感器內(nèi)部電路處理產(chǎn)生與風(fēng)速成正比的脈沖信號或電壓模擬量信號,最終轉(zhuǎn)換為風(fēng)速數(shù)據(jù)。
1.2.2降雨量傳感器模塊
多元?dú)庀笮畔⒉杉到y(tǒng)選用ZTS-3000型風(fēng)杯式風(fēng)速傳感器,最低工作電壓為12 V,量程為0~30 m/s,輸出電壓最高電平為3 V,最低電平為0 V。該類風(fēng)速傳感器工作原理如下:當(dāng)風(fēng)力作用在風(fēng)杯上時,風(fēng)杯會轉(zhuǎn)動,進(jìn)而帶動傳感器內(nèi)的同軸多齒光盤轉(zhuǎn)動,接著經(jīng)過傳感器內(nèi)部電路處理產(chǎn)生與風(fēng)速成正比的脈沖信號或電壓模擬量信號,最終轉(zhuǎn)換為風(fēng)速數(shù)據(jù)。
1.2.2降雨量傳感器模塊
降雨量傳感器以一系列平行外露銅跡線為導(dǎo)體,其中5條為電源線,5條為感應(yīng)線,兩種線交錯排列,充當(dāng)可變電阻器。將該傳感器放在雨量杯中,當(dāng)杯中沒有液體時,電源線與感應(yīng)線不相連;當(dāng)杯中存在液體時,液體成為介質(zhì)使電源線與感應(yīng)線相連,且電阻隨著跡線頂部到水面距離的變化而發(fā)生改變。
1.2.3溫濕度傳感器模塊
溫濕度傳感器選用DHT11。DHT11由濕度傳感器、溫度傳感器和一個高性能8位單片機(jī)組成。溫度傳感器是一枚包裹著負(fù)溫度系數(shù)測溫電阻的陶瓷片,其電阻值會隨溫度的升高而降低。濕度傳感器則是一枚濕敏電阻,其電阻值會隨著環(huán)境濕度變化而改變。上述兩個電阻值會被轉(zhuǎn)換為對應(yīng)的數(shù)字信號傳輸給微控制器,再由微控制器解析生成一個9位的數(shù)據(jù)字,代表該傳感器采集的溫度和濕度。
1.2.4河流深度傳感器模塊
河流深度傳感器選用廣州市明遠(yuǎn)科技有限公司生產(chǎn)的投入式液位變送器。該傳感器前端為一個高精度壓力傳感器,采用高性能隔離型擴(kuò)散硅敏感元件,經(jīng)過溫度補(bǔ)償后,可將靜壓轉(zhuǎn)換為電信號。該傳感器供電電壓為12 V,需電源模塊單獨(dú)進(jìn)行供電,量程為水深0~5 m,輸出值為電壓模擬量,最低電平為0 V,最高電平為3 V。
1.2.5河流流速傳感器模塊
河流流速傳感器模塊使用YF-S201霍爾水流量傳感器。該傳感器主要由霍爾傳感器、水流轉(zhuǎn)子及塑料閥體組成。在水力作用下,水流轉(zhuǎn)子會轉(zhuǎn)動,進(jìn)而帶動磁性轉(zhuǎn)子轉(zhuǎn)動,當(dāng)磁性轉(zhuǎn)子靠近傳感器時,傳感器導(dǎo)通,當(dāng)磁性轉(zhuǎn)子遠(yuǎn)離傳感器時,傳感器斷開,因此,傳感器輸出脈沖頻率隨水流轉(zhuǎn)子轉(zhuǎn)速,即水流流速的變化而發(fā)生改變。
WiFi模塊
WiFi通信模塊主要使用深圳市安信可科技有限公司出品的ESP8266-01S模塊。該模塊是一款低功耗、高性價比的嵌入式無線網(wǎng)絡(luò)控制模塊,是常用的WiFi模塊。ESP8266芯片作為該模塊的核心,搭載了低功耗32位微型微控制單元,主頻支持80 MHz和160 MHz,支持完整的傳輸控制協(xié)議/互聯(lián)協(xié)議棧。ESP-01S模塊引腳功能如表1所示。
電源模塊
多元?dú)庀笮畔⒉杉到y(tǒng)使用東莞市祺索電子有限公司生產(chǎn)的可充電鋰電池進(jìn)行供電。該鋰電池可穩(wěn)定提供12 V電壓,擁有過流保護(hù)、短路保護(hù)等功能。主控模塊及部分傳感器模塊工作電壓普遍要求為3.3 V,因此采用AMS1117-3.3芯片作為降壓芯片,將鋰電池輸出的12 V電壓降壓至3.3 V。
PART 02軟件設(shè)計(jì)
2.1主程序流程
主程序會先運(yùn)行環(huán)境信息采集子程序,采集并處理環(huán)境信息,將環(huán)境信息顯示在有機(jī)發(fā)光二極管屏幕上,在聯(lián)網(wǎng)成功的情況下,程序還會嘗試獲取機(jī)智云平臺云端下發(fā)的指令,即手機(jī)APP上設(shè)置的各環(huán)境信息閾值。
機(jī)智云平臺云端下發(fā)的指令為字典格式,包括風(fēng)速、溫濕度、降雨量等閾值的key和value值。接著主程序會運(yùn)行數(shù)據(jù)接收子程序,對接收到的數(shù)據(jù)進(jìn)行處理并存儲,將采集到的環(huán)境信息與閾值進(jìn)行對比,獲得報(bào)警信息。然后主程序會運(yùn)行數(shù)據(jù)傳輸子程序?qū)⒉杉降沫h(huán)境數(shù)據(jù)與報(bào)警信息一同上傳至機(jī)智云平臺云端,完成一次循環(huán)。
2.2環(huán)境信息采集子程序設(shè)計(jì)
環(huán)境信息采集子程序共涉及5個傳感器,分別為風(fēng)速傳感器、溫濕度傳感器、降雨量傳感器、河流深度傳感器、河流流速傳感器。根據(jù)傳感器采集信號的不同,可將環(huán)境信息采集子程序分為采集風(fēng)速、降雨量與河流深度傳感器的模擬量信號采集子程序、采集溫濕度傳感器的數(shù)字量信號采集子程序及采集河流流速傳感器的脈沖信號采集子程序。
顯示子程序
顯示子程序先使用OLED_Init()方法初始化有機(jī)發(fā)光二極管屏幕,再使用OLED_Clear()方法清空有機(jī)發(fā)光二極管屏幕的內(nèi)容,然后使用OLED_show()方法循環(huán)顯示處理后的各傳感器數(shù)據(jù)。由于有機(jī)發(fā)光二極管屏幕尺寸小,無法顯示全部的傳感器數(shù)據(jù),因此,10 s循環(huán)顯示風(fēng)速、溫濕度、降雨量與河流深度、河流流速兩組數(shù)據(jù)。
2.4數(shù)據(jù)傳輸與接收子程序設(shè)計(jì)
通過WiFi連接至機(jī)智云物聯(lián)網(wǎng)平臺云端后,數(shù)據(jù)傳輸與接收子程序可以將本地?cái)?shù)據(jù)上傳至云端或接收云端發(fā)送的數(shù)據(jù)。主控模塊通過ESP8266-01S通信模塊將傳感器采集且處理好的數(shù)據(jù)按照GAgent串口協(xié)議發(fā)送至機(jī)智云平臺云端。同時,該模塊將云端發(fā)送的數(shù)據(jù)根據(jù)平臺定義的數(shù)據(jù)點(diǎn)生成相應(yīng)數(shù)據(jù),交由主控模塊完成后續(xù)程序運(yùn)行。
PART 03WiFi通信模塊固件
2.5.1 GAgent固件
多元?dú)庀笮畔⒉杉到y(tǒng)使用機(jī)智云物聯(lián)網(wǎng)平臺作為云端,因此需在ESP8266-01S通信模塊中燒錄機(jī)智云公司研發(fā)的GAgent固件,其集成了連接機(jī)智云平臺所需的通信協(xié)議,可以實(shí)現(xiàn)手機(jī)APP到多元?dú)庀笮畔⒉杉镜碾p向數(shù)據(jù)通信使用該固件將多元?dú)庀笮畔⒉杉窘尤霗C(jī)智云平臺云端需經(jīng)過設(shè)備上電、設(shè)備配置入網(wǎng)、設(shè)備綁定及數(shù)據(jù)上報(bào)與下發(fā)過程。
設(shè)備配置入網(wǎng)指基于WiFi將設(shè)備接入路由器的過程,先通過手機(jī)APP將路由器的名稱與密碼發(fā)送給通信模塊,通信模塊再使用收到的名稱與密碼。連接路由器,連接成功后會告知手機(jī)APP。
固件移植
待燒錄GAgent固件前,需要在機(jī)智云官網(wǎng)下載對應(yīng)版本的固件。由于系統(tǒng)使用的通信模塊為深圳市安信可科技有限公司生產(chǎn)的ESP8266-01S模塊,因此,需下載官網(wǎng)提供的GAgent for ESP8266(04020034)固件包。系統(tǒng)選擇使用CH340模塊進(jìn)行燒錄操作,其連接方式如表2所示。
機(jī)智云平臺
2.6.1機(jī)智云云端服務(wù)器的搭建
首先,注冊賬號。注冊機(jī)智云開發(fā)者賬號,注冊完成后即可進(jìn)入開發(fā)者中心。其次,創(chuàng)建新產(chǎn)品。在開發(fā)者中心頁面點(diǎn)擊創(chuàng)建產(chǎn)品按鈕,填入相關(guān)信息后完成江河流域氣象監(jiān)測產(chǎn)品的創(chuàng)建。最后,創(chuàng)建數(shù)據(jù)點(diǎn)。數(shù)據(jù)點(diǎn)用于描述產(chǎn)品的功能與參數(shù),是連接手機(jī)APP、機(jī)智云平臺云端、多元?dú)庀笮畔⒉杉镜臉蛄骸H咧g需遵循設(shè)置的數(shù)據(jù)點(diǎn)協(xié)議進(jìn)行數(shù)據(jù)傳輸。
APP開發(fā)
手機(jī)APP江河流域氣象監(jiān)測使用機(jī)智云官方提供的設(shè)備接入Android平臺原生軟件開發(fā)工具包(software development kit,SDK),該SDK封裝了手機(jī)與機(jī)智云智能硬件,以及手機(jī)與云端的通信過程,這些過程包括配置入網(wǎng)、發(fā)現(xiàn)、連接、控制等。
從機(jī)智云官網(wǎng)下載WiFi/移動通信產(chǎn)品SDK for Android,將jar包導(dǎo)入Android Studio作為庫文件,并添加so文件。
APP登錄
先對AndroidManifest.xml文件進(jìn)行配置和權(quán)限設(shè)置,再注冊SDK通用監(jiān)聽器。該通用監(jiān)聽器能讓手機(jī)APP收到來自GizWifiSDK類回調(diào)接口的響應(yīng)事件,包括注冊、登錄、配置設(shè)備、綁定設(shè)備等。
然后使用在機(jī)智云官網(wǎng)為手機(jī)APP申請的Android APP ID調(diào)用startWithAPPID()方法,完成SDK的初始化。SDK可提供多種用戶登錄與注冊方式,本系統(tǒng)采用了手機(jī)和郵箱兩種登錄與注冊方式。
配置設(shè)備
當(dāng)用戶選擇添加設(shè)備選項(xiàng)時,SDK會設(shè)置一個通用監(jiān)聽器。該過程會調(diào)用設(shè)備入網(wǎng)程序。要完成設(shè)備入網(wǎng)操作需ESP8266-01S模塊進(jìn)入AirLink配網(wǎng)模式,接著用戶在輸入框中輸入當(dāng)前手機(jī)WiFi的服務(wù)集標(biāo)識(service set identifier,SSID)和密碼,然后SDK會以SSID、密碼及連接超時時間為參數(shù),調(diào)用setDeviceOnboardingDeploy()方法進(jìn)行用戶數(shù)據(jù)報(bào)協(xié)議(user datagram protocol,UDP)廣播,當(dāng)通信模塊收到廣播包后會自動連接目標(biāo)路由器。如果通信模塊成功連接路由器,會發(fā)出配置成功廣播,通知手機(jī)配置完成。
2.6.5設(shè)備的發(fā)現(xiàn)與訂閱
手機(jī)APP設(shè)置監(jiān)聽并啟動SDK后,即可接收設(shè)備列表推送。局域網(wǎng)設(shè)備或綁定設(shè)備變化時,SDK主動更新設(shè)備列表,手機(jī)APP通過getDeviceList()刷新用戶界面(user interface,UI)。收到設(shè)備列表后,手機(jī)APP可調(diào)用setSubscribe(true)實(shí)現(xiàn)設(shè)備訂閱,完成自動綁定與登錄。
2.6.6 APP獲得數(shù)據(jù)及報(bào)警信息
設(shè)備在線時,APP通過didReceiveData()從云端獲取JSON格式的數(shù)據(jù),存儲于dataMap字典,并解析得到對應(yīng)變量。使用handler機(jī)制更新UI,保持界面實(shí)時刷新。
UI分為3個部分:第一部分顯示環(huán)境要素(只讀),第二部分顯示報(bào)警信息(布爾值,以圖片形式顯示溫度、濕度、風(fēng)速、降雨量、水深、水流速報(bào)警),第三部分顯示閾值設(shè)定(可寫,數(shù)值型數(shù)據(jù))。點(diǎn)擊任一閾值可彈出設(shè)定界面,設(shè)置后刷新顯示。
PART 04系統(tǒng)程序運(yùn)行
程序移植到硬件平臺后,多元?dú)庀笮畔⒉杉灸軐?shí)時采集并上傳風(fēng)速、溫濕度、降雨量等數(shù)據(jù)。通過手機(jī)APP可查看上述數(shù)據(jù)、設(shè)置報(bào)警閾值。當(dāng)數(shù)據(jù)超過閾值時,系統(tǒng)會提交報(bào)警信息。設(shè)備上電后,其在APP列表中的狀態(tài)由離線轉(zhuǎn)為在線,點(diǎn)擊設(shè)備即可瀏覽環(huán)境信息。將溫度閾值從26.1℃調(diào)至23℃,APP界面的溫度報(bào)警信息會從CLOSE變?yōu)镺PEN。
PART 05結(jié)語
通過采取上述技術(shù),基于STM32主控模塊構(gòu)建的多元?dú)庀笮畔⒉杉到y(tǒng)與智能預(yù)警模型,實(shí)現(xiàn)了高精度數(shù)據(jù)的同步采集與實(shí)時預(yù)警。工程實(shí)踐表明,采用該系統(tǒng)后,災(zāi)害預(yù)警響應(yīng)時間縮短至3s,數(shù)據(jù)傳輸效率提升40%。
-
傳感器
+關(guān)注
關(guān)注
2573文章
53868瀏覽量
779994 -
STM32
+關(guān)注
關(guān)注
2301文章
11075瀏覽量
369401 -
信息采集
+關(guān)注
關(guān)注
0文章
83瀏覽量
21636 -
硬件電路
+關(guān)注
關(guān)注
39文章
263瀏覽量
30059
發(fā)布評論請先 登錄
【小蜜蜂】基于ZigBee的水情信息采集平臺
基于STM32的微型分布式氣象站設(shè)計(jì)?。ǜ皆韴D+源碼)
小流域洪水計(jì)算及防洪措施
VR-GIS技術(shù)在數(shù)字黑河流域飛行模擬中的應(yīng)用
黃河數(shù)字流域模型
基于2G3G4G氣象信息采集系統(tǒng)設(shè)計(jì)指南

遙感降水產(chǎn)品等在海河流域的適用性研究

中小河流洪水預(yù)報(bào)智能調(diào)度平臺關(guān)鍵技術(shù)

設(shè)施農(nóng)業(yè)實(shí)時氣象信息采集與發(fā)布系統(tǒng)的設(shè)計(jì)

中小河流監(jiān)測預(yù)警智慧治理系統(tǒng)解決方案

中小河流治理信息化監(jiān)測系統(tǒng)解決方案

才茂中小河流監(jiān)測預(yù)警方案

中小河流防洪監(jiān)測預(yù)警系統(tǒng)解決方案

評論