《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于PSoC的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)
基于PSoC的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)
2015年微型機(jī)與應(yīng)用第16期
楊彥中,楊 義,韓 芳,謝錫冬,許培培
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
摘要: ? 針對(duì)葡萄大棚種植栽培的需要,提出了一種基于可編程片上系統(tǒng)的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。該系統(tǒng)中工作節(jié)點(diǎn)與數(shù)據(jù)匯聚節(jié)點(diǎn)都基于可編程片上系統(tǒng)實(shí)現(xiàn),并可根據(jù)具體使用需求靈活配置節(jié)點(diǎn)外設(shè)及內(nèi)核模塊。系統(tǒng)可對(duì)土壤溫濕度、環(huán)境溫濕度、日光輻照等葡萄大棚內(nèi)種植參數(shù)進(jìn)行采集,并可實(shí)現(xiàn)基本的大棚機(jī)電操作控制功能。還討論了基于JSP技術(shù)實(shí)現(xiàn)上位機(jī)監(jiān)測(cè)控制功能用戶端的方法。該系統(tǒng)具有使用靈活、功能伸縮性好、通用化程度高、配置便捷與使用方便等特點(diǎn),可望為葡萄大棚栽培提供較為方便的工程實(shí)踐支持。
Abstract:
Key words :

  摘  要: 針對(duì)葡萄大棚種植栽培的需要,提出了一種基于可編程片上系統(tǒng)的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。該系統(tǒng)中工作節(jié)點(diǎn)與數(shù)據(jù)匯聚節(jié)點(diǎn)都基于可編程片上系統(tǒng)實(shí)現(xiàn),并可根據(jù)具體使用需求靈活配置節(jié)點(diǎn)外設(shè)及內(nèi)核模塊。系統(tǒng)可對(duì)土壤溫濕度、環(huán)境溫濕度、日光輻照等葡萄大棚內(nèi)種植參數(shù)進(jìn)行采集,并可實(shí)現(xiàn)基本的大棚機(jī)電操作控制功能。還討論了基于JSP技術(shù)實(shí)現(xiàn)上位機(jī)監(jiān)測(cè)控制功能用戶端的方法。該系統(tǒng)具有使用靈活、功能伸縮性好、通用化程度高、配置便捷與使用方便等特點(diǎn),可望為葡萄大棚栽培提供較為方便的工程實(shí)踐支持。

  關(guān)鍵詞嵌入式系統(tǒng);智能農(nóng)業(yè);可編程片上系統(tǒng);ZigBee

0 引言

  近年來(lái),精細(xì)化農(nóng)業(yè)種植技術(shù)在我國(guó)得到了快速的發(fā)展。通過(guò)精細(xì)化農(nóng)業(yè)種植技術(shù)不僅可以在較大程度上提高農(nóng)作物的產(chǎn)量,還能有效改善農(nóng)產(chǎn)品的品質(zhì),提高農(nóng)業(yè)種植收益。精細(xì)化農(nóng)業(yè)種植的重點(diǎn)是要實(shí)現(xiàn)對(duì)種植過(guò)程的精細(xì)化管控,無(wú)線傳感器網(wǎng)絡(luò)技術(shù)的發(fā)展為這一需求提供了有力的保障[1-4]。可編程片上系統(tǒng)(Programmable System on Chip,PSoC)在低成本、高集成度的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)方面有其獨(dú)到的優(yōu)勢(shì)[5-6]。本文提出了一種基于PSoC的葡萄大棚遠(yuǎn)程管理系統(tǒng)。通過(guò)采用PSoC技術(shù),使節(jié)點(diǎn)具有較低的成本、較高的集成度、較強(qiáng)的使用靈活性與可擴(kuò)展性,從而適應(yīng)葡萄大棚節(jié)點(diǎn)布設(shè)密度高、采樣數(shù)據(jù)多樣、功能變化頻繁及成本約束大等特點(diǎn)。另外結(jié)合JSP技術(shù),方便用戶通過(guò)上位機(jī)對(duì)大棚進(jìn)行管理。

1 系統(tǒng)總體結(jié)構(gòu)

  本系統(tǒng)由工作節(jié)點(diǎn)、數(shù)據(jù)匯聚節(jié)點(diǎn)和上位機(jī)組成。系統(tǒng)中工作節(jié)點(diǎn)與數(shù)據(jù)匯聚節(jié)點(diǎn)都采用PSoC架構(gòu)設(shè)計(jì),系統(tǒng)無(wú)線通信方式基于ZigBee透?jìng)髂K。由于PSoC內(nèi)置MCU、ADC、運(yùn)放、多種通信接口、實(shí)時(shí)時(shí)鐘及對(duì)液晶顯示的支持等可通過(guò)軟件靈活配置的功能,這使得節(jié)點(diǎn)可以實(shí)現(xiàn)非常多樣化的設(shè)計(jì)。工作節(jié)點(diǎn)負(fù)責(zé)對(duì)葡萄大棚內(nèi)種植參數(shù)的采集及大棚控制操作。葡萄大棚內(nèi)種植參數(shù)包括土壤溫濕度、環(huán)境溫濕度、日光輻照等。而大棚控制操作主要是控制水泵和電機(jī)從而實(shí)現(xiàn)灌溉與遮光等棚內(nèi)管控功能。每一個(gè)工作節(jié)點(diǎn)可以根據(jù)其具體的應(yīng)用情況通過(guò)對(duì)PSoC內(nèi)部模塊的軟件設(shè)定實(shí)現(xiàn)功能適配。數(shù)據(jù)匯聚節(jié)點(diǎn)作為連接工作節(jié)點(diǎn)與上位機(jī)之間的通道,負(fù)責(zé)上位機(jī)控制信息的下達(dá)與工作節(jié)點(diǎn)數(shù)據(jù)向上位機(jī)的匯聚。匯聚節(jié)點(diǎn)可以根據(jù)其地理位置情況決定是否攜帶一個(gè)獨(dú)立的子網(wǎng)。數(shù)據(jù)匯聚節(jié)點(diǎn)也可以根據(jù)具體需求被賦予部分大棚監(jiān)測(cè)與控制功能。工作節(jié)點(diǎn)與數(shù)據(jù)匯聚節(jié)點(diǎn)使用太陽(yáng)能供電方式。上位機(jī)負(fù)責(zé)系統(tǒng)的日常管控,并為使用者提供簡(jiǎn)潔明晰的人機(jī)交互界面。在數(shù)據(jù)傳輸中,系統(tǒng)使用可變長(zhǎng)度的容器用于承載監(jiān)測(cè)數(shù)據(jù)與控制信息。上位機(jī)使用固定周期時(shí)序訪問(wèn)各工作節(jié)點(diǎn)及數(shù)據(jù)匯聚節(jié)點(diǎn)。

2 系統(tǒng)硬件設(shè)計(jì)

  由于PSoC具有較強(qiáng)的配置靈活性,易于實(shí)現(xiàn)一板多用,因此節(jié)點(diǎn)在設(shè)計(jì)中采用通用化設(shè)計(jì),即工作節(jié)點(diǎn)與數(shù)據(jù)匯聚節(jié)點(diǎn)采用相同的硬件設(shè)計(jì)。在具體的硬件設(shè)計(jì)中,預(yù)留擴(kuò)展接口,并通過(guò)對(duì)PSoC內(nèi)核與板載元件的配置靈活調(diào)整節(jié)點(diǎn)功能。具體設(shè)計(jì)中,PSoC芯片選取Cypress公司生產(chǎn)、TQFP-100封裝的CY8C3866AXI-040芯片。該芯片功能豐富,適合進(jìn)行高集成度的設(shè)計(jì)。其內(nèi)部集成了最高工作頻率可達(dá)67 MHz的8051MCU內(nèi)核,并具有可以根據(jù)用戶需求靈活配置的62個(gè)GPIO、8個(gè)特別輸入/輸出(SIO)及兩個(gè)USBIO。其內(nèi)部還具有24個(gè)基于可編程邏輯器件(PLD)的通用數(shù)字模塊。另外其具有的模塊化高精度ADC及可編程放大器等資源對(duì)實(shí)現(xiàn)系統(tǒng)功能也十分寶貴[7]。

002.jpg

  系統(tǒng)硬件框如圖1所示。設(shè)計(jì)中CY8C3866AXI-040芯片的20與21號(hào)管腳分別作為SWDIO與SWDCK功能使用,用于連接MiniProg 3編程器進(jìn)行燒寫(xiě)。PSoC在42號(hào)管腳與43號(hào)管腳之間接24 MHz的無(wú)源晶振作為系統(tǒng)工作時(shí)鐘,55與56號(hào)管腳間接入32.768 kHz晶振為PSoC內(nèi)部的實(shí)時(shí)時(shí)鐘提供參考。系統(tǒng)通過(guò)PSoC Creator 3.1環(huán)境進(jìn)行開(kāi)發(fā)。設(shè)計(jì)中對(duì)模擬監(jiān)測(cè)量的采集選用了兩個(gè)內(nèi)置的Delta-Sigma ADC(ADC_DelSig),其精度設(shè)定為20 bit。每一個(gè)Delta-Sigma ADC輸入端利用運(yùn)放模塊(Opamp)構(gòu)建電壓跟隨器用以提高采樣效果,配置時(shí)可直接通過(guò)內(nèi)部引線將運(yùn)放模塊配置為單端輸入跟隨器。而通過(guò)在該模塊對(duì)應(yīng)的PSoC管腳處對(duì)跳線與電阻進(jìn)行設(shè)定,還可將其功能組合由電壓跟隨器變?yōu)榉糯笃饕员銓?shí)現(xiàn)對(duì)外界設(shè)備的功能擴(kuò)展。利用PSoC內(nèi)部的實(shí)時(shí)時(shí)鐘模塊(RTC)為采樣數(shù)據(jù)加上時(shí)間戳。在節(jié)點(diǎn)通用PCB上還留有與95到99號(hào)、1號(hào)與2號(hào)管腳相連的跳線插座,用于使用PSoC內(nèi)部的1602顯示驅(qū)動(dòng)實(shí)現(xiàn)對(duì)采集數(shù)據(jù)的實(shí)時(shí)顯示功能。在PCB上,預(yù)留出I2C與SPI的引線接口,在使用時(shí)直接通過(guò)設(shè)定對(duì)應(yīng)PSoC模塊和GPIO來(lái)實(shí)現(xiàn)。節(jié)點(diǎn)通用PCB上留有兩路UART接口,一路用于連接具有UART接口的外部設(shè)備,而另外一路通過(guò)MAX3232連接符合RS-232標(biāo)準(zhǔn)的外設(shè),UART通信通過(guò)調(diào)用PSoC內(nèi)部UART功能模塊實(shí)現(xiàn)。在節(jié)點(diǎn)中還留出3路PWM信號(hào)輸出端,以便輸出PSoC內(nèi)部可配置PWM模塊產(chǎn)生的信號(hào),從而實(shí)現(xiàn)大棚機(jī)電設(shè)備的控制功能。

  節(jié)點(diǎn)土壤溫度/濕度傳感器選擇不銹鋼防水封裝的SHT11溫濕度傳感器,該傳感器為接觸式溫度傳感器。SHT11將傳感元件和信號(hào)處理電路集成在一塊微型電路板上,輸出完全標(biāo)定的數(shù)字信號(hào)。SHT11與PSoC使用I2C協(xié)議進(jìn)行連接。環(huán)境溫濕度采集選用AM2306耐候型戶外溫濕度傳感器,該傳感器為單總線型傳感器,具有較高的采樣精度與使用靈活性。其使用1-Wire協(xié)議方式與PSoC進(jìn)行通信。日光輻照傳感器選擇Davis公司出品的6450日光輻照傳感器,該傳感器以1.67 mV-1 W/m2的比例輸出對(duì)應(yīng)日光輻照的比例標(biāo)定電壓。在測(cè)量中,SHT11依照葡萄具體的根系深度置入其植株下的土壤層中。AM2306被放置在葡萄冠層中用于采集其冠層內(nèi)部的具體溫濕度數(shù)據(jù)。而兩路日光輻照傳感器被放置在葡萄冠層上與冠層下界面,分別用于測(cè)量日光輻照透過(guò)葡萄大棚覆蓋的塑料薄膜與日光輻照進(jìn)一步透射到冠層下葡萄果實(shí)處的日光輻照值。

  設(shè)計(jì)中工作節(jié)點(diǎn)的ZigBee模塊選擇DRF1607H型透?jìng)髂K,DRF1607H與PSoC通過(guò)UART接口連接。如果數(shù)據(jù)匯聚節(jié)點(diǎn)距離上位機(jī)較近,則與工作節(jié)點(diǎn)使用相同的ZigBee架構(gòu)。而如果數(shù)據(jù)匯聚節(jié)點(diǎn)距離上位機(jī)較遠(yuǎn),則在節(jié)點(diǎn)上額外添加具有RS-232接口、傳輸距離可達(dá)數(shù)公里以上的DRF2617A透?jìng)髂K。此時(shí)數(shù)據(jù)匯聚節(jié)點(diǎn)與其從屬的工作節(jié)點(diǎn)使用DRF1607H通信,而數(shù)據(jù)匯聚節(jié)點(diǎn)與上位機(jī)之間使用DRF2617A進(jìn)行通信。需要注意的是,此時(shí)須將子網(wǎng)與主網(wǎng)設(shè)置互異的ID。上位機(jī)使用DRF2618A模塊進(jìn)行數(shù)據(jù)的接收與發(fā)送。節(jié)點(diǎn)采用太陽(yáng)能-鉛酸電池組合供電方式,使用時(shí),太陽(yáng)能電池組件被置于大棚外部。太陽(yáng)能控制器輸出的電壓先通過(guò)LM2596-5.0輸出5 V電壓,之后通過(guò)HT7333為系統(tǒng)提供3.3 V的工作電壓。鉛酸電池的輸出電壓通過(guò)電阻分壓輸入到PSoC內(nèi)部Voltage Fault Detector(VFD)模塊,當(dāng)該電壓低于9 V時(shí),將在VFD的pgood端給出告警信號(hào)。

3 系統(tǒng)通信與軟件設(shè)計(jì)

  在系統(tǒng)通信中,利用ZigBee模塊提供的可變長(zhǎng)度數(shù)據(jù)包容器適配具體需要傳輸?shù)臄?shù)據(jù)形式。系統(tǒng)工作在輪詢模式下,節(jié)點(diǎn)對(duì)上位機(jī)發(fā)出的具體指令做出響應(yīng),依據(jù)上位機(jī)的指令要求對(duì)特定的傳感器數(shù)據(jù)進(jìn)行采集或控制大棚機(jī)電設(shè)備工作。具體ZigBee數(shù)據(jù)包由先導(dǎo)碼、容器長(zhǎng)度指示位、負(fù)載及結(jié)束碼組成。上行及下行數(shù)據(jù)包中為每一個(gè)設(shè)備指定一個(gè)32 bit的子負(fù)載區(qū)段,其中前11 bit為設(shè)備編號(hào),之后的1 bit是操作控制位,最后20 bit是數(shù)據(jù)或控制變量。設(shè)備編號(hào)中的前8 bit為設(shè)備所屬節(jié)點(diǎn)的ID,后3 bit為設(shè)備本身的屬性ID。如對(duì)機(jī)電設(shè)備進(jìn)行設(shè)置操作,下行數(shù)據(jù)包中每一個(gè)機(jī)電設(shè)備子負(fù)載區(qū)段中的后20 bit中存儲(chǔ)PWM的設(shè)置取值;而對(duì)于上位機(jī)下行而來(lái)的對(duì)傳感器數(shù)據(jù)的采集請(qǐng)求,則將該20 bit置空。當(dāng)機(jī)電設(shè)備完成相應(yīng)配置或傳感器數(shù)據(jù)采集完成后,節(jié)點(diǎn)向上位機(jī)發(fā)出對(duì)應(yīng)的數(shù)據(jù)包,此時(shí)每個(gè)傳感器對(duì)應(yīng)的子負(fù)載區(qū)段中被裝入采集數(shù)據(jù),而控制設(shè)備對(duì)應(yīng)的子負(fù)載區(qū)段中裝入設(shè)備響應(yīng)狀態(tài)值。另外由于數(shù)據(jù)包的長(zhǎng)度是可變的,因此每一次節(jié)點(diǎn)在接收到上位機(jī)的下行指令數(shù)據(jù)包后,將依照指令數(shù)據(jù)包容器中指令的先后順序完成所有操作后再向上位機(jī)發(fā)出返回?cái)?shù)據(jù)包。無(wú)論節(jié)點(diǎn)及其上傳感器是否屬于子網(wǎng),其都被賦予網(wǎng)內(nèi)唯一ID。如果節(jié)點(diǎn)屬于子網(wǎng),其從屬的數(shù)據(jù)匯聚節(jié)點(diǎn)中則記錄該節(jié)點(diǎn)的ID與設(shè)備ID。如有針對(duì)該節(jié)點(diǎn)的下行/上行數(shù)據(jù)包,則由匯聚節(jié)點(diǎn)負(fù)責(zé)在子網(wǎng)與主網(wǎng)間進(jìn)行轉(zhuǎn)發(fā)。

  上位機(jī)軟件基于JSP技術(shù)設(shè)計(jì)。JSP是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),它可以直接調(diào)用javabean或直接插入Java代碼,然后通過(guò)與HTML的結(jié)合構(gòu)建動(dòng)態(tài)網(wǎng)站系統(tǒng),達(dá)到用戶與服務(wù)端交互的目的[8]。上位機(jī)ZigBee模塊通過(guò)串口將數(shù)據(jù)導(dǎo)入計(jì)算機(jī)。實(shí)現(xiàn)中首先建立一個(gè)類(lèi),類(lèi)中需要添加必要的屬性,如readStr、writeStr等,并且需要為這些屬性添加必要的get和set方法,方便對(duì)屬性值進(jìn)行獲取和設(shè)置。在新建的類(lèi)中引入comm3.0.jar包,通過(guò)該包提供的API就能很容易地實(shí)現(xiàn)打開(kāi)串口、關(guān)閉串口、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等功能。如Commportidentifier類(lèi),可以用該類(lèi)提供的方法處理端口所有權(quán)問(wèn)題和確定是否有可用的端口等問(wèn)題。通過(guò)SerialPort類(lèi)提供的方法可以完成基本的讀寫(xiě)功能和常用的設(shè)置工作。在開(kāi)發(fā)中需要定義線程對(duì)端口進(jìn)行監(jiān)聽(tīng)。利用HTML和JSP標(biāo)簽編寫(xiě)滿足需求的JSP頁(yè)面,該頁(yè)面不但能動(dòng)態(tài)顯示下位機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù),還能通過(guò)向下位機(jī)發(fā)送數(shù)據(jù)來(lái)對(duì)下位機(jī)進(jìn)行控制。如圖2所示,在這個(gè)頁(yè)面不但能獲取下位機(jī)傳過(guò)來(lái)的溫濕度、日光輻照數(shù)據(jù),并通過(guò)曲線圖表的形式顯示出來(lái),還能通過(guò)點(diǎn)擊開(kāi)啟水泵、開(kāi)啟遮光簾按鈕對(duì)下位機(jī)進(jìn)行控制。JSP自動(dòng)通過(guò)后臺(tái)程序讀取系統(tǒng)的實(shí)時(shí)時(shí)間,在每一個(gè)系統(tǒng)輪詢周期開(kāi)始后向各個(gè)節(jié)點(diǎn)及設(shè)備發(fā)出具體指令。用戶在通過(guò)UI進(jìn)行操作后,在下一個(gè)輪詢周期開(kāi)始時(shí)操作生效。每次采樣數(shù)據(jù)及設(shè)備返回值都會(huì)被寫(xiě)入SQL Server數(shù)據(jù)庫(kù)中,方便系統(tǒng)使用者進(jìn)行回調(diào)查看。

001.jpg

4 結(jié)論

  針對(duì)葡萄大棚栽培的需求,本文提出了一種基于PSoC的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。該系統(tǒng)節(jié)點(diǎn)具有高度的配置靈活性與通用性,可根據(jù)具體的需求靈活配備外部設(shè)備及內(nèi)核模塊。系統(tǒng)可對(duì)葡萄大棚基本種植參數(shù)進(jìn)行采集,并可實(shí)現(xiàn)遠(yuǎn)程機(jī)電設(shè)備控制功能。上位機(jī)采用JSP設(shè)計(jì),可以令用戶簡(jiǎn)單方便地對(duì)系統(tǒng)進(jìn)行操作。該系統(tǒng)具有使用靈活、功能伸縮性好、通用化程度高、配置便捷與使用方便等特點(diǎn),可望為葡萄大棚栽培提供較為方便的工程實(shí)踐支持。

參考文獻(xiàn)

  [1] Shen Jianbo, Cui Zhenling, Miao Yuxin, et al. Transforming agriculture in China: from solely high yield to both high yield and high resource use efficiency [J]. Global Food Security, 2013, 2(1):1-8.

  [2] Yu Xiaoqing, Wu Pute, Han Wenting, et al. A survey on wireless sensor network infrastructure for agriculture [J]. Computer Standards & Interfaces,2013,35(1):59-64.

  [3] SRBINOVSKA M, GAVROVSKI C, DIMCEV V, et al. Environmental parameters monitoring in precision agriculture using wireless sensor networks[J]. Journal of Cleaner Production, 2015,2(1):297-307.

  [4] 李道亮.農(nóng)業(yè)物聯(lián)網(wǎng)導(dǎo)論[M].北京:科學(xué)出版社,2012.

  [5] 王海倫,余世明,范一鳴.基于PSoC的多參數(shù)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)[J].儀表技術(shù)與傳感器,2012(2):85-87.

  [6] 王波,楊永明,汪金剛,等.基于PSoC的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2009,22(3):413-416.

  [7] 趙春鋒,陸善婷,劉霄毅,等.基于PSoC的滾刀周節(jié)誤差自動(dòng)測(cè)量裝置[J].微型機(jī)與應(yīng)用,2013,32(21):23-25,28.

  [8] 宋俊玲.基于jsp+javabean技術(shù)的圖書(shū)管理系統(tǒng)[J].電子技術(shù)與軟件工程,2014(16):216.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。