




摘" 要:該文基于物聯(lián)網(wǎng)設(shè)計(jì)一種自動氣象信息采集系統(tǒng),可以實(shí)時(shí)獲取氣象信息,保證終端顯示結(jié)果與真實(shí)情況具有一致性。該文首先介紹自動氣象信息采集系統(tǒng)的整體設(shè)計(jì)思路,以及智能傳感器節(jié)點(diǎn)及其硬件電路和軟件程序的設(shè)計(jì)要點(diǎn);隨后對比了常規(guī)Leach算法和改進(jìn)Leach算法在傳感網(wǎng)節(jié)能方面的優(yōu)劣勢,并設(shè)計(jì)仿真試驗(yàn)驗(yàn)證2種算法的節(jié)能效果。仿真結(jié)果表明,相比于常規(guī)Leach算法,使用改進(jìn)Leach算法的傳感網(wǎng),在無數(shù)據(jù)融合時(shí)數(shù)據(jù)采集總量可提升11.35%;有數(shù)據(jù)融合時(shí),數(shù)據(jù)采集總量可提升30.27%。由此可見,使用改進(jìn)Leach算法的自動氣象信息采集系統(tǒng)在運(yùn)行時(shí)能耗更低,節(jié)能效果更好。
關(guān)鍵詞:物聯(lián)網(wǎng);自動氣象信息采集;Leach算法;智能傳感器;仿真分析
中圖分類號:P49" " " " "文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號:2095-2945(2023)11-0115-04
Abstract: This paper designs an automatic meteorological information acquisition system based on the Internet of Things, which can obtain real-time meteorological information and ensure that the terminal display results are consistent with the real situation. This paper first introduces the overall design idea of the automatic meteorological information acquisition system, and the key points of the design of the intelligent sensor node and its hardware circuit and software program, then compares the advantages and disadvantages of the conventional Leach algorithm and the improved Leach algorithm in the sensor network energy saving, and finally designs a simulation experiment to verify the energy saving effect of the two algorithms. The simulation results show that, compared with the conventional Leach algorithm, the sensor network using the improved Leach algorithm can increase the total amount of data collection by 11.35% without data fusion and 30.27% with data fusion. Thus, it can be seen that the automatic meteorological information collection system using the improved Leach algorithm has lower energy consumption and better energy-saving effect.
Keywords: Internet of Things; automatic meteorological information collection; Leach algorithm; intelligent sensor; simulation analysis
氣象監(jiān)測是利用傳感器感知、收集與氣象有關(guān)的因子,然后經(jīng)過通信裝置將氣象參數(shù)反饋給終端計(jì)算機(jī),方便人們遠(yuǎn)程掌握不同區(qū)域的氣象狀況。由于各類氣象條件始終處于動態(tài)變化中,有必要設(shè)計(jì)一種可以實(shí)時(shí)獲取、同步傳輸、快速處理的自動氣象信息系統(tǒng)。將物聯(lián)網(wǎng)應(yīng)用到自動氣象信息系統(tǒng)中,可以滿足信息收集、傳輸、處理的需要。但是基于物聯(lián)網(wǎng)的自動氣象信息系統(tǒng),由于覆蓋范圍大,傳感器數(shù)量多并且分布不規(guī)則,因此在氣象信息傳輸中會產(chǎn)生較大能耗。在滿足氣象信息自動采集、同步傳輸?shù)葘?shí)用需求的前提下,如何進(jìn)一步降低能耗成為研究的重點(diǎn)。
1" 基于物聯(lián)網(wǎng)的自動氣象信息采集設(shè)計(jì)
1.1" 系統(tǒng)整體設(shè)計(jì)思路
本文基于物聯(lián)網(wǎng)設(shè)計(jì)一種自動氣象信息采集系統(tǒng),可以利用各類終端傳感器(如溫度傳感器、風(fēng)速傳感器和氣壓傳感器等)獲取各類氣象數(shù)據(jù),然后利用通信網(wǎng)絡(luò)將采集到的數(shù)據(jù)傳輸給控制終端,從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,為管理決策提供依據(jù)。該系統(tǒng)中,除了負(fù)責(zé)收集氣象參數(shù)的終端傳感器,還有用于接收上層命令、負(fù)責(zé)組建網(wǎng)絡(luò)、接收終端傳感器節(jié)點(diǎn)傳輸信息的網(wǎng)關(guān)節(jié)點(diǎn)。整個(gè)系統(tǒng)的組成架構(gòu)如圖1所示。
1.2" 自動氣象信息采集節(jié)點(diǎn)設(shè)計(jì)
1.2.1" 智能傳感器節(jié)點(diǎn)的設(shè)計(jì)
物聯(lián)網(wǎng)中智能節(jié)點(diǎn)主要包括2類,即網(wǎng)關(guān)節(jié)點(diǎn)、終端傳感器節(jié)點(diǎn);其中,后者又可分為簇首節(jié)點(diǎn)、普通節(jié)點(diǎn)。基于物聯(lián)網(wǎng)的自動氣象信息采集系統(tǒng),使用到的節(jié)點(diǎn)主要是終端傳感器節(jié)點(diǎn),其功能是對前端各類傳感器(溫度傳感器、風(fēng)速傳感器等)獲取的數(shù)據(jù)進(jìn)行預(yù)處理,然后統(tǒng)一發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn)。從組成結(jié)構(gòu)上來看,終端智能傳感器節(jié)點(diǎn)主要包括信息采集、信息處理、信息傳輸、供電電源4個(gè)部分,如圖2所示。
1.2.2" 智能傳感器節(jié)點(diǎn)硬件電路設(shè)計(jì)
該傳感器節(jié)點(diǎn)的硬件電路部分主要包括信息采集裝置、信息處理裝置、信息傳輸裝置和電源。其中,信息采集裝置可獲取的信息有溫度、濕度、風(fēng)速、風(fēng)向和氣壓等。這里以風(fēng)速采集為例,考慮到風(fēng)速具有很強(qiáng)的隨機(jī)性,為了更加精準(zhǔn)地獲取風(fēng)速數(shù)據(jù),本文使用了光電開關(guān)式風(fēng)速傳感器,它能夠用A/D轉(zhuǎn)換器將采集到的速度信號轉(zhuǎn)化成計(jì)算機(jī)可識別的電信號,該裝置的測量范圍在0~50 m/s,準(zhǔn)確度可以達(dá)到±(0.5+0.05 V)m/s,可在-30~50 ℃環(huán)境下正常工作[1]。信息處理裝置的核心元件是一臺微處理器,同時(shí)也是整個(gè)網(wǎng)絡(luò)中能耗較高的元件。因此,在設(shè)計(jì)硬件電路時(shí),應(yīng)當(dāng)在滿足信息處理需求的前提下,盡量選擇低功率消耗、高運(yùn)算速度的微處理器。本文選擇了AVR系列的ATmega20型單片機(jī)作為微處理器,可滿足低功耗、低成本、快速度的要求。信息傳輸單元選擇支持ZigBee協(xié)議CC2431芯片,在收/發(fā)模式下電流損耗可以維持在24/20 mA,并且在無信息傳輸時(shí)會自動休眠,從而降低功耗。
1.2.3" 智能傳感器節(jié)點(diǎn)信息采集軟件設(shè)計(jì)
傳感器采集到的信號需要經(jīng)過A/D轉(zhuǎn)換和頻率測量后,再傳輸至網(wǎng)關(guān)。因此在軟件設(shè)計(jì)中需要重點(diǎn)設(shè)計(jì)A/D轉(zhuǎn)換程序和流量監(jiān)測程序。
A/D轉(zhuǎn)換程序的主要作用是將模擬信號轉(zhuǎn)化為數(shù)字信號(電壓信號),本文使用ATmega20單片機(jī)編寫A/D轉(zhuǎn)換程序,其流程如圖3所示。
以路面結(jié)冰信息為例,只有“結(jié)冰”和“未結(jié)冰”2種狀態(tài),而路面是否結(jié)冰取決于溫度和路面阻值這兩項(xiàng)參數(shù)。在程序設(shè)計(jì)中,可以提前設(shè)定閾值:溫度等于0 ℃時(shí)路面阻值等于30 MΩ。然后單片機(jī)將前端傳感器反饋的數(shù)據(jù)與設(shè)定閾值進(jìn)行對比,如果同時(shí)滿足“溫度小于0 ℃且路面阻值小于30 MΩ”,則判斷為路面結(jié)冰;反之,只要任意一個(gè)條件不滿足,則路面不結(jié)冰[2]。
像風(fēng)速、氣壓和降雨量等參數(shù),均已脈沖信號的形式從傳感器輸出,通過測量其頻率能夠得到具體值。常用的頻率測量方法有計(jì)數(shù)法、測周法,但是均存在資源占用大、能量消耗多的問題。本文使用ATmega20單片機(jī)自帶的16位定時(shí)/計(jì)數(shù)器(T/Cl)進(jìn)行頻率測量,只占用少量的硬件資源,能耗較低,其頻率測量流程如圖4所示。
2" 基于物聯(lián)網(wǎng)的自動氣象信息采集網(wǎng)絡(luò)設(shè)計(jì)
2.1" 自動氣象信息采集網(wǎng)絡(luò)運(yùn)行流程
自動氣象信息采集系統(tǒng)啟動運(yùn)行后,首先執(zhí)行一個(gè)初始化程序,系統(tǒng)中的網(wǎng)關(guān)節(jié)點(diǎn)、簇首節(jié)點(diǎn)等全部復(fù)位。初始化完成后,設(shè)備通電,并執(zhí)行一個(gè)判斷程序“查詢是否存在網(wǎng)絡(luò)?”如果判斷為“否”,則需要自定義一個(gè)網(wǎng)關(guān)節(jié)點(diǎn),并建立相應(yīng)的網(wǎng)絡(luò),將簇首節(jié)點(diǎn)和終端節(jié)點(diǎn)添加到該網(wǎng)絡(luò)中;如果判斷為“是”,則直接將簇首節(jié)點(diǎn)、終端階段加入網(wǎng)絡(luò)。然后再執(zhí)行一個(gè)判斷程序“是否成功加入網(wǎng)絡(luò)?”如果判斷為“否”,則返回建立網(wǎng)絡(luò)程序;如果判斷為“是”,則繼續(xù)執(zhí)行判斷程序“當(dāng)前節(jié)點(diǎn)是否為簇首節(jié)點(diǎn)?”如果是簇首節(jié)點(diǎn),自動進(jìn)入網(wǎng)絡(luò)監(jiān)聽和等待狀態(tài),直到該簇首節(jié)點(diǎn)接到入網(wǎng)請求,然后為終端節(jié)點(diǎn)分配地址,并接收數(shù)據(jù)。如果不是簇首節(jié)點(diǎn),則直接進(jìn)入休眠狀態(tài),在達(dá)到設(shè)定的時(shí)間中斷后,喚醒該節(jié)點(diǎn),完成氣象數(shù)據(jù)的采集和發(fā)送。成功發(fā)送后,再次進(jìn)入休眠狀態(tài),等待下一輪數(shù)據(jù)采集[3]。
2.2" 氣象傳感網(wǎng)節(jié)能算法設(shè)計(jì)
2.2.1" 常規(guī)的Leach算法
降低能量損耗是物聯(lián)網(wǎng)領(lǐng)域研究的熱門課題,目前常用的降低能量損耗方法有增加無線通信模塊的睡眠時(shí)間、對底層上傳數(shù)據(jù)采用分布式數(shù)據(jù)庫篩選等幾種。考慮到氣象監(jiān)測傳感器網(wǎng)絡(luò)具有覆蓋范圍廣、單個(gè)節(jié)點(diǎn)能量低和拓?fù)浣Y(jié)構(gòu)易改變等特點(diǎn),最終選擇了Leach算法。作為一種低功耗、自適應(yīng)分層算法,Leach算法能夠?qū)鞲芯W(wǎng)絡(luò)覆蓋范圍內(nèi)的所有節(jié)點(diǎn),以簇為單位重新劃分,每個(gè)簇的節(jié)點(diǎn)會隨機(jī)選出一個(gè)簇首節(jié)點(diǎn),完成簇的創(chuàng)建。這樣一來,在物聯(lián)網(wǎng)覆蓋范圍內(nèi),任意一個(gè)傳感器節(jié)點(diǎn)都會有所屬的簇。傳感器采集前端信息后,首先向所屬的簇首節(jié)點(diǎn)發(fā)出訪問網(wǎng)絡(luò)的申請,簇首接到該請求后生成TDMA表并發(fā)布廣播,尋找最佳的網(wǎng)絡(luò)傳輸路徑(速度最快、能耗最低),同時(shí)簇首接收傳感器的數(shù)據(jù),并按照確定的最佳路徑發(fā)送給網(wǎng)關(guān),達(dá)到節(jié)能效果。
2.2.2" 改進(jìn)的Leach算法
Leach算法在實(shí)際應(yīng)用中,由于是隨機(jī)選擇簇首,可能會因?yàn)檫B續(xù)多次選擇的簇首集中在同一位置,導(dǎo)致網(wǎng)絡(luò)資源分布不均,進(jìn)而出現(xiàn)網(wǎng)絡(luò)能耗波動明顯的問題。基于此,本文提出了一種改進(jìn)的Leach算法,主要從以下2方面對常規(guī)的Leach算法進(jìn)行了優(yōu)化:其一是改變第二層簇首的選取策略,將節(jié)點(diǎn)剩余能量考慮在內(nèi),通過調(diào)整節(jié)點(diǎn)與網(wǎng)關(guān)之間的距離,保證了最終選擇的簇首節(jié)點(diǎn)能夠均衡能量消耗;其二是進(jìn)行數(shù)據(jù)融合,由于物聯(lián)網(wǎng)內(nèi)傳感器數(shù)量多并且分布零散,如果單個(gè)傳感器采集數(shù)據(jù)后逐級發(fā)送到各層的簇首節(jié)點(diǎn),會占用大量的帶寬資源,容易造成通信堵塞[4]。因此,通過數(shù)據(jù)融合的方式,將第一層簇首接收的所有數(shù)據(jù)與第2層簇首數(shù)據(jù)進(jìn)行融合,再統(tǒng)一發(fā)送到網(wǎng)關(guān),從而顯著降低能耗。
3" 基于物聯(lián)網(wǎng)的自動氣象信息采集仿真分析
3.1" 仿真設(shè)計(jì)
為驗(yàn)證本文設(shè)計(jì)的氣象傳感網(wǎng)節(jié)能算法的應(yīng)用效果,運(yùn)用Matlab工具分別對Leach算法和改進(jìn)Leach算法的節(jié)能效果展開仿真分析。仿真設(shè)計(jì)如下:①節(jié)點(diǎn)數(shù)為120個(gè);②單個(gè)節(jié)點(diǎn)初始能量為0.8 J;③收發(fā)數(shù)據(jù)能耗為60 nJ/b;④覆蓋范圍為150 m×150 m;⑤數(shù)據(jù)包大小為4 800 b;⑥總帶寬為2.2 MHz;⑦簇首節(jié)點(diǎn)與網(wǎng)管通信距離為1.3×10-4 pJ/bm4。
根據(jù)上述設(shè)定,在Matlab軟件中新建一個(gè)規(guī)格為150 m×150 m的正方形區(qū)域,并在該區(qū)域內(nèi)生成120個(gè)節(jié)點(diǎn)。然后判斷第二層簇首節(jié)點(diǎn)對第一層簇發(fā)送來的數(shù)據(jù)能否進(jìn)行有效融合,并仿真分析2種算法的節(jié)能效果[5]。
3.2" 仿真結(jié)果
在數(shù)據(jù)不融合的情況下,不對第一層簇首節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)做任何處理,將所有數(shù)據(jù)以數(shù)據(jù)包的形式,定期發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn);此時(shí)第二層簇首節(jié)點(diǎn)的作用只是完成數(shù)據(jù)的接收與轉(zhuǎn)發(fā)。在無數(shù)據(jù)融合時(shí),2種算法數(shù)據(jù)采集總數(shù)隨輪數(shù)的變化如圖4所示。
根據(jù)圖5可知,在數(shù)據(jù)未融合的情況下,前1 200輪無論是選擇常規(guī)的Leach算法還是改進(jìn)的Leach算法,數(shù)據(jù)采集總數(shù)沒有明顯差異,并且輪數(shù)與數(shù)據(jù)采集總量之間保持了良好的線性關(guān)系。在1 200~1 800輪之間,相同輪數(shù)下使用改進(jìn)的Leach算法,能夠采集到的數(shù)據(jù)總數(shù)要超過常規(guī)的Leach算法;并且從1 600輪開始,2種算法下能夠采集到的數(shù)據(jù)總量均達(dá)到最大值。其中Leach算法下能采集到的最多數(shù)據(jù)為1.85×108,而改進(jìn)的Leach算法下能采集到的最多數(shù)據(jù)為2.06×108,并且從1 600輪以后,數(shù)據(jù)采集總數(shù)保持不變。橫向?qū)Ρ瓤梢园l(fā)現(xiàn),改進(jìn)的Leach算法數(shù)據(jù)采集總量要比Leach算法多11.35%。
在數(shù)據(jù)融合的情況下,第一層簇首節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到第二層簇首節(jié)點(diǎn),并在該節(jié)點(diǎn)上將兩層數(shù)據(jù)進(jìn)行融合,然后再以數(shù)據(jù)包的形式傳送到網(wǎng)關(guān)節(jié)點(diǎn)。在數(shù)據(jù)融合時(shí),2種算法數(shù)據(jù)采集總數(shù)隨輪數(shù)的變化如圖5所示。
根據(jù)圖6可知,在數(shù)據(jù)融合時(shí),在前1 000輪使用2種算法,在相同輪數(shù)下數(shù)據(jù)采集總數(shù)也保持一致,并且有良好的線性關(guān)系。從第1 000輪以后,采用不同算法,同一輪數(shù)下數(shù)據(jù)采集總數(shù)開始發(fā)生差異。使用Leach算法時(shí),從1 400輪開始,數(shù)據(jù)采集總數(shù)達(dá)到最大值,為1.85×108,而使用改進(jìn)Leach算法,從1 600輪開始數(shù)據(jù)采集總數(shù)達(dá)到最大值,為2.41×108,要比Leach算法高出30.27%。
綜合上述仿真結(jié)果,基于物聯(lián)網(wǎng)的自動氣象信息采集系統(tǒng),使用改進(jìn)的Leach算法能夠在單位時(shí)間內(nèi)采集更多的數(shù)據(jù),可以降低傳感網(wǎng)的能量消耗,節(jié)能效果顯著。
4" 結(jié)束語
本文設(shè)計(jì)的一種基于物聯(lián)網(wǎng)的自動氣象信息采集系統(tǒng),可利用前端的溫度、濕度、風(fēng)速、風(fēng)向和氣壓等各類傳感器采集不同類型的氣象數(shù)據(jù),然后通過簇首節(jié)點(diǎn)發(fā)送至網(wǎng)關(guān),最后由計(jì)算機(jī)完成分析、輔助決策。在系統(tǒng)設(shè)計(jì)中,使用了改進(jìn)的Leach算法對該系統(tǒng)進(jìn)行能耗優(yōu)化。仿真結(jié)果表明,相比于常規(guī)的Leach算法,應(yīng)用改進(jìn)的Leach算法后自動氣象信息采集系統(tǒng)的能耗明顯降低。
參考文獻(xiàn):
[1] 周步偉,楊云,殷彬,等.高速公路團(tuán)霧氣象信息采集自動控制系統(tǒng)設(shè)計(jì)[J].自動化儀表,2019(2):48-50.
[2] 李要中.自動氣象溫濕度傳感器采集電路設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2021(17):201-202.
[3] 趙文芳,劉旭林.SparkStreaming框架下的氣象自動站數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2018(1):7-8.
[4] 王敏,劉紹龍.福州市氣象自動站信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].重慶科技學(xué)院學(xué)報(bào):自然科學(xué)版,2018(6):42-44.
[5] 劉成茂,孫粉妮,楊輝.通用機(jī)場氣象信息自動采集系統(tǒng)設(shè)計(jì)[J].科研,2019(6):21-22.