




摘" 要:該文基于物聯網設計一種自動氣象信息采集系統,可以實時獲取氣象信息,保證終端顯示結果與真實情況具有一致性。該文首先介紹自動氣象信息采集系統的整體設計思路,以及智能傳感器節點及其硬件電路和軟件程序的設計要點;隨后對比了常規Leach算法和改進Leach算法在傳感網節能方面的優劣勢,并設計仿真試驗驗證2種算法的節能效果。仿真結果表明,相比于常規Leach算法,使用改進Leach算法的傳感網,在無數據融合時數據采集總量可提升11.35%;有數據融合時,數據采集總量可提升30.27%。由此可見,使用改進Leach算法的自動氣象信息采集系統在運行時能耗更低,節能效果更好。
關鍵詞:物聯網;自動氣象信息采集;Leach算法;智能傳感器;仿真分析
中圖分類號:P49" " " " "文獻標志碼: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
氣象監測是利用傳感器感知、收集與氣象有關的因子,然后經過通信裝置將氣象參數反饋給終端計算機,方便人們遠程掌握不同區域的氣象狀況。由于各類氣象條件始終處于動態變化中,有必要設計一種可以實時獲取、同步傳輸、快速處理的自動氣象信息系統。將物聯網應用到自動氣象信息系統中,可以滿足信息收集、傳輸、處理的需要。但是基于物聯網的自動氣象信息系統,由于覆蓋范圍大,傳感器數量多并且分布不規則,因此在氣象信息傳輸中會產生較大能耗。在滿足氣象信息自動采集、同步傳輸等實用需求的前提下,如何進一步降低能耗成為研究的重點。
1" 基于物聯網的自動氣象信息采集設計
1.1" 系統整體設計思路
本文基于物聯網設計一種自動氣象信息采集系統,可以利用各類終端傳感器(如溫度傳感器、風速傳感器和氣壓傳感器等)獲取各類氣象數據,然后利用通信網絡將采集到的數據傳輸給控制終端,從而實現遠程監控,為管理決策提供依據。該系統中,除了負責收集氣象參數的終端傳感器,還有用于接收上層命令、負責組建網絡、接收終端傳感器節點傳輸信息的網關節點。整個系統的組成架構如圖1所示。
1.2" 自動氣象信息采集節點設計
1.2.1" 智能傳感器節點的設計
物聯網中智能節點主要包括2類,即網關節點、終端傳感器節點;其中,后者又可分為簇首節點、普通節點。基于物聯網的自動氣象信息采集系統,使用到的節點主要是終端傳感器節點,其功能是對前端各類傳感器(溫度傳感器、風速傳感器等)獲取的數據進行預處理,然后統一發送到網關節點。從組成結構上來看,終端智能傳感器節點主要包括信息采集、信息處理、信息傳輸、供電電源4個部分,如圖2所示。
1.2.2" 智能傳感器節點硬件電路設計
該傳感器節點的硬件電路部分主要包括信息采集裝置、信息處理裝置、信息傳輸裝置和電源。其中,信息采集裝置可獲取的信息有溫度、濕度、風速、風向和氣壓等。這里以風速采集為例,考慮到風速具有很強的隨機性,為了更加精準地獲取風速數據,本文使用了光電開關式風速傳感器,它能夠用A/D轉換器將采集到的速度信號轉化成計算機可識別的電信號,該裝置的測量范圍在0~50 m/s,準確度可以達到±(0.5+0.05 V)m/s,可在-30~50 ℃環境下正常工作[1]。信息處理裝置的核心元件是一臺微處理器,同時也是整個網絡中能耗較高的元件。因此,在設計硬件電路時,應當在滿足信息處理需求的前提下,盡量選擇低功率消耗、高運算速度的微處理器。本文選擇了AVR系列的ATmega20型單片機作為微處理器,可滿足低功耗、低成本、快速度的要求。信息傳輸單元選擇支持ZigBee協議CC2431芯片,在收/發模式下電流損耗可以維持在24/20 mA,并且在無信息傳輸時會自動休眠,從而降低功耗。
1.2.3" 智能傳感器節點信息采集軟件設計
傳感器采集到的信號需要經過A/D轉換和頻率測量后,再傳輸至網關。因此在軟件設計中需要重點設計A/D轉換程序和流量監測程序。
A/D轉換程序的主要作用是將模擬信號轉化為數字信號(電壓信號),本文使用ATmega20單片機編寫A/D轉換程序,其流程如圖3所示。
以路面結冰信息為例,只有“結冰”和“未結冰”2種狀態,而路面是否結冰取決于溫度和路面阻值這兩項參數。在程序設計中,可以提前設定閾值:溫度等于0 ℃時路面阻值等于30 MΩ。然后單片機將前端傳感器反饋的數據與設定閾值進行對比,如果同時滿足“溫度小于0 ℃且路面阻值小于30 MΩ”,則判斷為路面結冰;反之,只要任意一個條件不滿足,則路面不結冰[2]。
像風速、氣壓和降雨量等參數,均已脈沖信號的形式從傳感器輸出,通過測量其頻率能夠得到具體值。常用的頻率測量方法有計數法、測周法,但是均存在資源占用大、能量消耗多的問題。本文使用ATmega20單片機自帶的16位定時/計數器(T/Cl)進行頻率測量,只占用少量的硬件資源,能耗較低,其頻率測量流程如圖4所示。
2" 基于物聯網的自動氣象信息采集網絡設計
2.1" 自動氣象信息采集網絡運行流程
自動氣象信息采集系統啟動運行后,首先執行一個初始化程序,系統中的網關節點、簇首節點等全部復位。初始化完成后,設備通電,并執行一個判斷程序“查詢是否存在網絡?”如果判斷為“否”,則需要自定義一個網關節點,并建立相應的網絡,將簇首節點和終端節點添加到該網絡中;如果判斷為“是”,則直接將簇首節點、終端階段加入網絡。然后再執行一個判斷程序“是否成功加入網絡?”如果判斷為“否”,則返回建立網絡程序;如果判斷為“是”,則繼續執行判斷程序“當前節點是否為簇首節點?”如果是簇首節點,自動進入網絡監聽和等待狀態,直到該簇首節點接到入網請求,然后為終端節點分配地址,并接收數據。如果不是簇首節點,則直接進入休眠狀態,在達到設定的時間中斷后,喚醒該節點,完成氣象數據的采集和發送。成功發送后,再次進入休眠狀態,等待下一輪數據采集[3]。
2.2" 氣象傳感網節能算法設計
2.2.1" 常規的Leach算法
降低能量損耗是物聯網領域研究的熱門課題,目前常用的降低能量損耗方法有增加無線通信模塊的睡眠時間、對底層上傳數據采用分布式數據庫篩選等幾種。考慮到氣象監測傳感器網絡具有覆蓋范圍廣、單個節點能量低和拓撲結構易改變等特點,最終選擇了Leach算法。作為一種低功耗、自適應分層算法,Leach算法能夠將傳感網絡覆蓋范圍內的所有節點,以簇為單位重新劃分,每個簇的節點會隨機選出一個簇首節點,完成簇的創建。這樣一來,在物聯網覆蓋范圍內,任意一個傳感器節點都會有所屬的簇。傳感器采集前端信息后,首先向所屬的簇首節點發出訪問網絡的申請,簇首接到該請求后生成TDMA表并發布廣播,尋找最佳的網絡傳輸路徑(速度最快、能耗最低),同時簇首接收傳感器的數據,并按照確定的最佳路徑發送給網關,達到節能效果。
2.2.2" 改進的Leach算法
Leach算法在實際應用中,由于是隨機選擇簇首,可能會因為連續多次選擇的簇首集中在同一位置,導致網絡資源分布不均,進而出現網絡能耗波動明顯的問題。基于此,本文提出了一種改進的Leach算法,主要從以下2方面對常規的Leach算法進行了優化:其一是改變第二層簇首的選取策略,將節點剩余能量考慮在內,通過調整節點與網關之間的距離,保證了最終選擇的簇首節點能夠均衡能量消耗;其二是進行數據融合,由于物聯網內傳感器數量多并且分布零散,如果單個傳感器采集數據后逐級發送到各層的簇首節點,會占用大量的帶寬資源,容易造成通信堵塞[4]。因此,通過數據融合的方式,將第一層簇首接收的所有數據與第2層簇首數據進行融合,再統一發送到網關,從而顯著降低能耗。
3" 基于物聯網的自動氣象信息采集仿真分析
3.1" 仿真設計
為驗證本文設計的氣象傳感網節能算法的應用效果,運用Matlab工具分別對Leach算法和改進Leach算法的節能效果展開仿真分析。仿真設計如下:①節點數為120個;②單個節點初始能量為0.8 J;③收發數據能耗為60 nJ/b;④覆蓋范圍為150 m×150 m;⑤數據包大小為4 800 b;⑥總帶寬為2.2 MHz;⑦簇首節點與網管通信距離為1.3×10-4 pJ/bm4。
根據上述設定,在Matlab軟件中新建一個規格為150 m×150 m的正方形區域,并在該區域內生成120個節點。然后判斷第二層簇首節點對第一層簇發送來的數據能否進行有效融合,并仿真分析2種算法的節能效果[5]。
3.2" 仿真結果
在數據不融合的情況下,不對第一層簇首節點發送來的數據做任何處理,將所有數據以數據包的形式,定期發送到網關節點;此時第二層簇首節點的作用只是完成數據的接收與轉發。在無數據融合時,2種算法數據采集總數隨輪數的變化如圖4所示。
根據圖5可知,在數據未融合的情況下,前1 200輪無論是選擇常規的Leach算法還是改進的Leach算法,數據采集總數沒有明顯差異,并且輪數與數據采集總量之間保持了良好的線性關系。在1 200~1 800輪之間,相同輪數下使用改進的Leach算法,能夠采集到的數據總數要超過常規的Leach算法;并且從1 600輪開始,2種算法下能夠采集到的數據總量均達到最大值。其中Leach算法下能采集到的最多數據為1.85×108,而改進的Leach算法下能采集到的最多數據為2.06×108,并且從1 600輪以后,數據采集總數保持不變。橫向對比可以發現,改進的Leach算法數據采集總量要比Leach算法多11.35%。
在數據融合的情況下,第一層簇首節點將數據發送到第二層簇首節點,并在該節點上將兩層數據進行融合,然后再以數據包的形式傳送到網關節點。在數據融合時,2種算法數據采集總數隨輪數的變化如圖5所示。
根據圖6可知,在數據融合時,在前1 000輪使用2種算法,在相同輪數下數據采集總數也保持一致,并且有良好的線性關系。從第1 000輪以后,采用不同算法,同一輪數下數據采集總數開始發生差異。使用Leach算法時,從1 400輪開始,數據采集總數達到最大值,為1.85×108,而使用改進Leach算法,從1 600輪開始數據采集總數達到最大值,為2.41×108,要比Leach算法高出30.27%。
綜合上述仿真結果,基于物聯網的自動氣象信息采集系統,使用改進的Leach算法能夠在單位時間內采集更多的數據,可以降低傳感網的能量消耗,節能效果顯著。
4" 結束語
本文設計的一種基于物聯網的自動氣象信息采集系統,可利用前端的溫度、濕度、風速、風向和氣壓等各類傳感器采集不同類型的氣象數據,然后通過簇首節點發送至網關,最后由計算機完成分析、輔助決策。在系統設計中,使用了改進的Leach算法對該系統進行能耗優化。仿真結果表明,相比于常規的Leach算法,應用改進的Leach算法后自動氣象信息采集系統的能耗明顯降低。
參考文獻:
[1] 周步偉,楊云,殷彬,等.高速公路團霧氣象信息采集自動控制系統設計[J].自動化儀表,2019(2):48-50.
[2] 李要中.自動氣象溫濕度傳感器采集電路設計與實現[J].信息技術與網絡安全,2021(17):201-202.
[3] 趙文芳,劉旭林.SparkStreaming框架下的氣象自動站數據實時處理系統[J].計算機應用,2018(1):7-8.
[4] 王敏,劉紹龍.福州市氣象自動站信息系統設計與實現[J].重慶科技學院學報:自然科學版,2018(6):42-44.
[5] 劉成茂,孫粉妮,楊輝.通用機場氣象信息自動采集系統設計[J].科研,2019(6):21-22.