基于ZigBee網(wǎng)絡(luò)農(nóng)業(yè)環(huán)境信息監(jiān)測系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
我國人口占世界總?cè)丝诘?22%,而耕地面積只占世界耕地面積的 7%,這就意味著發(fā)展現(xiàn)代化農(nóng)業(yè)的必要性 [1]。傳統(tǒng)農(nóng)業(yè)生產(chǎn)中,農(nóng)作物環(huán)境信息數(shù)據(jù)主要通過人工采集或者大量布線從傳感器獲取,然后將數(shù)據(jù)傳送至計(jì)算機(jī)。此種方式不僅浪費(fèi)大量人力資源,而且花費(fèi)成本較大。針對上述問題本文提出一種基于 ZigBee 技術(shù)的農(nóng)作物監(jiān)測系統(tǒng),實(shí)時(shí)獲取農(nóng)作物的生長狀況,根據(jù)獲取的數(shù)據(jù)控制調(diào)控設(shè)備,維持作物最佳的生長環(huán)境
1 系統(tǒng)方案設(shè)計(jì)
1.1 系統(tǒng)框架設(shè)計(jì)
農(nóng)業(yè)環(huán)境信息監(jiān)測系統(tǒng)結(jié)構(gòu)如圖 1所示。在該系統(tǒng)中各個(gè)監(jiān)測區(qū)域的傳感器將采集到的數(shù)據(jù)通過自組網(wǎng)傳送至路由節(jié)點(diǎn),再由路由節(jié)點(diǎn)傳送至協(xié)調(diào)器節(jié)點(diǎn)。ZigBee網(wǎng)絡(luò)通過串口通信的方式將數(shù)據(jù)信息傳送至嵌入式監(jiān)控終端以及計(jì)算機(jī),監(jiān)控終端可通過采集到的環(huán)境信息做出決策,控制相應(yīng)的環(huán)境調(diào)控設(shè)備。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.2 系統(tǒng) ZigBee網(wǎng)絡(luò)組網(wǎng)方案設(shè)計(jì)
整個(gè)ZigBee 網(wǎng)絡(luò)采用樹形拓?fù)浣Y(jié)構(gòu),其中協(xié)調(diào)器作為父節(jié)點(diǎn),而終端傳感器節(jié)點(diǎn)作為葉子節(jié)點(diǎn),路由器作為網(wǎng)絡(luò)中繼。當(dāng)監(jiān)測區(qū)域需擴(kuò)大時(shí),可采用增加路由以擴(kuò)充網(wǎng)絡(luò)覆蓋范圍的方法。
該結(jié)構(gòu)包含數(shù)據(jù)采集層、數(shù)據(jù)傳輸層和管理層 [2]。其中,數(shù)據(jù)采集層由眾多搭載不同傳感器的終端節(jié)點(diǎn)組成 ;數(shù)據(jù)傳輸層采用 ZigBee 自組網(wǎng)絡(luò)通信的方式將數(shù)據(jù)采集層所采集到的數(shù)據(jù)在網(wǎng)絡(luò)中傳輸 ;管理層則對采集到的數(shù)據(jù)進(jìn)行分析。系統(tǒng)各部分功能規(guī)劃見表 1 所列。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 ZigBee芯片
系統(tǒng)采用的 ZigBee 射頻收發(fā)芯片是 TI 公司設(shè)計(jì)生產(chǎn)的CC2530。在 CC2530 的基礎(chǔ)上構(gòu)建協(xié)調(diào)器節(jié)點(diǎn)、路由器節(jié)點(diǎn)終端節(jié)點(diǎn)。CC2530 具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng) [3]。此外,TI 公司還提供免費(fèi)的ZigBee 協(xié)議棧 Z-Stack,可為用戶制定快速的 ZigBee 應(yīng)用解決方案
2.2 節(jié)點(diǎn)硬件設(shè)計(jì)
節(jié)點(diǎn)的硬件主要由電源電路、串口轉(zhuǎn)換電路、TFT 接口電路、按鍵電路、調(diào)試接口電路、射頻收發(fā)電路組成。節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖 2 所示
2.2.1 電源電路設(shè)計(jì)
電路接入外部 5 V 直流電源供電,通過電壓轉(zhuǎn)換芯片AMS1117 將輸入的 5 V 電壓轉(zhuǎn)換為 3.3 V 系統(tǒng)工作電壓。電源部分原理圖如圖 3 所示。
2.2.2 串口通信轉(zhuǎn)換電路設(shè)計(jì)
本文系統(tǒng)選擇使用 USART0 作為串行通信接口。為了使串行接口同電腦交換數(shù)據(jù),設(shè)計(jì)以 PL2303 為核心的數(shù)據(jù)交換電路。轉(zhuǎn)換電路原理圖如圖 4 所示。
2.2.3 調(diào)試接口電路
調(diào)試接口分別使用 I/O 引腳 P2.1 和P2.2 作為調(diào)試模式中的調(diào)試數(shù)據(jù)和調(diào)試時(shí)鐘。調(diào)試接口原理圖如圖 5 所示
圖 5 調(diào)試接口原理圖
2.2.4 TFT接口電路
TFT 屏接口電路用于驅(qū)動(dòng) TFT 屏顯示采集到的環(huán)境數(shù)據(jù)信息以及 ZigBee 網(wǎng)絡(luò)中的網(wǎng)絡(luò)連接信息。各接口對應(yīng)的芯片引腳見表 2 所列。
2.3 傳感器選擇
農(nóng)業(yè)環(huán)境信息監(jiān)測系統(tǒng)主要檢測的環(huán)境對象為空氣溫濕度、土壤濕度、氣體濃度、光照強(qiáng)度等。通過將傳感器搭載到各節(jié)點(diǎn)上,然后將節(jié)點(diǎn)布置于環(huán)境監(jiān)測區(qū)域中,就能夠通過ZigBee 自組網(wǎng)特性完成對區(qū)域環(huán)境的監(jiān)測。傳感器的選型和對應(yīng)的通信方式見表 3 所列。
2.4 嵌入式監(jiān)控終端電路設(shè)計(jì)
系統(tǒng)采用 STM32F103RCT6 最小系統(tǒng)作為終端監(jiān)測調(diào)控平臺(tái)。其作用是對采集的數(shù)據(jù)進(jìn)行分析和處理,并實(shí)現(xiàn)與 PC 端的信息交互,把 PC 端下達(dá)的決策命令傳送到控制終端監(jiān)測調(diào)控平臺(tái),再通過終端監(jiān)測調(diào)控平臺(tái)控制環(huán)境調(diào)控設(shè)備。
STM32 的設(shè)計(jì)包括最小系統(tǒng)設(shè)計(jì)和外圍電路設(shè)計(jì)兩部分。該嵌入式監(jiān)控終端電路包括晶振電路、復(fù)位電路、USB 接口電路等,外圍電路包括中斷按鍵、TFT 接口電路等。
3 系統(tǒng)軟件設(shè)計(jì)
本文系統(tǒng)軟件設(shè)計(jì)包含 ZigBee 協(xié)議應(yīng)用程序設(shè)計(jì)、嵌入式監(jiān)控終端控制程序設(shè)計(jì)、計(jì)算機(jī)上位機(jī)程序設(shè)計(jì)三部分
ZigBee 協(xié)議應(yīng)用程序設(shè)計(jì)主要是對終端傳感器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)三者之間如何組網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)某绦蛟O(shè)計(jì)
嵌入式監(jiān)控終端控制程序設(shè)計(jì)主要接收協(xié)調(diào)器節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù),并對傳輸?shù)臄?shù)據(jù)進(jìn)行分析和處理,控制調(diào)控環(huán)境參數(shù)設(shè)備以及將分析后的數(shù)據(jù)傳送到電腦端
計(jì)算機(jī)上位機(jī)程序設(shè)計(jì)主要將傳輸?shù)臄?shù)據(jù)實(shí)時(shí)顯示到電腦端,也可通過電腦端給嵌入式監(jiān)測終端發(fā)送指令,從而控制調(diào)控設(shè)備的運(yùn)行
3.1 ZigBee組網(wǎng)結(jié)構(gòu)程序設(shè)計(jì)
ZigBee 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要有星狀、樹狀、網(wǎng)狀三種 [4]
三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖 6 所示。
圖 6 三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
本文系統(tǒng)采用樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)方式構(gòu)建 ZigBee 網(wǎng)絡(luò)。 在 Z-Stack 中,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)定義如下:
#define NWK_MODE_TREE
3.2 ZigBee 協(xié)議應(yīng)用程序設(shè)計(jì)
Z-Stack 協(xié)議棧是協(xié)議和用戶的一個(gè)接口。IEEE 802.15.4定義了物理層和介質(zhì)訪問層技術(shù)規(guī)范 ;ZigBee 聯(lián)盟定義了網(wǎng)絡(luò)層、應(yīng)用程序支持子層、應(yīng)用層技術(shù)規(guī)范 [5]。將各層定義的協(xié)議集合在一起,以函數(shù)的形式實(shí)現(xiàn),并給用戶提供應(yīng)用層,從而直接調(diào)用函數(shù),實(shí)現(xiàn)無線數(shù)據(jù)收發(fā)。
在 Z-Stack 協(xié)議棧中,ZigBee 的應(yīng)用都可基于任務(wù)事件的形式完成。系統(tǒng)任務(wù)和應(yīng)用任務(wù)中的事件依時(shí)間片進(jìn)行輪轉(zhuǎn)。節(jié)點(diǎn)針對不同的事件調(diào)用不同的事件處理函數(shù),從而完成在網(wǎng)絡(luò)中傳輸數(shù)據(jù)的任務(wù)。節(jié)點(diǎn)運(yùn)行流程如圖 7 所示。
3.3 嵌入式監(jiān)控終端程序設(shè)計(jì)
嵌入式監(jiān)控終端通過串口通信的方式對從協(xié)調(diào)器接收的數(shù)據(jù)進(jìn)行分析和處理。嵌入式監(jiān)控終端程序運(yùn)行框圖如圖 8 所示。
3.4 計(jì)算機(jī)上位機(jī)程序設(shè)計(jì)
計(jì)算機(jī)上位機(jī)程序在 Visual Studio 2012 的環(huán)境下開發(fā),采用的開發(fā)語言是 C#。通過調(diào)用組件,編寫相應(yīng)的通信協(xié)議和數(shù)據(jù)分析處理等步驟實(shí)現(xiàn)嵌入式終端節(jié)點(diǎn)同 PC 端經(jīng)行數(shù)據(jù)
交互的功能。運(yùn)行操作界面如圖 9 所示。
4 系統(tǒng)運(yùn)行結(jié)果
系統(tǒng)實(shí)物運(yùn)行如圖 10 所示。系統(tǒng)運(yùn)行結(jié)果表明,搭載不同的傳感器節(jié)點(diǎn)可實(shí)時(shí)采集環(huán)境數(shù)據(jù)并匯聚到協(xié)調(diào)器節(jié)點(diǎn),數(shù)據(jù)無丟失,傳輸距離能夠有效覆蓋監(jiān)測區(qū)域。
5 結(jié) 語
本文系統(tǒng)主要用于監(jiān)測農(nóng)業(yè)環(huán)境中的溫濕度、光照強(qiáng)度、氣體濃度、土壤濕度信息,通過 ZigBee 組建無線區(qū)域網(wǎng)實(shí)現(xiàn)數(shù)據(jù)的傳輸以及對各個(gè)節(jié)點(diǎn)的管理。對采集的數(shù)據(jù)進(jìn)行分析和處理后,可通過控制相應(yīng)的調(diào)控設(shè)備從而調(diào)節(jié)對應(yīng)的作物生長環(huán)境。該系統(tǒng)既節(jié)省了大量的人力,同時(shí)也提高了作物的產(chǎn)量,具有良好的應(yīng)用價(jià)值。