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

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

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

0 引言

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

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

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

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

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

002.jpg

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

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

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

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

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

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

001.jpg

4 結(jié)論

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

參考文獻

  [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)導論[M].北京:科學出版社,2012.

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

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

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

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


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