徐理政 張云翔
摘 要:隨著物聯(lián)網(wǎng)時代的到來,人們的生活水平和生產(chǎn)力得到了極大的提高。在大棚種植方面,溫度對于植物的生長影響很大,需要實時地去調(diào)節(jié)大棚的溫度來確保植物的正常生長。針對這情況,設(shè)計了一款基于ZigBee的無線溫度監(jiān)測系統(tǒng),終端能實時采集溫度,利用無線傳輸?shù)男问綄囟葦?shù)據(jù)發(fā)送給協(xié)調(diào)器并在電腦上通過LabView上位機實時顯示,能夠?qū)崟r地監(jiān)測溫度的變化,方便及時采取相應(yīng)的措施。ZigBee的功耗低,穩(wěn)定性強,非常適合此類場景的使用。
關(guān)鍵詞: ZigBee; 溫度檢測; 無線傳輸; LabView
文章編號: 2095-2163(2019)03-0263-03 中圖分類號: TP274 文獻標志碼: A
0 引 言
中國作為一個傳統(tǒng)的農(nóng)業(yè)大國,隨著社會的發(fā)展,人們生活水平的提高,各種農(nóng)作物的需求量也日漸增多。溫室種植作為現(xiàn)代農(nóng)業(yè)的基礎(chǔ)構(gòu)成之一,也正在由傳統(tǒng)的培育模式逐步演變成滿足現(xiàn)代社會需求的高效可持續(xù)發(fā)展的先進生產(chǎn)模式。溫室大棚中種植的農(nóng)作物對溫度的要求極高,因而需要實時監(jiān)控溫度的變化,并采取相應(yīng)的措施。傳統(tǒng)的溫室大棚溫度往往靠人的經(jīng)驗或者有線的檢測系統(tǒng),既不方便管理,也不利于設(shè)備的維護和移植。由于天氣環(huán)境等原因,穩(wěn)定性也較差?;诖耍O(shè)計研發(fā)一個無線實時監(jiān)控系統(tǒng)是十分有必要的。
ZigBee作為一款低功耗、低成本、穩(wěn)定性強的雙向無線通訊技術(shù),能夠克服有線設(shè)備可移植性差、維護困難、不方便安裝的缺點。已經(jīng)廣泛地運用于物聯(lián)網(wǎng)產(chǎn)業(yè)鏈中的M2M行業(yè),如智能電網(wǎng)、智能家居、智能交通,在農(nóng)業(yè)和林業(yè)方面也得到了迅速普及與應(yīng)用。本文設(shè)計的無線溫度采集系統(tǒng)能夠?qū)崿F(xiàn)將溫度及時發(fā)送到電腦等上位機進行顯示。并能設(shè)置溫度上/下限,當溫度過高或者過低時能夠快速告知,并提醒人們采取相應(yīng)的措施。使得溫度始終保持在有利于植物生長的范圍內(nèi)。
1 整體設(shè)計方案
整個系統(tǒng)由3部分設(shè)計組成,即:終端傳感器、外部網(wǎng)絡(luò)和上位機監(jiān)控設(shè)備。ZigBee網(wǎng)絡(luò)支持3種網(wǎng)絡(luò)拓撲結(jié)構(gòu),分別為:星型、樹形和網(wǎng)狀型,這里的外部網(wǎng)絡(luò)采用點對點的星型網(wǎng)絡(luò)結(jié)構(gòu),由一個協(xié)調(diào)器和多個終端組成。只存在協(xié)調(diào)器與終端之間的通訊,終端之間的數(shù)據(jù)只能通過協(xié)調(diào)器進行轉(zhuǎn)發(fā)。協(xié)調(diào)器的主要作用是建立整個網(wǎng)絡(luò),也是網(wǎng)絡(luò)中的第一個設(shè)備。終端設(shè)備主要是采集溫度數(shù)據(jù),并通過無線網(wǎng)絡(luò)傳給協(xié)調(diào)器發(fā)送至上位機進行顯示。使得人們能夠及時采取相應(yīng)的措施。
相比ZigBee2006,ZigBee2007無線網(wǎng)絡(luò)傳感技術(shù)能夠提供更多、更加精準的傳感器設(shè)備,網(wǎng)絡(luò)的通訊接口也得到增加,因而有更多的網(wǎng)絡(luò)支持,處理數(shù)據(jù)的能力也在相當程度上得到提升。ZigBee技術(shù)的特性決定了其必將成為無線傳感網(wǎng)絡(luò)的最佳的選擇。這里選用的是ZigBee新一代的CC2530芯片,CC2530擁有一個完全集成的高性能的RF收發(fā)器和8051微處理器,8 KB的RAM以及其強大的配接其它外設(shè)的功能。ZigBee是IEE802.15.4協(xié)議的代名詞。IEE802.15.4是一個低速無線局域網(wǎng)的標準,該標準定義了協(xié)議棧的物理層(PHY)和介質(zhì)訪問控制層(MAC),其優(yōu)勢特點就在于網(wǎng)絡(luò)結(jié)構(gòu)簡單,具有靈活的吞吐量。ZigBee協(xié)議棧建立在IEE802.15.4的PHY層和MAC子層規(guī)范之上。研發(fā)實現(xiàn)了網(wǎng)絡(luò)層和應(yīng)用層,在應(yīng)用層內(nèi)提高了應(yīng)用支持子層和ZigBee設(shè)備對象先進性與適用性,ZigBee在數(shù)據(jù)傳輸方面具有良好的抗干擾能力。節(jié)點之間能夠靈活地進行組網(wǎng),從而免去了繁瑣的布線工作。整個系統(tǒng)的設(shè)計流程如圖1所示。
2 系統(tǒng)協(xié)調(diào)器模塊的設(shè)計
協(xié)調(diào)器節(jié)點的硬件設(shè)計采用德州儀器生產(chǎn)的2.4 GHz的CC2530(無線片上系統(tǒng)單片機)。CC2530結(jié)合了TI公司的ZigBee協(xié)議棧Z-Stack,提供了一個強大可靠的網(wǎng)絡(luò)解決方案,有著高性能、低功耗和一個帶有代碼預(yù)讀取功能的增強型8051微控制器內(nèi)核。增強型8051內(nèi)核每一個指令周期是一個時鐘,而不是標準8051的12個時鐘周期,由此消除了總線狀態(tài)的浪費可能,做到了對數(shù)據(jù)的實時處理。一個網(wǎng)絡(luò)中只允許有一個ZigBee協(xié)調(diào)器節(jié)點,當網(wǎng)絡(luò)初始化時,而且確定在通訊的范圍內(nèi)沒有其它協(xié)調(diào)器節(jié)點的情況下,協(xié)調(diào)器會選擇一個信道和PANID,不同信道之間的網(wǎng)絡(luò)無法進行通訊, 從而保證了網(wǎng)絡(luò)的穩(wěn)定性和抗干擾性。
協(xié)調(diào)器的主要功能是建立整個網(wǎng)絡(luò),是無線網(wǎng)絡(luò)中的核心節(jié)點,負責接收終端傳感器發(fā)送來的數(shù)據(jù),將CC2530的P0_2,P0_3配置成外設(shè)功能,其中P0_2為RX,P0_3為TX。默認采用了USART0串行通訊接口。通過USB轉(zhuǎn)串口功能與電腦等上位機相連。組建網(wǎng)絡(luò)的過程可解析為網(wǎng)絡(luò)的初始化和終端節(jié)點的加入兩個步驟。具體來說,初始化的目的及作用是確定網(wǎng)絡(luò)中是否存在協(xié)調(diào)器,并獲得網(wǎng)絡(luò)的PANID。終端節(jié)點通過發(fā)起網(wǎng)絡(luò)請求來加入相關(guān)的網(wǎng)絡(luò),這一過程通過ZigBee協(xié)議棧各層之間的原語通信來實現(xiàn)。研究中給出的設(shè)計工作流程如圖2所示。在Z-Stack協(xié)議棧中先執(zhí)行包括硬件、網(wǎng)絡(luò)層、任務(wù)層等在內(nèi)的初始化。然后執(zhí)行osal_start_system操作系統(tǒng)。在本次研究中擬用到的系統(tǒng)初始化函數(shù)就是任務(wù)的初始化osalInitTasks(),主要是分配任務(wù)的優(yōu)先級,創(chuàng)建用戶自己的任務(wù)。接著在main()函數(shù)中調(diào)用osal_start_system,可用于分配相應(yīng)的任務(wù)使其與所關(guān)聯(lián)的taskID相匹配。系統(tǒng)會一直輪詢掃描,當有事件被觸發(fā)的時候,則執(zhí)行相應(yīng)的任務(wù)。
3 系統(tǒng)終端節(jié)點的設(shè)計
終端節(jié)點的溫度傳感器采用DS18B20數(shù)字溫度傳感器,其測溫范圍為-55 ℃~+125 ℃,在-10 ℃~+85 ℃時精度為±0.5 ℃。滿足大棚的溫度測量的要求,這里將其進行封裝,考慮到大棚潮濕的環(huán)境,本文選用的是不銹鋼的DS18B20封裝,同時也耐磨、耐碰、不易損壞。與傳統(tǒng)的熱敏電阻相比,DS18B20能夠直接讀出被測的溫度并可根據(jù)背景環(huán)境的應(yīng)用要求提高精度。研究中采用了單線接口讀寫,總線可以給所接的DS18B20供電,無需外加電源,使得整體結(jié)構(gòu)更加簡單,穩(wěn)定性也得到增強。非常適用于各種場合的溫度測量。
終端節(jié)點的主要作用是周期性地采集相關(guān)的溫度數(shù)據(jù),并通過無線網(wǎng)絡(luò)發(fā)送給協(xié)調(diào)器,也能收到來自協(xié)調(diào)器的控制指令。在這里設(shè)置成每間隔1 s向協(xié)調(diào)器發(fā)送一次溫度數(shù)據(jù)。首先調(diào)用初始化函數(shù)void SampleApp_Init對系統(tǒng)進行初始化,然后調(diào)用任務(wù)事件處理函數(shù)UINT16 Sample App_Process Event,對各種不同類型的任務(wù)展開處理及操作,發(fā)送請求加入網(wǎng)絡(luò)并進行綁定,當成功加入網(wǎng)絡(luò)時協(xié)調(diào)器的LED燈開始閃爍,表明組網(wǎng)成功。本文研發(fā)設(shè)計的終端節(jié)點的工作流程如圖3所示。
4 上位機界面的設(shè)計和系統(tǒng)調(diào)試
4.1 上位機界面的設(shè)計
通常上位機界面的設(shè)計有2種方法。一種是傳統(tǒng)的代碼編程的方式,比如VB,VC++等。另一種是圖形化的編程方式。使用圖形化編程方式的突出優(yōu)點是開發(fā)周期短,且易于理解。故而,研究中采用了LabView的圖像化的編程方式,適用于各類不同知識層面的編程人員。
LabView是由美國國家儀器NI公司開發(fā)的一款功能強大的優(yōu)秀圖形化編程開放平臺,采用模型化的設(shè)計思想使得系統(tǒng)在調(diào)試、編寫、改良的過程中更趨簡捷便利。程序主要由前面板和程序框圖面板組成,前面板也稱為人機交互面板,由各種顯示控件組成。溫度檢測系統(tǒng)的前面板如圖4所示。其中,包含了當前實時溫度的數(shù)字和波形幅度顯示,并且可以靈活地設(shè)置溫度的上下限,當溫度過高、或者過低的時候溫度報警燈點亮提示人們要采取相應(yīng)的措施。
程序面板框圖如圖5所示。由圖5可知,程序框面板在設(shè)計上包括串口的配置工作、波特率串口號配置、數(shù)據(jù)的讀取和寫入,并且利用for,while函
數(shù)和邏輯判斷來實現(xiàn)系統(tǒng)的報警和閃光功能,數(shù)據(jù)存儲模塊主要由字符串常量、布爾值和數(shù)組等節(jié)點函數(shù)組成。
4.2 系統(tǒng)調(diào)試結(jié)果
通過設(shè)置串口號和波特率、溫度的閾值,終端能夠?qū)囟韧ㄟ^無線網(wǎng)絡(luò)實時傳送給協(xié)調(diào)器并在上位機上進行顯示,通過溫度曲線波形圖可以觀察到溫度的實時變化曲線。利用設(shè)置溫度的閾值,當溫度過高、或者過低的時候人們即能通過上位機的報警功能來采取相應(yīng)的措施。
5 結(jié)束語
本系統(tǒng)采用ZigBee CC2530作為核心硬件構(gòu)建了一個無線溫度傳感系統(tǒng),上位機界面采用LabView進行編寫,非常便于后期的改進和功能的提升。系統(tǒng)結(jié)構(gòu)簡單,體積小、易于移植和拓展,能夠提供穩(wěn)定的數(shù)據(jù)傳輸,對諸如大棚等類似的環(huán)境溫度進行實時的監(jiān)測,后續(xù)可以添加更多的功能模塊,如光敏感應(yīng)器和土壤濕度感應(yīng)器來使得大棚的管理更加智能化。
參考文獻
[1]夏立方 ,蔡嬌,趙升,等. 基于ZigBee技術(shù)的智能無線調(diào)光系統(tǒng)設(shè)計[J]. 電子測量技術(shù),2013,36(10):109-114.
[2]張緒偉,段培永,竇甜華,等. 基于LabVIEW和ZigBee網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)[J]. 微計算機信息,2010,26(6):98-100.
[3]張玉峰. 基于單片機的蔬菜大棚溫度控制系統(tǒng)的設(shè)計[J]. 農(nóng)機化研究,2010,32(3):150-153.
[4]姜仲,劉丹. ZigBee技術(shù)與實訓(xùn)教程:基于CC2530的無線傳感技術(shù)[M]. 北京:清華大學(xué)出版社,2014.
[5]嚴雨,夏寧. LabVIEW入門與實戰(zhàn)開發(fā)100例[M]. 3版. 北京:電子工業(yè)出版社,2017.