陳經緯
摘 要:構建基于ZigBee的無線傳感器節點數據采集及分布式遠程控制系統,通過數據以及相關協議的結合,可以對遠程節點進行采集,并且將其存儲在數據庫中。這種操作方式可靠性高,而且能耗低,對農業、工業等技術領域都有著相當大的應用價值。文章詳細介紹系統總體設計及系統硬件、軟件設計,希望對相關人員有借鑒意義。
關鍵詞:無線傳感器;節點數據采集;分布式遠程控制
1?背景闡述
無線傳感器網絡技術使人們在對信息進行處理的過程當中擁有更快的速度,并且不斷地提高計算機與世界之間的聯系。而通過建立大量傳感器獲取數據,并且在中央服務器進行處理,達到了十分高效的運用效果。與此同時,遠程控制技術也在高速地發展,這是一種以計算機通信技術為基礎的處理方法。而將兩者進行結合,可以充分地對信息進行反饋并且處理。這種運用遠程控制系統通過互聯網的遠程控制實現的方法,有效地融入了服務過程,起到了非常好的效果。因此這種技術不會受到時空的限制,并且可以使人力成本大大減少,使資源的利用率不斷擴大。正是因為這一系列的優點,許多研究單位也紛紛建立起相應的研究平臺,并且通過其硬件結構進行靈活的操作,使其可以運用于不同的形式,讓遠程技術能夠得到很大層面的推廣[1]。
當前,在無線傳感器網絡和遠程控制技術不斷發展的背景下,物聯網技術的應用也在不斷的進步。目前“互聯網+”這一理念應用于很多的領域,如交通、工業等,不僅有利于人們對于理論的探索和系統的改進,而且對各種發展模式以及各種路徑的研究和開拓都有著相當重要的意義,它可以進一步促進人們生產方式的轉變。而本文主要是研究基于ZigBee的無線傳感器節點數據采集及分布式遠程控制體系,通過對土壤中的一些含量數據進行說明,并且運用該系統,使用戶能夠在遠程實現控制節點采集的功能,網頁客戶端能夠收集主機的上傳數據[2]。
2?系統總體設計
在對遠程無線控制系統的總體進行設計時,需要兼顧網頁客戶端、服務端、主機端和無線傳感器節點等各方面。遠程無線控制系統有上述多個構建共同組成,任何一端出現問題都會導致系統無法正常運行,其中無線傳感器扮演者信息收集和傳遞的作用,主要包括發送節點和調節器節點。通過對土壤中一些微量元素含量進行采集,以及遠程操控實現系統的運行。用戶可以在客戶端對遠程無線控制系統進行設置,對需要進行的工作下達指令,并且通過通信模塊將指令代碼傳輸到服務器。當服務器接收到該代碼后,根據之前設定的協議使用該段代碼,同時將代碼信息傳輸給主機端。主機收到代碼后對其進行識別和編譯,并且將其放到實驗中,如果該段編碼無法編譯,則認定為編譯失敗,將錯誤原因反饋給服務器和網頁客戶端,使得用戶知道問題原因;如果編譯通過,則通過無線傳感器將代碼發送至ZigBee無線傳輸模塊,并且將采集到的數據發送至調節器模塊,調節器在收到數據后將該數據傳輸至主機。同時服務器可以通過協議來使用該段數據信息,同時該段數據會保存在服務器中,作為數據庫數據方便后續調閱歷史數據時使用[3]。
3?系統硬件設計
3.1? ZigBee無線模塊
ZigBee技術作為一種最新興的通信技術,最為適用的方面是短距離通信,并且其含有自組織性、功耗低和穩定等各種優良的特性,相比起藍牙等通信技術,有著巨大的優勢。而ZigBee技術憑借這種優勢也成了目前物聯網發展最為重要的技術基礎之一,通過短距離無線傳輸,在工業、家居等領域得到了大規模的推廣。而在這種技術的應用之下,相關的人員可以在設備上通過設置多個節點,安裝在設備中。然后就可以使用計算機系統,對其整體構成一個完整的傳輸網絡系統。并且在這種系統的運用時,能夠更好地實現各種信息之間的傳遞。
本系統在使用的時候,一般是通過CC2530作為微端控制器。在控制器之下的無線傳感網絡可以接收發送節點的信號源,并且進一步對所接收的信息進行處理。然后通過信息的點對點無線傳輸,放置在CC2530的調節器中。而后這種調節器會將匯聚過來的所有數據,通過無線調試接口板進一步傳送到主機端,而其具體的方法采用了CC2530的發送節點以及調節點。通過調試接口板以及相應的仿真器和主機進行聯系,并且將所編譯的節點下載之后,使用調節器節點的數據線轉口將接收的數據發送給主機,并進一步顯示。
3.2? 傳感器模塊
本系統在使用的過程中,其硬件也有一定的優良程度。比如,當系統在使用傳感器對土壤當中的微量元素進行檢測時,可以首先確定較為合適的地點,并且需要避開因為一些石塊或堅硬的物體而導致探測結果出現誤差。之后對需要測試的深度進行發掘,并且將其表層土拋開,使得將要測試的土壤能保持一定的松軟程度。然后,可以將傳感器直接插入土壤。在這個過程中,土壤檢測一共需要4根接線,它們分別負責電源正負以及外接電源的正負。通過與相應的模塊連接并且轉換,可以與CC2530發送節點相互聯系。這樣可以準確地對土壤中的一些微量元素進行數據的采集,并且及時地通過傳感器將數據進一步傳送出去。
4?系統軟件設計
4.1? 無線傳感器節點端
在系統的軟件中,第一步要運用的是無線傳感器節點端。它通過對節點以及調節器節點的組合,實現程序中的數據采集功能。其具體的內容可以定義各種函數并初始化,之后可以將數據進一步的接收和轉發,并且對于轉發的數據也可以進行格式的規定等。在使用CC2530的發送節點時,其流程一般都是先通過各種配置好的參數初始化,然后按照相應的格式發送代碼。之后傳感器就會接收這些數據,如果成功,就會通過指示燈閃爍來進行提示。在CC2530調節器節點板進行工作的時候,其節點與發送節點之間通過ZigBee的組成實現點對點傳輸。并且當節點數據準備好之后,相應的節點就開始接收數據,然后將接收過來的數據進一步發給主端機。
4.2? 主機端
在系統軟件中,主機端主要負責接收數據和發布數據,訂閱并下載相應代碼,編譯并下載代碼等功能。當主機端在使用過程中,其主要的組成部分就包括接聽程序文件、批量處理程序以及訂閱和發布的程序。文件批量處理程序主要是運用下載于各種服務端傳輸過來的代碼,并且用命令將其實現文件的編譯和下載。然后通過訂閱和發布程序,發布主題端所需要訂閱的各種代碼以及數據。其主要的流程就是首先通過代碼接收串口數據之后,驗收數據是否正確,如果正確,可以進行進一步的發布。
4.3? 服務器端
云服務器一般會采取不同的數據庫,比如MQTT服務器、SQL數據庫等。其中MQTT服務器主要包括對Web服務器的快速安裝和配置,用于具體消息的訂閱和發布。之后運用HTTP服務器,通過對主機的服務器下載相應的代碼;SQL數據庫主要的功能就是數據的儲存,并可翻看歷史數據。此外,一些通信技術使客戶端實現與服務器之間的信息交換,并進一步地傳輸數據。其具體的流程是首先通過訂閱數據,然后將數據進行進一步的解析處理,之后檢測數據的正確性,如果正確,數據就會直接存入數據庫。
4.4? 網頁客戶端
在軟件中,網頁客戶端主要實現以下幾個功能:第一,使用戶能夠編寫相應的代碼,并且對無線節點端提交;第二,及時展示采集到的信號源信息。當用戶在使用網頁端的時候,可以通過點擊相應的文件選擇一定的文件代碼,并且通過上傳按鈕傳輸。構建相應的HTTP請求,并且借助一定的對象將文件傳輸到云端。但是當代碼出現解析失敗的情況,主機會通過服務器將具體的說明返回網頁端,這時需要進一步的改進。而當編譯出現通過的情況,相應的數據會通過串口發送給主機。主機在接收之后,就會將這些數據進一步地傳入相應的數據庫。之后網頁端就可以通過對數據表的應用實現數據庫的訪問。
5結果與分析
在對土壤微量元素進行測試的過程中,為了使結果具有更好的穩定性,應該進行多次實驗。收集串口接收節點數據,并且將其編號,然后通過各種數據的分析逐一顯示。之后利用數據庫中的查詢功能,逐一體現主機號以及數據。而通過對實驗結果的研究,可以看到系統能夠很好地實現用戶的遠程控制,并且基于ZigBee系統的無線傳感器節點,實現對數據的采集,及時顯示數據中所保存的信息。對比之前的協議數據方案,其系統具有相當大的優勢,可靠性高、具有良好的擴展性、功耗低、使用范圍廣。而在使用過程中,服務器基于MQTT協議,可以進一步發布和訂閱信息,通過對信息的發布解除對程序的耦合,并且在連接網絡的時候還可以達到開銷很小的效果。在系統運用時,將所采取的數據上傳到數據庫中,能夠與歷史的數據作進一步的比較,并且使相關人員及時地監控信息。
[參考文獻]
[1]顧逸楓,張正華,沈逸,等.無線傳感器節點數據采集及分布式遠程控制[J].無線電工程,2020(8):661-665.
[2]應可珍.能量高效的無線傳感器網絡數據融合關鍵技術研究[D].杭州:浙江工業大學,2019.
[3]景鴻鵬.基于數據聚合的無源無線傳感器網絡MAC層設計與實現[D].北京:北京交通大學,2019.
(編輯 傅金睿)