大棚溫濕度無線實時監(jiān)控系統(tǒng)的設(shè)計
引言
隨著農(nóng)業(yè)的發(fā)展,溫室大棚的數(shù)量不斷增多,規(guī)模不斷增大,而對溫濕度的控制是溫室大棚的重要控制環(huán)節(jié)。溫濕度的變化會影響到作物的生長,因此,需要將溫濕度控制在適合作物生長的范圍內(nèi)。對于大棚內(nèi)溫濕度的采集,傳統(tǒng)的有線傳輸布線比較麻煩,成本高,可拓展性差。因此,本文提出了一種基于ZigBee無線通信技術(shù)的低成本、低功耗、擴展性好、安全性和可靠性高的無線大棚溫濕度采集系統(tǒng)。
1系統(tǒng)總體設(shè)計
為了實現(xiàn)對溫室大棚的溫濕度采集和空間定位,本系統(tǒng)采用基于Z-STACK協(xié)議棧組建的樹形網(wǎng)。系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)如圖1所示。該無線網(wǎng)絡由一個雙核協(xié)調(diào)器、路由器以及終端設(shè)備組成。其中,協(xié)調(diào)器負責建立、維護和管理無線網(wǎng)絡,并收集所有終端設(shè)備采集的數(shù)據(jù),通過以太網(wǎng)與監(jiān)護終端進行雙向通信。路由器負責最佳路由路徑的搜尋以及數(shù)據(jù)的轉(zhuǎn)發(fā),并作為定位系統(tǒng)中的參考節(jié)點。系統(tǒng)中的終端設(shè)備,作為定位系統(tǒng)中的盲節(jié)點,負責溫濕度的采集。
2系統(tǒng)硬件設(shè)計
2.1雙核協(xié)調(diào)器的設(shè)計
協(xié)調(diào)器是整個無線傳感器網(wǎng)絡的核心,是實現(xiàn)溫濕度采集系統(tǒng)無線網(wǎng)絡和有線網(wǎng)絡融合的關(guān)鍵設(shè)備。圖2所示為系統(tǒng)中的協(xié)調(diào)器硬件的整體框圖。該協(xié)調(diào)器采用雙MCU設(shè)計,其主控核心是采用Cortex-M3內(nèi)核的STM32F107,負責協(xié)調(diào)器的數(shù)據(jù)存儲、處理和遠程傳輸。協(xié)處理器由CC2530和CC2591組成,負責協(xié)調(diào)器的無線收發(fā)功能。主控核心與協(xié)處理器之間通過串口通信,其接口電路如圖3所示。雙核協(xié)調(diào)器通過以太網(wǎng)連接到監(jiān)控中心。STM32F107的以太網(wǎng)模塊包括一個符合802.3協(xié)議的MAC(介質(zhì)訪問控制器)和專用DMA控制器。該模塊支持默認的、獨立于介質(zhì)的接口(MMI)和精簡的、獨立于介質(zhì)的接口(RMII)。本文通過AFIO_MAPR寄存器的選擇位來選擇RMII接口模式,電路選用集成并符合成本效益的快速以太網(wǎng)PHY控制芯片DM9161AEP。
2.2溫濕度采集電路
ZigBee無線終端對于空氣溫濕度的采集設(shè)備采用的是SHT10數(shù)字溫濕度傳感器,對于土壤溫濕度采集設(shè)備同樣采并與一個14位的A/D轉(zhuǎn)換器以及串行接口電路在同一芯片上實現(xiàn)無縫鏈接。SHT10采用I2C與CC2530處理器進行數(shù)據(jù)通信。同時,在測量和通訊結(jié)束后,SHT10會自動轉(zhuǎn)入休眠模式。因此,該傳感器具有精度高、響應速度快、抗干擾能力強、功耗低等優(yōu)點。SHT10與CC2530的接口電路如圖4所示。
3系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計主要包括上位機(監(jiān)控中心)和下位機(ZigBee無線傳感網(wǎng)絡)設(shè)計兩部分,本文重點講述上位機對所采集溫濕度數(shù)據(jù)的處理算法和下位機的軟件設(shè)計方法。
3.1溫濕度監(jiān)控程序設(shè)計
終端節(jié)點要對大棚中的空氣溫濕度和土壤溫濕度分別進行實時采集,然后經(jīng)每個子網(wǎng)的中心節(jié)點將這些溫濕度數(shù)據(jù)輸出,并由協(xié)調(diào)器接收數(shù)據(jù),再經(jīng)以太網(wǎng)傳送數(shù)據(jù)到監(jiān)控中心。系統(tǒng)將在監(jiān)控中心服務器中建立自己的數(shù)據(jù)庫,負責將上傳的數(shù)據(jù)存儲到監(jiān)控中心預警數(shù)據(jù)庫中,然后通過上位機決策軟件自主設(shè)定符合作物生長的溫濕度范圍,并對數(shù)據(jù)進行綜合分析以產(chǎn)生相應的預警和決策。其處理流程如圖5所示。
3.2下位機協(xié)調(diào)器軟件設(shè)計
由于協(xié)調(diào)器要完成多任務處理、多任務調(diào)度、數(shù)據(jù)存儲、TCP/IP通信協(xié)議以及無線通信協(xié)議等,需要實現(xiàn)的功能比較復雜,因此,本系統(tǒng)在協(xié)調(diào)器軟件設(shè)計中加入了嵌入式實時操作系統(tǒng)uC/OS-II和嵌入式TCP/IP協(xié)議棧,以提高系統(tǒng)的運行效率和穩(wěn)定性。uC/OS-II是一種可移植、可固化、可剪裁、占先式多任務實時內(nèi)核,它具有占用空間小、執(zhí)行效率高、實時性能優(yōu)良和可擴展性強等特點。軟件應用層、uC/OS-II操作系統(tǒng)、目標處理器硬件等各個模塊之間關(guān)系如圖6所示。
因為uC/OS-II操作系統(tǒng)不支持TCP/IP協(xié)議棧,所以,要實現(xiàn)以太網(wǎng)通信,需要移植LwIP(LightWeightIP)協(xié)議棧到STM32F107處理器上。移植版本為1.3.1的LwIP協(xié)議棧,主要是將LwIP源碼文件中的api、core、include和netif文件移植到軟件系統(tǒng)中,移植過程中需要修改的幾個重要源碼文件包括TcpTrans.c、TcpTrans.h、Netconfc、bsp.c、opt.h和Iwipopts.h。
協(xié)調(diào)器通過以太網(wǎng)與PC相連,負責接收由監(jiān)控軟件提供的各參考節(jié)點和移動節(jié)點的配置數(shù)據(jù),并發(fā)送給相應的節(jié)點,同時,還將接收到的各節(jié)點所反饋的有效數(shù)據(jù)傳送給監(jiān)控軟件[2]o其協(xié)調(diào)器軟件處理流程如圖7所示。
圖7協(xié)調(diào)器軟件處理流程圖
3.3終端設(shè)備與路由器軟件設(shè)計
因為溫室大棚內(nèi)的溫濕度不會產(chǎn)生驟變,所以,為了降低終端設(shè)備的功耗,我們采用休眠-喚醒模式。終端節(jié)點完成初始化后將主動請求加入ZigBee網(wǎng)絡,然后處于睡眠狀態(tài),每隔5min喚醒一次終端設(shè)備,以便采集溫濕度參數(shù)和定位信息,并將采集的數(shù)據(jù)通過ZigBee網(wǎng)絡發(fā)送給監(jiān)控中心,同時使設(shè)備進入休眠狀態(tài),等待下一次采集事件的喚醒。其工作流程如圖8所示。
圖8終端節(jié)點軟件處理流程圖
路由器是一種已知坐標的靜態(tài)參考節(jié)點,首先應配置其坐標位置,這樣可以響應終端采集設(shè)備的RSSI和坐標請求報文,為終端設(shè)備提供RSSI和坐標參考值,同時,路由器還要負責數(shù)據(jù)包的轉(zhuǎn)發(fā)。圖9所示是其工作流程圖。
圖9路由器軟件處理流程
3.4定位的實現(xiàn)
通過上位機決策軟件判決時,如果某些終端節(jié)點采集的溫濕度值不在預先設(shè)置的溫濕度值范圍,則應通過定位系統(tǒng)對該區(qū)域進行單獨澆灌等處理,以有效地節(jié)約大棚的經(jīng)營成本。本設(shè)計采用距離無關(guān)的定位算法,終端設(shè)備多次廣播發(fā)送計算RSSI的請求報文,路由節(jié)點收到終端設(shè)備的請求報文后,立即向終端設(shè)備發(fā)送包含平均RSSI和自身坐標的報文,終端設(shè)備將平均RSSI值最好的那個路由器參考節(jié)點的坐標作為終端設(shè)備的定位位置。因為受到障礙物的影響,該定位算法難免會有誤差,增加路由節(jié)點數(shù)量會有效增加定位精度,但不利于控制成本。
4結(jié)語
本文設(shè)計了一種基于ZigBee技術(shù)的大棚溫濕度無線實時監(jiān)控系統(tǒng),同時介紹了該系統(tǒng)的軟硬件設(shè)計方法,提出了由雙MCU組成的高效雙核協(xié)調(diào)器設(shè)計理念。實踐證明,該系統(tǒng)對大棚內(nèi)溫濕度數(shù)據(jù)采集準確,系統(tǒng)運行穩(wěn)定,且具有組網(wǎng)靈活、可拓展性好、能實時采集溫濕度數(shù)據(jù)等優(yōu)點,對于推動農(nóng)業(yè)智能化發(fā)展,實現(xiàn)農(nóng)業(yè)生產(chǎn)自動化等方面具有一定的現(xiàn)實意義。
20210918_61457997dce88__大棚溫濕度無線實時監(jiān)控系統(tǒng)的設(shè)計