韓琛曄



摘? 要: 為了提高農(nóng)業(yè)氣象數(shù)據(jù)觀測可靠性、實時性與精準性,設(shè)計基于STM32嵌入式微處理器的農(nóng)業(yè)氣象觀測系統(tǒng)。此系統(tǒng)通過物聯(lián)網(wǎng)技術(shù)實現(xiàn)局部區(qū)域中的多點氣象數(shù)據(jù)收集,并且對基站傳輸數(shù)據(jù)。利用基站傳輸能夠使主監(jiān)控機監(jiān)控軟件中展示節(jié)點數(shù)據(jù),并且對節(jié)點數(shù)據(jù)進行歸類存儲。主控軟件利用機房的Internet網(wǎng)絡(luò),能夠使數(shù)據(jù)傳輸?shù)竭h程客戶端中。系統(tǒng)還具備全球移動通信系統(tǒng)的移動報警功能,客戶能夠?qū)缶畔⑦M行收集。此系統(tǒng)能夠應(yīng)用到遠程與室內(nèi)局部多點氣象信息收集監(jiān)控領(lǐng)域中,通過系統(tǒng)測試表示,終端收集節(jié)點對網(wǎng)關(guān)傳輸數(shù)據(jù)距離不超過100 m,整體網(wǎng)絡(luò)平均丟包率不超過2.6%,使大棚內(nèi)空氣濕度、溫度、光照強度和土壤濕度的需求得到滿足。
關(guān)鍵詞: 農(nóng)業(yè)氣象; 物聯(lián)網(wǎng)數(shù)據(jù)采集; 嵌入式微處理器; 環(huán)境數(shù)據(jù)收集; 系統(tǒng)設(shè)計; 軟件設(shè)計
中圖分類號: TN710?34? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)05?0010?04
Design of agrometeorological Internet of Things data acquisition
system based on embedded microprocessor STM32
HAN Chenye
(Hebei Polytechnic Institute, Shijiazhuang 050091, China)
Abstract: An agrometeorological observation system based on embedded microprocessor STM32 is designed to improve the reliability, real?time performance and accuracy of agrometeorological data observation. In the system, the multi?point meteorological data in local area is collected with the technology of Internet of Things, and the data is transmitted to the base station. The base station transmission function can make the node data displayed in the monitoring software of the main monitor and classified for storing. The main control software can transmit the data to the remote client by the Internet network of the machine room. In addition, the system has the mobile alarm function of the global mobile communication system, enabling clients to collect alarm information. The system can be applied to the fields of remote and indoor local multi?point meteorological information collection and monitoring. The testing results of the system indicate that the data transmission distance from the terminal collecting node to the gateway does not exceed 100 m, and the average packet loss rate of the whole network is no more than 2.6%, which satisfy the demands of air humidity, temperature, illumination intensity and soil moisture in agricultural greenhouses.
Keywords: agrometeorology; Internet of Things data acquisition; embedded microprocessor; environmental data collection; system design; software design
0? 引? 言
中國為農(nóng)業(yè)大國,農(nóng)業(yè)發(fā)展能夠提高中國農(nóng)業(yè)的生產(chǎn)率,也是中國現(xiàn)代化建設(shè)的主要任務(wù)。氣象預(yù)報為中國現(xiàn)代化農(nóng)業(yè)發(fā)展中的基礎(chǔ),能夠?qū)r(nóng)業(yè)正常的生產(chǎn)進行指導(dǎo),并且預(yù)防災(zāi)害。在此背景下,促進農(nóng)業(yè)氣象信息的現(xiàn)代化建設(shè)成為農(nóng)業(yè)現(xiàn)代化建設(shè)中的重點。但是在農(nóng)業(yè)氣象預(yù)報中,我國還是存在部分問題,比如,基于區(qū)域性創(chuàng)建自動化氣象觀測站、設(shè)置農(nóng)田小氣候站收集氣象數(shù)據(jù)。因為此氣候收集設(shè)備具有較高的使用率,所以只能夠使用以點帶面的方式實現(xiàn)區(qū)域性農(nóng)事氣象預(yù)報。但是,此種大區(qū)域性氣象預(yù)報的可靠性、精準性無法滿足現(xiàn)代大型農(nóng)業(yè)或者特色企業(yè)在生產(chǎn)過程中對于農(nóng)業(yè)氣象、防災(zāi)減災(zāi)等信息需求。所以,就要使用現(xiàn)代物聯(lián)網(wǎng)技術(shù)和嵌入式微處理技術(shù),研發(fā)低成本、低功耗和靈活部署的無線農(nóng)業(yè)氣象物聯(lián)網(wǎng)數(shù)據(jù)收集系統(tǒng),利用大面積及多點的數(shù)據(jù)收集,解決精細化農(nóng)業(yè)氣象預(yù)報對于信息依賴的問題[1]。
1? 系統(tǒng)結(jié)構(gòu)
農(nóng)業(yè)氣象物聯(lián)網(wǎng)數(shù)據(jù)收集系統(tǒng)如圖1所示,系統(tǒng)整體主要包括硬件平臺和相應(yīng)軟件設(shè)計。創(chuàng)建硬件平臺要對穩(wěn)定性、功耗、數(shù)據(jù)處理能力和可擴展性進行考慮,根據(jù)模塊劃分微處理器、觸摸顯示屏、無線通信模塊、系統(tǒng)供電等模塊。
1.1? 微處理器設(shè)計
在嵌入式系統(tǒng)中,ARM處理器芯片因為高性價比、豐富的內(nèi)部資源和可移植實時操作系統(tǒng)等優(yōu)勢,使用在各個自動化領(lǐng)域嵌入式系統(tǒng)開發(fā)過程中。現(xiàn)代ARM微處理器中的STM32使用較為廣泛,并且性價比較高,其主要包括M4,M3,MO+等內(nèi)核。因為本文設(shè)計農(nóng)業(yè)氣象物聯(lián)網(wǎng)系統(tǒng)是在野外應(yīng)用,要充分考慮芯片功耗、總體成本與運算功耗,所以使用STM32系列中的Cortex?M3內(nèi)核,其主要特點就是功耗比較小,并且具有較高的性價比,還能夠支持16位和32位雙指令集,其中主要包括大量寄存器,運行速度比較快,尋址方式比較靈活,能夠提高執(zhí)行效率。為滿足農(nóng)業(yè)氣象物聯(lián)網(wǎng)監(jiān)測系統(tǒng)的需求,使用STM32F103RBT6芯片,其在性能方面能夠使農(nóng)業(yè)氣象物聯(lián)網(wǎng)監(jiān)測系統(tǒng)需求得到滿足,并且節(jié)約系統(tǒng)硬件成本,縮短整體研發(fā)周期[2]。
1.2? 環(huán)境收集終端設(shè)計
終端收集部分能夠收集大棚氣象環(huán)境數(shù)據(jù),利用ZigBee協(xié)議使數(shù)據(jù)傳輸?shù)絀oT網(wǎng)關(guān)中。在本文設(shè)計過程中,使用CC2530射頻模塊實現(xiàn)終端硬件核心芯片的設(shè)計,此芯片屬于TI公司推出的支持ZigBee協(xié)議的單片機。在軟件設(shè)計過程中,使用相應(yīng)協(xié)議棧設(shè)計。CC2530微控制器內(nèi)部利用業(yè)界標準增強型8051內(nèi)核,通過QFN40進行封裝,引腳一共有49個。
收集設(shè)備核心芯片CC2530外圍電路在設(shè)計過程中主要包括電源模塊、射頻板模塊、外設(shè)I/O模塊和程序下載模塊。其中,程序下載模塊使用專門仿真器,實現(xiàn)程序下載與在線仿真調(diào)試,硬件設(shè)計部分主要包括CC Debugger仿真器接口。
在設(shè)計過程中,光照強度使用BH1750FVI傳感器,其屬于應(yīng)用到兩線式的串行總線接口16位數(shù)字輸出型環(huán)境光強度傳感器集成電路,通過其高分辨率能夠在1~65 535 lx范圍中對光強度變化進行測量,還能夠?qū)崿F(xiàn)高精度數(shù)字信號的直接輸出。
利用DHT11對空氣濕度和溫度進行測量,其屬于已經(jīng)校準數(shù)字信號輸出濕度、溫度傳感技術(shù),能夠保證系統(tǒng)具備長期穩(wěn)定性和可靠性。內(nèi)部具有電阻式感濕原件與NTC測溫元件,并且和高性能8位單片機相互連接,從而提高抗干擾能力,降低成本,使其具備長期穩(wěn)定性[3]。
1.3? 網(wǎng)關(guān)硬件設(shè)計
網(wǎng)關(guān)為接入設(shè)備,與公共通信網(wǎng)絡(luò)與無線傳感器網(wǎng)絡(luò)相互連接,并且還能夠提供多種通信途徑,保證終端節(jié)點收集數(shù)據(jù)在用戶平臺中傳輸。其主要功能就是利用創(chuàng)建的ZigBee網(wǎng)絡(luò)接收來自于終端設(shè)備收集氣象環(huán)境數(shù)據(jù),以設(shè)備類型分配地址封包處理,之后利用串口通信對IoT網(wǎng)關(guān)發(fā)送。
通過CC2530串口通信和WiFi傳輸數(shù)據(jù)功能設(shè)計網(wǎng)關(guān)設(shè)備,硬件部分主要包括電源模塊、CC2530射頻板模塊、程序下載模塊。CC2530芯片和NodeMCU芯片在電路設(shè)計過程中利用排針連接[4],串口連接的結(jié)構(gòu)如圖2所示。
通過UART和CC2530通信引腳相互連接,接收終端環(huán)境數(shù)據(jù)收集設(shè)備中傳輸數(shù)據(jù)。之后利用ESP8266芯片中NodeMCU進行開發(fā),通過MQTT使數(shù)據(jù)到服務(wù)器中發(fā)送。通過NodeMCU和ZigBee兩種技術(shù)設(shè)計網(wǎng)關(guān),不僅能夠保證數(shù)據(jù)傳輸過程中的效率與安全性,還能夠降低開發(fā)成本,應(yīng)用到農(nóng)業(yè)大棚等經(jīng)濟產(chǎn)業(yè)中。
1.4? 通信電路
串口和PC機是實現(xiàn)通信最為方便的通信接口,串行端口的本質(zhì)功能就是串行設(shè)備和CPU編碼轉(zhuǎn)換器。在數(shù)據(jù)通過CPU利用串行端口發(fā)送的過程中,字節(jié)數(shù)據(jù)發(fā)送到串行位中。在數(shù)據(jù)接收的過程中,串行位轉(zhuǎn)變?yōu)樽止?jié)數(shù)據(jù),串口屬于系統(tǒng)資源部分。
RS 485通信的主要優(yōu)勢就是利用雙絞線實現(xiàn)上位機和單片機的通信,其主要優(yōu)勢就是沖突保護、長傳輸距離、寬工模范圍、高噪聲抑制,此優(yōu)勢被廣泛應(yīng)用到工業(yè)設(shè)備和工業(yè)控制中[5]。通信電路的設(shè)計如圖3所示。
此系統(tǒng)使用RS 485串口通信,RS 485通信收發(fā)器使用Maxim公司低電壓芯片,此芯片屬于高速、低功耗、便于控制、價格便宜的異步通信接口芯片。通過其構(gòu)成的差分平衡系統(tǒng)抗干擾能力強,接收器對200 mV信號進行檢測。此芯片使用3.3 V低電壓供電,所以和LPC2101相互連接,不需要實現(xiàn)電平轉(zhuǎn)換。
1.5? 接口電路
為了提高系統(tǒng)和其他氣象儀器設(shè)備的兼容配套性,本文系統(tǒng)使用廣泛應(yīng)用到工業(yè)中的單排插針接口,系統(tǒng)板中利用工頭。將12 V和5 V,RS 485接口放置到系統(tǒng)一端,使數(shù)字量信號和模擬量輸入設(shè)置到另外一端。從而能夠避免信號干擾,降低測量進入到本系統(tǒng)后的前后收集誤差。外部接口電路如圖4所示。
2? 系統(tǒng)的軟件設(shè)計
2.1? 軟件架構(gòu)的設(shè)計
本文所設(shè)計的軟件是將物聯(lián)網(wǎng)技術(shù)作為基礎(chǔ),系統(tǒng)軟件架構(gòu)如圖5所示。基于MySQL數(shù)據(jù)庫和Apache Web服務(wù)器,利用氣象數(shù)據(jù)糾正程序、網(wǎng)絡(luò)數(shù)據(jù)交換程序、接口程序等模塊構(gòu)成。接口程序和數(shù)據(jù)庫能夠調(diào)用數(shù)據(jù)信息與服務(wù),提供給應(yīng)用程序部署模塊服務(wù)訪問接口與信息。ZigBee網(wǎng)絡(luò)數(shù)據(jù)交換程序模塊的主要目的就是通過網(wǎng)絡(luò)得出氣象觀測數(shù)據(jù),氣象數(shù)據(jù)糾正和融合處理程序以ZigBee網(wǎng)絡(luò)得出的數(shù)據(jù)與市級氣象服務(wù)器中得到區(qū)域天氣數(shù)據(jù)實現(xiàn)數(shù)據(jù)融合,實現(xiàn)觀測氣象數(shù)據(jù)的修正處理,之后到數(shù)據(jù)庫存儲,最后Web發(fā)布和應(yīng)用模塊都能夠提供給用戶氣象觀測數(shù)據(jù)的Web服務(wù)[6]。
2.2? 基站和節(jié)點的軟件設(shè)計
節(jié)點的主要目的就是對氣象數(shù)據(jù)進行收集,并且將數(shù)據(jù)傳輸?shù)交局校驹賹?shù)據(jù)傳輸?shù)街鞅O(jiān)控PC機中。因為充分考慮節(jié)點和基站通信的需求,首先要使用信道時分復(fù)用算法解決信道傳輸過程中的沖突問題,基于此添加身份識別碼進行識別,利用循環(huán)主動訪問等算法實現(xiàn)系統(tǒng)信息的傳輸。具體軟件的設(shè)計思想是:首先,將ID分配給全部節(jié)點,各節(jié)點使得到的ID到各自程序中寫入,基站也會存儲全部ID。系統(tǒng)在運行的過程中,基站要根據(jù)循環(huán)發(fā)射各個節(jié)點ID對節(jié)點發(fā)送的數(shù)據(jù)幀進行命令。基站在接收到數(shù)據(jù)幀之后實現(xiàn)ID和糾錯校驗,如果加入正確就記錄數(shù)據(jù),并且在主監(jiān)控PC機中傳輸,直到對下個節(jié)點進行訪問,否則就再次發(fā)送此節(jié)點ID,直到接收數(shù)據(jù)。節(jié)點的軟件流程如圖6所示。
節(jié)點主程序在接收基站ID命令時觸發(fā)數(shù)據(jù)發(fā)送任務(wù)中斷服務(wù)程序,在中斷過程中,MCU會對接收命令和自身ID的一致性進行判斷,假如一致,則到寄存器中存儲,使各個氣象數(shù)據(jù)和自身ID打包封裝成為指定數(shù)據(jù)幀,并且利用無線收發(fā)器進行發(fā)送;否則,就清除中斷,將接收命令進行忽略,之后進入到主程序數(shù)據(jù)收集任務(wù)程序,更新寄存器數(shù)據(jù),依次循環(huán)并且等待下個中斷。避免各節(jié)點數(shù)據(jù)傳輸信道出現(xiàn)沖突,使信道保持通暢,還能夠提高基站接收數(shù)據(jù)的有效性和正確性[7]。
2.3? 主機和從機監(jiān)控軟件的設(shè)計
在設(shè)計PC端軟件的過程中,因為PC運行過程中的速度比較快,并且單片機速度無法滿足需求,那么基站在對數(shù)據(jù)檢驗合格之后不進行封裝,將原本數(shù)字幀利用串口對主監(jiān)控PC機進行發(fā)送。主監(jiān)控PC機軟件的流程如圖7所示。
在軟件發(fā)送收集指令之后,基站在發(fā)送數(shù)據(jù)幀之前將串口通信端口寄存器打開,軟件能夠讀取數(shù)據(jù)幀,以此實現(xiàn)節(jié)點ID的識別,之后將各種數(shù)據(jù)取出,存儲到硬盤中,最后使各種數(shù)據(jù)根據(jù)坐標展現(xiàn)在軟件界面中,以此構(gòu)成時間段數(shù)據(jù)變化曲線。假如接收各種數(shù)據(jù)利用GSM模塊對手機用戶實現(xiàn)警報信息的發(fā)送,客戶監(jiān)控軟件主要監(jiān)控結(jié)構(gòu)和主監(jiān)控軟件一樣,只是客戶端要對主控制端實現(xiàn)遠程連接請求的發(fā)送,成功連接之后,主監(jiān)控端就會接收基站發(fā)送的數(shù)據(jù)幀,并且對客戶端發(fā)送相同數(shù)據(jù)幀。客戶端中數(shù)據(jù)處理流程和以上描述主監(jiān)控端相同,監(jiān)控模塊實現(xiàn)的代碼如下:
ScriptAlias
Options ExecCGI
AllowOverride None
Require all granted
AuthName "Nagios Access"
AuthType Basic
AuthUserFile htpasswd.users
Require valid?user
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/htpasswd.users
Require valid?user
3? 系統(tǒng)測試
本文系統(tǒng)在某生態(tài)科技園區(qū)實現(xiàn)數(shù)據(jù)收集和組網(wǎng)實驗,收集光照強度、空氣濕度、溫度和土壤濕度,選擇7個獨立農(nóng)業(yè)大棚布置節(jié)點,使測量數(shù)據(jù)傳輸效率、終端收集節(jié)點距離根據(jù)需求放置,并且實現(xiàn)測試。
使用精準電壓電阻測量節(jié)點功耗,保證測量接通電源后的功耗。根據(jù)系統(tǒng)終端節(jié)點使氣象環(huán)境數(shù)據(jù)收集為定時收集,設(shè)置系統(tǒng)每個小時執(zhí)行接收的命令與發(fā)送數(shù)據(jù)的動作時間為50 s,電量一共為3 000 mA[?]h,滿足系統(tǒng)低功耗需求。
根據(jù)三種傳感器節(jié)點收集環(huán)境特性和監(jiān)測土壤濕度,設(shè)置收集周期為20 min,光照強度收集周期為10 min,空氣濕度和溫度收集周期為5 min。在協(xié)議棧中使用終端收集節(jié)點休眠喚醒機制,實現(xiàn)環(huán)境數(shù)據(jù)的連續(xù)性。表1為網(wǎng)絡(luò)丟包率,通過表1可知,丟包率不斷增長的主要原因為終端收集節(jié)點和協(xié)調(diào)器距離,在距離100 m后,丟包率在不斷增加。但是,在農(nóng)業(yè)大棚實際使用過程中,終端收集節(jié)點對網(wǎng)關(guān)傳輸數(shù)據(jù)距離為100 m以下,整體網(wǎng)絡(luò)平均丟包率不超過2.6%,使大棚內(nèi)空氣濕度、溫度、光照強度和土壤濕度的需求得到滿足[8]。
4? 結(jié)? 語
利用分析系統(tǒng)測試和應(yīng)用,本文研究了基于物聯(lián)網(wǎng)技術(shù)農(nóng)業(yè)氣象應(yīng)用系統(tǒng)。本文系統(tǒng)前端收集設(shè)備的成本比較低,并且便于布點,后端管理軟件包括模塊集成,能夠使專家知識應(yīng)用到軟件中,充分使用移動互聯(lián)網(wǎng)優(yōu)勢,從而提供農(nóng)業(yè)氣象服務(wù)。此系統(tǒng)使用比較簡單方便,用戶只需要在有網(wǎng)絡(luò)的地方將瀏覽器打開,就能夠?qū)崿F(xiàn)信息瀏覽、報警查看和設(shè)備管理。
參考文獻
[1] 徐白冰,王建立,曹景太.基于物聯(lián)網(wǎng)的溫濕度與風(fēng)速信息采集系統(tǒng)設(shè)計與實現(xiàn)[J].液晶與顯示,2016,31(10):936?942.
[2] 崔麗珍,徐錦濤,丁福星,等.基于物聯(lián)網(wǎng)的農(nóng)業(yè)大棚氣象數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(12):73?76.
[3] 李曉丹.基于STM32的物聯(lián)網(wǎng)嵌入式網(wǎng)關(guān)的設(shè)計[J].計算機工程與應(yīng)用,2015,51(4):61?65.
[4] 丁波.基于WebSocket協(xié)議的智能溫室測控系統(tǒng)的設(shè)計與實現(xiàn)[D].鎮(zhèn)江:江蘇大學(xué),2016.
[5] 翟俊菁,李必龍,賈香風(fēng).基于物聯(lián)網(wǎng)技術(shù)的農(nóng)業(yè)氣象觀測系統(tǒng)的研究與設(shè)計[J].中國農(nóng)學(xué)通報,2016,32(32):182?187.
[6] 梁龍凱,何文超,呂緒浩.基于STM32及物聯(lián)網(wǎng)的老年人追蹤定位系統(tǒng)設(shè)計[J].電子世界,2017,51(21):105?106.
[7] 王峰.基于物聯(lián)網(wǎng)的農(nóng)業(yè)大棚溫度自動控制系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2017,40(13):152?154.
[8] 蔡澤利,譚振江.物聯(lián)網(wǎng)智能無線節(jié)點自動監(jiān)控數(shù)據(jù)采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2018,41(4):183?186.