楊彥中,楊 義,韓 芳,謝錫冬,許培培(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
基于PSoC的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)
楊彥中,楊義,韓芳,謝錫冬,許培培
(東華大學(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í)踐支持。
嵌入式系統(tǒng);智能農(nóng)業(yè);可編程片上系統(tǒng);ZigBee
近年來(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)行管理。
本系統(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)。
由于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á)67MHz的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]。
系統(tǒng)硬件框如圖1所示。設(shè)計(jì)中CY8C3866AXI-040芯片的20與21號(hào)管腳分別作為SWDIO與SWDCK功能使用,用于連接MiniProg3編程器進(jìn)行燒寫(xiě)。PSoC在42號(hào)管腳與43號(hào)管腳之間接24MHz的無(wú)源晶振作為系統(tǒng)工作時(shí)鐘,55與56號(hào)管腳間接入32.768kHz晶振為PSoC內(nèi)部的實(shí)時(shí)時(shí)鐘提供參考。系統(tǒng)通過(guò)PSoC Creator3.1環(huán)境進(jìn)行開(kāi)發(fā)。設(shè)計(jì)中對(duì)模擬監(jiān)測(cè)量的采集選用了兩個(gè)內(nèi)置的Delta-Sigma ADC(ADC_DelSig),其精度設(shè)定為20bit。每一個(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è)備的控制功能。
圖1 系統(tǒng)通用節(jié)點(diǎn)硬件框圖
節(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.67mV-1W/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輸出5V電壓,之后通過(guò)HT7333為系統(tǒng)提供3.3V的工作電壓。鉛酸電池的輸出電壓通過(guò)電阻分壓輸入到PSoC內(nèi)部Voltage Fault Detector(VFD)模塊,當(dāng)該電壓低于9V時(shí),將在VFD的pgood端給出告警信號(hào)。
在系統(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è)32bit的子負(fù)載區(qū)段,其中前11bit為設(shè)備編號(hào),之后的1bit是操作控制位,最后20bit是數(shù)據(jù)或控制變量。設(shè)備編號(hào)中的前8bit為設(shè)備所屬節(jié)點(diǎn)的ID,后3bit為設(shè)備本身的屬性ID。如對(duì)機(jī)電設(shè)備進(jìn)行設(shè)置操作,下行數(shù)據(jù)包中每一個(gè)機(jī)電設(shè)備子負(fù)載區(qū)段中的后20bit中存儲(chǔ)PWM的設(shè)置取值;而對(duì)于上位機(jī)下行而來(lái)的對(duì)傳感器數(shù)據(jù)的采集請(qǐng)求,則將該20bit置空。當(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è)類,類中需要添加必要的屬性,如readStr、writeStr等,并且需要為這些屬性添加必要的get和set方法,方便對(duì)屬性值進(jìn)行獲取和設(shè)置。在新建的類中引入comm3.0.jar包,通過(guò)該包提供的API就能很容易地實(shí)現(xiàn)打開(kāi)串口、關(guān)閉串口、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等功能。如Commportidentifier類,可以用該類提供的方法處理端口所有權(quán)問(wèn)題和確定是否有可用的端口等問(wèn)題。通過(guò)SerialPort類提供的方法可以完成基本的讀寫(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)查看。
圖2 基于JSP技術(shù)實(shí)現(xiàn)的上位機(jī)UI界面
針對(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í)踐支持。
[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 wirelesssensornetwork infrastructure foragriculture[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.
Remote monitoring system based on PSoC for grape greenhouse
Yang Yanzhong,Yang Yi,Han Fang,Xie Xidong,Xu Peipei
(School of Information Science and Technology,Donghua University,Shanghai 201620,China)
For greenhouse grape remote monitoring,we propose a monitoring system based on PSoC.The configurable end node and sink node are designed based on PSoC.Cultivation parameters collection on soil temperature/humidity,ambient temperature,humidity,solar radiation,and grape in greenhouse and basic mechanical/electrical greenhouse control functions can be realized.The host program is realized with JSP.Result indicates that the system is flexible and scalable,has factures such as high degree of generalization and configuration,convenient and easy to use features,and is expected to provide more convenience for grape in greenhouse cultivation of engineering support.
embedded system;smart agricultural;programmable system on chip;ZigBee
TN709
A
1674-7720(2015)16-0090-03
楊彥中,楊義,韓芳,等.基于PSoC的葡萄大棚遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[J].微型機(jī)與應(yīng)用,2015,34(16):90-92,96.
2015-03-24)
楊彥中(1989-),男,碩士研究生,主要研究方向:移動(dòng)互聯(lián)網(wǎng),計(jì)算機(jī)應(yīng)用等。
楊義(1978-),男,博士,講師,主要研究方向:農(nóng)業(yè)物聯(lián)網(wǎng),光釬通信,計(jì)算機(jī)應(yīng)用等。
韓芳(1981-),女,博士,副教授,主要研究方向:虛擬網(wǎng)絡(luò),人工智能,神經(jīng)網(wǎng)絡(luò)算法等。