?

基于開源硬件與虛擬儀器的智能農業監測系統設計*

2015-12-08 03:28凡,楊
電子技術應用 2015年4期
關鍵詞:虛擬儀器開源溫濕度

王 凡,楊 亮

(1.電子科技大學中山學院 機電工程學院,廣東 中山528402;2.電子科技大學中山學院 計算機學院,廣東 中山528402)

基于開源硬件與虛擬儀器的智能農業監測系統設計*

王 凡1,楊 亮2

(1.電子科技大學中山學院 機電工程學院,廣東 中山528402;2.電子科技大學中山學院 計算機學院,廣東 中山528402)

為了智能化采集農作信息,高效利用農業資源及實現智能農業,設計了基于開源硬件的智能農業監測系統。系統以開源硬件Arduino為核心控制器,配合光照傳感器、土壤水分傳感器、溫濕度傳感器、二氧化碳傳感器采集農作環境參數,利用ZigBee技術上傳數據至虛擬儀器LabVIEW,實現數據在線監測。該系統具有性價比高、擴展性強、可更換組網方式等優點,有著較強的實踐性和可操作性。

智能農業;開源硬件;傳感器;虛擬儀器;LabVIEW

0 引言

我國是一個農業大國,傳統農業模式多采用粗放式管理,主要依靠個人感知來管理農作物周圍的環境參數,無法做到對影響農業環境參數的精確控制,從而很難做到投入產出比的最優化[1]。智能農業作為農業科技的最新發展方向,通過對農作信息的智能化采集,并對采集后的信息通過科學地分析,從而制定出高效集約的可持續性發展方式,高效利用農業資源,實現可觀的經濟效益。

信息采集作為智能農業的起點,主要通過對農作物生長環境系統中大氣溫濕度、光照強度、土壤濕度、二氧化碳濃度、土壤pH值等參數進行測量與匯總,為技術人員提供分析與決策的依據。雖然目前的研究主要都是基于無線傳感器網絡的農業檢測系統[2],但是在應用中由于專業傳感器模塊價格昂貴,導致節點成本偏高。本文提出一種基于開源硬件的智能農業監測系統,以高性價比的開源硬件Arduino為核心控制器,采用 ZigBee技術無線連接上位機LabVIEW,實現數據的可視化。同時

由于Arduino的強擴展性,可以根據使用需求增加傳感器模塊,以及采用有線串口連接Arduino控制板與上位機。

1 系統硬件組成

監測系統的數據采集部分主要使用 Arduino作為核心控制器,配合BH1750光照傳感器、YL-69土壤水分傳感器、DHT22溫濕度傳感器以及CO2濃度傳感器采集農作物生長環境參數后,采用接口擴展板連接 Xbee,通過無線(也可采用RS-485總線)與上位機的虛擬儀器Lab-VIEW軟件通信。

1.1 Arduino控制器

Arduino作為一個開源的電子平臺,其不僅是一種基于 Atmel AVR單片機的控制器,也是包含 Arduino IDE以及開源社區的一個開源系統。Arduino控制器采用了多樣的硬件配置,其中應用最為廣泛的 Arduino Uno采用ATmega 328作為核心處理器,包括14通道數字輸入/輸出,其中包括6通道PWM輸出、6通道10 bit ADC模擬輸入/輸出通道,電源電壓主要有 5 V和3.3 V[3]。在核心控制板的外圍,有開關量輸入輸出模塊、各種模擬量傳感器輸入模塊、總線類傳感器的輸入模塊,還有網絡通信模塊[4]。使用者通過編程與輸入和輸出信號做出各種交互。由于Arduino采用開源協議,任何人和公司都可以利用開源公布的文檔生產兼容的 Arduino控制器。Arduino兼容控制器的低廉價格,受到廣大極客的熱捧。

1.2 光照傳感器

BH1750FVI是一種用于兩線式串行總線接口的數字型光強度傳感器集成電路。其內部結構如圖1所示。

圖1 BH1750FVI光照傳感器內部結構框圖

光敏二極管PD的信號通過集成運算放大器將電流轉化為電壓,之后通過ADC進行數模轉換為16 bit數字信號,轉換后的數字信號通過邏輯芯片輸出為I2C信號。BH1750FVI的地址模式分為高位和低位兩種,當ADD接VCC時為高地址模式,當ADD接GND時為低地址模式。

1.3 土壤水分傳感器

在監測系統中,采用了價格低廉的電阻式水分傳感器??梢愿鶕褂眯枰鼡Q為抗電離腐蝕的專用數字土壤水分傳感器。

如圖2所示,當傳感器探頭插入土壤中時,由于土壤水分含量影響土壤電阻值的大小,從而影響三極管基極的導通電流的大小?;鶚O電流放大為發射極電流后經下拉電阻轉化為電壓形式輸入Arduino控制板。

圖2 土壤水分傳感器電路原理圖

1.4 溫濕度傳感器

本監測系統采用DHT22作為溫濕度傳感器,它采用了電容式感濕元件與NTC測溫元件,并集成了一個微型8位單片機。DHT22將在濕度實驗室中校準的系數存儲在OTP內存中,檢測信號需要通過校準系數進行處理。

DHT22采用單總線數據結構進行通信和同步。每次通信發送數據量為 40 bit,其中濕度數據為 16 bit,溫度數據為16 bit,校驗和為8 bit。一般采用高速模式通信,每次通信發送時間約為 5 ms。DHT22在收到Arduino所發出開始信號后才開始一次溫濕度的測量,平時不會主動收集數據。

1.5 CO2濃度傳感器

CO2濃度傳感器主要采用了 MG-811 CO2探頭,對CO2極為敏感,同時還能排除酒精和CO的干擾。其內部結構如圖3所示。

圖3 MG-811 CO2探頭內部結構圖

當傳感器在CO2的環境中,電極將會發生如下反應:

負極:2Li++CO2+1/2O2+2e-=Li2CO3

正極:2Na++1/2O2+2e-=Na2O

總電極反應:Li2CO3+2Na+=Na2O+2Li++CO2

傳感器敏感電極與參考電極間的電勢差(EMF)符合能斯特方程:

EMF=Ec-(RxT)/(2F)ln(P(CO2))

當探頭內部通過外電路提供的電壓加熱時,探頭就相當于一個固體電解質電池,其兩端對應輸出電壓信號,其值符合能斯特方程。故可將空氣中的CO2以電壓的形式輸出。

1.6 ZigBee通信模塊

ZigBee是基于 IEEE 802.15.4標準的低功耗個域網協議。其特點是近距離、自組織、低功耗、相對成本低。ZigBee工作在 2.4 GHz、868 MHz和 915 MHz頻段上,可靠傳輸距離為75 m以內,一般室內為30 m。ZigBee的網絡層采用了星型、樹型和網狀網3種網絡拓撲結構,每個 ZigBee網絡最多可以支持 65 000個節點[5],廣泛地使用于自動控制和遠程控制領域。

在 Arduino系統中主要采用的是美國 MaxStream公司生產的Xbee模塊。該模塊使用方便,只需將數據輸入

一個XBee模塊,它就能自動地將數據發送到另一個匹配好的XBee模塊。

采用XBee擴展板可以將XBee模塊連接至Arduino,USB適配器則可將 XBee模塊通過 USB口與計算機連接,從而實現 Arduino與計算機的數據通信。并可采用串口指令或X-CTU軟件對XBee參數進行配置。

1.7 RS-485串口通信模塊

雖然Arduino與上位機可以采用 ZigBee技術進行無線連接,但是XBee相對其他傳感器模塊來說成本比較高,不適合大規模使用。Arduino作為開源硬件有著豐富的擴展性,可以根據使用需求與LabVIEW采用有線串口通信。并且只需要使用 LabVIEW Interface for Arduino的庫函數,并不需要了解具體的底層實現。

RS-485作為串口通信的標準之一,采用平衡傳輸方式。當采用二線制時,可以實現多點雙向通信,總線上最多可接32個設備,最大傳輸距離約為1 200 m。

在使用 RS-485時,Arduino端主要采用MAX485接口芯片模塊完成RS-485與TTL電平的轉換。由于上位機通常只帶有USB接口,可以通過USB/RS-485轉換電路,先將 USB信號轉化為TTL信號,再由 TTL信號轉化為RS-485信號。

2 虛擬儀器與LabVIEW

虛擬儀器是采用計算機為控制器,以軟件方式實現數據測量的技術。虛擬儀器將采集的數據通過計算機傳輸、分析、處理、存儲后,在虛擬面板顯示測量結果。即通過編程實現真實儀器的功能,而通過虛擬面板顯示。

2.1 LabVIEW

LabVIEW是由美國 NI公司開發的圖形化程序開發平臺,早期用于自動控制設計,現已成為成熟的高級編程語言,廣泛被工業界以及學術界所使用,作為標準的數據采集與設備控制軟件[6]。

LabVIEW作為可視化的圖形編程軟件編寫儀器軟面板,界面友好,操作方便,具有以下特點[7]:(1)函數封裝于可視化的模塊之中,采用連線表示功能模塊間的數據傳遞;(2)可采用高亮執行調試,直觀顯示運行中的問題;(3)多操作系統平臺支持;(4)通信接口建立方便,可采用多種形式與下位機連接;(5)提供豐富的庫函數供用戶使用。

2.2 LabVIEW與Arduino的連接

LabVIEW與Arduino的連接方式包括了LabVIEW Interface for Arduino,有線串口、無線串口以及網絡接口。LabVIEW Interface for Arduino由于實際上并不涉及 Arduino編程,只能采用官方的 Arduino函數庫在 LabVIEW端完全控制,所以可用傳感器非常有限,擴展性差。網絡接口的方式雖然是只需要Arduino與LabVIEW聯入互聯網就能實現方便地通信,但是對于農用耕地要實現互聯網的覆蓋和接入,在現階段很難做到。所以,在農業監測系統中采用串口連接Arduino與LabVIEW。

在使用串口連接 Arduino與 LabVIEW 之前,Lab-VIEW需要先安裝VISA。VISA是虛擬儀器軟件體系結構的縮寫,主要應用于儀器編程的標準I/O應用程序接口。在LabVIEW采用VISA節點進行串口通信,配置好VISA是實現串口通信的首要步驟。

當采用無線串口,即設計方案中的ZigBee方式連接Arduino與上位機時,由于需要實現 2個或者以上的XBee模塊來實現通信,所以需要使用 X-CTU軟件每個XBee模塊的參數進行配置[8]。XBee模塊具有 64 bit的長地址與 16 bit的短地址,其中64 bit長地址為出廠時寫入,不能修改,16 bit短地址需要進行人工配置。當采用長地址作為尋址方式時就需要將接收模塊的64 bit地址設置為發送模塊的目標地址高位 (Destination Address High,DH)+目標地址低位(Destination Address Low,DL)。若采用短地址作為尋址方式則需將接收模塊的 16 bit地址設置為發送模塊的目標地址低32 bit(DL),并將發送模塊的DH置零。

3 Arduino與LabVIEW系統整合設計

3.1 傳感器設置

Arduino語言建立在C/C++基礎上,其基本程序框架由 setup()和 loop()兩部分組成。Arduino程序首先執行setup()函數,并且只運行一次。因此,setup()函數一般用于初始化,例如設置引腳類型、配置串口、引入類庫文件、外圍器件的初始化等。初始化之后執行 loop()函數,而且 loop()函數將會不斷循環執行,故所有的執行語句都放在loop()函數中,完成指定的輸入/輸出。

在本設計中,采用光照傳感器、土壤水分傳感器、溫濕度傳感器以及CO2濃度傳感器采集農作物生長環境參數。其中土壤水分傳感器與溫濕度傳感器的數據可以通過模擬輸入口直接被 Arduino讀取。

對于光照傳感器由于采用I2C總線傳輸,在配置完總線參數后,自定義讀取數據函數如下:

對于CO2濃度傳感器,雖然輸出電壓可以通過模擬輸入端直接讀取,但是為了防止濃度的不均勻引起的突發誤差,還需要對采樣數據做平滑處理并轉化為ppm濃度。

3.2 LabVIEW配置

LabVIEW 的主要功能為:向 Arduino控制板發送采集光照、溫度、濕度、水分、二氧化碳的命令,Arduino在

接收到LabVIEW的命令后,通過傳感器模塊接收相應的數據(并將二氧化碳傳感器采集的電壓數據轉化的二氧化碳濃度)傳送回LabVIEW,LabVIEW將收到的數據顯示在前面板。

LabVIEW 的前面板如圖4所示,主要通過儀表盤表示了光照、溫度、濕度、水分以及二氧化碳濃度的狀態。

圖4 LabVIEW前面板設計

LabVIEW的主程序采用狀態機實現。主程序分為6個狀態:0狀態初始化串口,1狀態光照測量,2狀態溫度測量,3狀態濕度測量,4狀態水分測量,5狀態二氧化碳測量。初始為0狀態。程序框圖如圖5所示(以二氧化碳濃度采集環節為例)。

圖5 二氧化碳采集程序框圖

4 總結

基于開源硬件的智能農業監測系統,充分利用了開源硬件價格低廉、擴展性強的特點,并結合 ZigBee低功耗、自組網的優勢,使得整個系統可以基于虛擬儀器方便地對農業環境中的各個參數進行可視化監控,從而做到對環境的智能監測,以實現農作物的優質高產。而且本系統可以根據環境監測需要擴展新的傳感器,并可在有線與無線組網間進行切換,在智能農業領域有著較強的實踐性和可操作性。

[1]李圣華,肖傳輝.基于物聯網技術的智能農業系統設計[J].科技廣場,2011(7):73-75.

[2]張佐經,張海輝,翟長遠,等.設施農業環境因子無線監測及預警系統設計[J].農機化研究,2010,32(11):78-82.

[3]Jonathan Oxer,Hugh Blemings.Practical Arduino:Cool Projects for Open Source Hardware[M].New York:Springer-Verlag,2009:1-10.

[4]米歇爾·麥克羅伯茨.Arduino從基礎到實踐[M].北京:電子工業出版社,2013.

[5]韓廷閣,李書琴.基于 ZigBee的土壤濕度無線采集系統節點設計[J].農機化研究,2010,32(12):154-159.

[6]劉君華.基于 LabVIEW 的虛擬儀器設計[M].北京:電子工業出版社,2003.

[7]李江全.LabVIEW虛擬儀器數據采集與串口通信測控應用實戰[M].北京:人民郵電出版社,2010.

[8]王靜霞.一種與ZigBee/802.15.4協議兼容的 RF模塊XBee/XBee Pro及其應用[J].電子工程師,2007,33(3):24-27.

Design of the intelligent agriculture monitoring system based on open source hardware and virtual instrument

Wang Fan1,Yang Liang2
(1.School of Electromechanical Engineering,University of Electronic Science and Technology of China, Zhongshan institute,Zhongshan 528400,China;2.School of Computer Science,University of Electronic Science and Technology of China, Zhongshan institute,Zhongshan 528400,China)

The design of intelligent agriculture monitoring system is based on open source hardware.This system collects the environmental information of agriculture intelligently,and uses agricultural resources efficiently.The system use Arduino as the main control board.It got the environmental information from light intensity sensor,soil moisture sensor,temperature and humidity sensors,carbon dioxide sensor.The system realizes the online monitoring by uploading data to the LabVIEW using ZigBee.The system has the advantages of high coat,strong expansion,replaceable networking.The system is easy to implement and operate.

intelligent agriculture;open source hardware;sensor;virtual instrument;LabVIEW

TP23

A

0258-7998(2015)04-0073-04

10.16157/j.issn.0258-7998.2015.04.016

2014-12-23)

王凡(1981-),通信作者,男,碩士,實驗師,主要研究方向:通信系統,自動控制,E-mail:wangfan.net@gmail.com。

2013廣東高校優秀青年創新人才培養計劃項目(2013LYM0104);2013年中山市科技計劃項目(2013A3FC0271);2014年電子科技大學中山學院高等教育教學改革項目(JY201414)

楊亮(1980-),男,博士生,講師,主要研究方向:智能機器人系統與技術,智能控制。

猜你喜歡
虛擬儀器開源溫濕度
基于AT89C51的數字型蠶用溫濕度計的設計
基于DSP的多路溫濕度監測系統
五毛錢能買多少頭牛
2019開源杰出貢獻獎
基于溫濕度控制的天氣預測裝置
PCB 刻制機功能開發及在虛擬儀器實驗室建設中的應用
虛擬儀器及其在電工電子實驗中的應用
蒸發冷卻溫濕度獨立控制空調系統的應用
虛擬儀器技術在農業裝備測控中的應用
大家說:開源、人工智能及創新
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合