彭劍,陳賢權
(韶關學院信息科學與工程學院,廣東韶關512000)
基于農業大棚溫濕度傳感器系統的設計與實現
彭劍,陳賢權
(韶關學院信息科學與工程學院,廣東韶關512000)
大棚溫濕度檢測系統是以保證農作物生長在最佳環境、實現農作物高產、提高農業收入而對農產品生產過程實施監測的系統.在農業生產過程中可以根據需要實時監測大棚內部溫濕度的數據,并能夠根據不同作物的生長環境設定不同的閾值,對大棚內部環境實行動態控制,實現采集及控制一體化.設計采用以美國德州儀器TI公司CC2530芯片為代表的ZigBee SOC解決方案,使用DHT11作為溫濕度傳感器,監測到的溫濕度數據通過ZigBee協議無線發送至上位機監測系統,取得了較理想的效果.
溫濕度檢測;ZigBee協議;無線傳輸
我國是傳統的農業大國,民間歷來有“靠天吃飯”的說法,傳統農業生產受制于天氣氣候等因素.農業大棚能解決雨水陽光的影響,但對溫濕度的控制卻只能在大棚里面放置溫度計、濕度計,由人工定時定點到大棚里面采集數據進行處置.這種方法大量耗費人力物力,也無法保證處理的及時性,一有疏忽,可能造成農作物嚴重損害.研發一套可以實時監測環境溫濕度,并將數據通過無線傳輸到移動設備進行處置的檢測系統十分必要.
發達國家在農業環境監測方面走在我國前面.以色列的農業大棚技術包含著從播種、灌溉、監控、采摘一體的智能農業系統,為沙漠之舟的以色列創造了世界奇跡.美國是最早將計算機應用于農業大棚溫室監控的國家之一,擁有發達的設施栽培技術,綜合環境控制技術水平也非常高,能實現對溫室環境進行監測并控制相應的設備進行處置.比如以花卉溫室為例,溫室內監控項目包括室內水溫、氣溫、土壤溫度、管道溫度、鍋爐溫度、保溫幕狀況、相對空氣濕度、泵的工作狀況、通窗狀況、CO2濃度、ECO調節池與回流管數值、pH調節池與回流管數值;室外監控項目包括太陽輻射強度、大氣溫度、相對濕度、風向風速等.系統的應用為種植者帶來了許多經濟效益,提高了決策水平,減輕了技術管理工作量,同時也為種植帶來了很大便利[1].
國內關于溫濕度監測技術的研究與應用始于20世紀80年代末.當時我國的自控技術人員吸收發達國家溫度測控技術基礎,不斷消化吸收,逐步將監測設備與計算機應用結合起來,在技術上,開始以單片機控制的單參數單回路系統比較多,一段時期,沒有實現真正意義上的多參數綜合控制系統.隨著物聯網技術的不斷發展,單片機技術不斷升級,我國逐步將工業應用領域的監控技術應用于農業生產,開始不斷出現一些新的技術和新的解決方案.
1.1 問題描述
基于目前市場應用狀況,大棚監測數據采集通常有兩種:第一種是采用“人工+儀器”的方法,即根據大棚具體作物及位置,科學地在每個固定時間段由工作人員到實地讀取放置在大棚里的監測數據,這種方法對人工十分的依賴,較實用且能確保數據的可靠性,但人力成本較高,逐步會被機器取代.第二種是相對先進的方法,即通過在農業大棚里面放置相關傳感器,然后將數據通過線纜傳遞到控制中心,由專人控制讀取并存儲這些數據.相對于第一種方法,這種方法的確較先進,但若使用這種方法,就需要在大棚設計的時候考慮好相關線纜的布線,實用性依然不高,通常會出現線纜壽命低,布線復雜,運維成本高等不足[2].
1.2 模型設計
農業大棚溫濕度傳感器系統設計著重在數據傳輸和無線控制兩方面入手.隨著網絡科技的快速發展,在工程建設的過程中,優先考慮無線傳輸.無線傳輸無需考慮布線問題,結合能效問題以及維護成本,采用時下較為成熟的技術——ZigBee無線通信技術.同時在對上位機開發的處理中,為大棚的溫濕度變化幅度設限值,當超過所設標準值時,系統可以對大棚環境進行預處理,并提示工作人員作出相應處理,滿足生產要求.
1.3 硬件設計
(1)電子模板.采用樹莓派(Raspberry Pi)電子制作模板.它將除了存儲之外的功能都整合在撲克大小的主板上,采用的制作標準多是Arduino標準,使用了Broadcom BCM2837處理器,是ARM Cortex-A53 1.2 GHz四核心64位處理器,并且增加了圖形處理器GPU部分,是VideoCore IV,樹莓派3也加入了BCM43438芯片,內置有802.11n無線網絡與Bluetooth兩個新功能,速度是900 MHz、64 bit,并擁有1 GB的LPDDR2內存.
(2)溫濕度采集節點,型號:CC2530、DHT111.CC2530結合了領先的RF收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM和許多其它強大的功能.CC2530有4種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256 KB的閃存.CC2530具有不同的運行模式,使得它尤其適應超低功耗要求的系統.
DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接.產品為4針單排引腳封裝,連接方便[3].
1.4 系統功能模塊設計
(1)系統功能設計.打開協調器及終端后,協調器以廣播的方式與周圍的終端建立連接,終端則以向協調器單播的形式加入網絡,一旦網絡成功鏈接,終端則會周期性的將DHT11檢測到的數據無線附送給協調器函數以及溫濕度數據,電腦端的上位機通過串口將數據從界面程序重顯示出來(見圖1).
(2)系統功能模塊.系統設計采用“單片機+ZigBee”的組合,主流單片機包括CPU、4 KB容量的RAM、128 KB容量的ROM、ADC/DAC、SPI、I2C、ISP、IAP;系統結構簡單,使用方便,實現模塊化;而ZigBee技術具有明顯的實用優勢,特點主要表現在:低功耗,低成本,時延短,傳輸范圍短(10~75 m),網絡容量大以及數據傳輸速率低;更為重要的是,在安全方面,其提供了基于循環冗余校驗的數據包完整性檢查,支持鑒權和認證,同時采用高級加密標準(Advanced Encryption Standard,AES)進行加密,保證各個應用可以靈活確定其安全屬性.整個系統設計布局簡潔,在保證高效率的同時可以輕松實現對系統的移植和優化.
(3)協調器與終端流程圖設計.系統總體設計包括節點的自適應鏈接,數據的檢測與接收,數據的加工與顯示以及控制數據的發送.當系統被打開之后,由于Zigbee協議的優越性,協調器跟終端可以實現自接網,一旦節點接入網絡,協調器將會通過發送控制數據給予終端,終端通過將控制數據解析從而響應協調器是否采集數據及發送,如此循環,實現實時無線傳輸數據[4].

圖1 系統功能流程圖
(4)數據庫設計.設計對數據記錄方面的要求不高,只需滿足可以傳輸數據到服務器記錄即可.對數據庫設計這一模塊設計相對簡單,只需一個數據庫,一個表,基本表的設計見表1.

表1 數據庫設計
2.1 界面設計
上位機界面UI(User Interface)的設計是衡量系統“外在美”的因素之一,好的界面可以使用戶眼前一亮,提高生產體驗.界面采用極簡設計,將需要的內容最大程度以最簡的方式呈現,做到用戶在看到界面的一秒之后就可以上手操作,無需花費更多的時間熟悉界面(見圖2).
當開啟系統時,上位機QT程序通過初始化函數實現界面的重繪工作,通過initForm()函數將窗體標題隱藏,在windowSystemMenuHint里面已經對窗體的格式以及樣式做了相關調整,使其打開之后在初始化過程中對窗體各個控件的位置擺放做出相應的調整,使整個界面簡潔,容易理解[5].其中關鍵代碼如下:

圖2 上位機界面圖
ui->tbnHome->setText(tr("首頁"));
ui->tbnHome->setIcon(QPixmap(":/images/tool/home.png"));
ui->tbnHome->setIconSize(QPixmap(":/images/tool/home.png").size());
ui->tbnHome->setAutoRaise(true);
ui->tbnHome->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
//setStyleSheet(QLatin1String("QToolButton{border:0px;}"));
//中間部分的樣式
ui->tbnLight->setText(tr("照明"));
ui->tbnLight->setAutoRaise(true);
ui->tbnLight->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);.
2.2 輸入輸出設計
提高系統效率的重要步驟就是簡化流程、優化算法,筆者基于實際操作環境,著力做到只要按下電源開關,系統就會自主運行,最大限度的減少工作人員的工作量.當然,關鍵信息一個也不會少的顯現在屏幕上,只要有需要,隨時就可以了解到環境的實時數據.其中關鍵代碼如下:
if(keys&HAL_KEY_SW_6)
{AF_DataRequest(&GenericApp_DstAddr,&GenericApp_epDesc,
GENERICAPP_CLUSTERID,
1,//這個參數就是發送的數據的長度
"1",//這個參數就是發送的數據的內容
&GenericApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS);.
Zigbee組網的方式一般有3種:廣播、單播以及組播.基于設計自身的考量,協調器采用廣播的方式,addrMode=AddrBroadcast就是設置廣播的方式實現組網,shortaddr=0xFFFF就是向所有節點發送數據,使附近的終端節點可以加入該網絡,為系統的正常工作做充分準備.
終端節點采取何種方式并網是比較重要的方面.通過實驗對比,終端向協調器單播這種方式能最有效的實現整個過程.在設計過程中,addrMode=Addr16Bit,就是將終端節點的組網模式設定為單播;shortAddr= 0x0000,就是將設定終端向協調器發送數據,而不向其他節點發送數據.這樣,可以保證節點間不進行相互的通信,減少網絡中的運行壓力,同時可以減少數據冗余,使有限的資源達到高效利用[6-7].其中關鍵代碼如下:
GenericApp_TaskID=task_id;
GenericApp_NwkState=DEV_INIT;
GenericApp_TransID=0;
//初始化P13,因為P13是控制繼電器的io口
P1DIR|=0x08;//設置P13為輸出
P1_3=0;//初始化P13為低電平
//Device hardware initialization can be added here or in main()(Zmain.c).
//If the hardware is application specific-add it here.
//If the hardware is other parts of the device add it in main().
GenericApp_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;
GenericApp_DstAddr.endPoint=GENERICAPP_ENDPOINT;
GenericApp_DstAddr.addr.shortAddr=0xFFFF;.
向協調器發送一個字符“1”,協調器收到后會判斷下,是否是收到了這個1,如果是1,協調器模塊就可以開啟或關閉風扇,協調器收到“1”后,進行處理的代碼在協調器的“coordinator.c”中.這個函數就是模塊無線發送數據的函數,它的參數也比較多,如果發送的數據長度是1,發送的數據內容是字符“1”,就可以在上位機實現單獨控制風扇的開閉.
協調器收到終端發送來的數據后,交替讓P13高電平或者低電平,就能讓繼電器交替的吸合或者斷開了,這個函數是一個固定的函數,就是協議棧中接受無線數據并處理的函數只要接收到無線數據,就會都調用這個函數.這個函數的參數是一個指針,這個指針的作用就是指向了接收到的無線數據.至于“GENERICAPP_CLUSTERID”,其實是一個命令號,接受處理函數判斷是“GENERICAPP_CLUSTERID”的時候,就是進行繼電器開閉.上位機接收數據并顯示的函數“Genricapp_SendTheMessage”,將接收到的溫濕度數據轉換成字符集,通過整合,數模轉換將其呈現到上位機[8].
大棚溫濕度傳感器系統經過程序編譯完成后,在運行終端節點控制部分程序,預熱后,等待傳感器穩定后打開上位機,啟動后加載各接口信息,對數據進行解析,直接顯示在圖形界面上,系統能實現到當前溫度、濕度等信息的采集,并可以根據需要設置一定的閾值,超過一定的閾值后系統做出相應的處置.系統基于ZigBee,實現了無線傳感、無線接收的功能,相對于傳統的溫濕度系統,實現機制與實現的效能有了明顯的提高.
[1]李明亮,劉小龍.基于ARM11的智能家具設計與實現[M].北京:航空航天大學出版社,2013.
[2]黃鳳英,許策,俞志強,等.農業大棚自適應監測管理系統[J].南方農機,2017(1):25-28.
[3]戴娟,王魯南.無線節點組網技術[M].北京:人民郵電出版社,2015.
[4]胡自強.基于物聯網技術的溫室大棚智能控制系統設計研究[J].電子世界,2016(11):184-185.
[5]潘永雄.單片機原理與應用[M].北京:電子工業出版社,2013.
[6]劉艷,張偉.基于Arduino云的一氧化碳檢測報警系統的設計與實現[J].制造業自動化,2017,39(3):20-24.
[7]郭東平.基于單片機的大棚溫濕度監測報警裝置的研究與開發[D].咸陽:西北農林科技大學,2015.
[8]孫立峰.基于STC單片機塑料大棚溫濕度控制系統的設計與研究[D].阿拉爾:塔里木大學,2015.
Design and Implementation of a Temperature and Humidity Sensor System for Agricultural Greenhouse
PENG Jian,CHEN Xian-quan
(College of Information Science and Engineering,Shaoguan University,Shaoguan 512000,Guangdong,China)
Greenhouse temperature and humidity detection system is to ensure the growth of crops in the best environment,to achieve high yield of crops,and to improve agricultural income and agricultural production process monitoring system.In the process of agricultural production according to the needs of real-time monitoring of greenhouse temperature and humidity data,and according to the different growth environment of the crop,it set a different threshold so as to carry out the dynamic control of the greenhouse internal environment,and to realize the integration of data acquisition and control.The design uses TI CC2530 chip as the representative of the ZigBee SOC solution,using DHT11 as a temperature and humidity sensor to monitor the temperature and humidity data,which would be sent to the host computer through the wireless monitoring system of the ZigBee protocol to achieve good results.
temperature and humidity detection;ZigBee protocol;wireless transmission
TP391
A
1007-5348(2017)06-0016-05
(責任編輯:歐愷)
2017-04-01
廣東省普通高校特色創新項目(2014KTSCX171,2014WTSCX094);韶關市科技計劃項目(韶科[2016]44號).
彭劍(1974-),男,湖南雙峰人,韶關學院信息科學與工程學院副教授;研究方向:物聯網工程、農業供應鏈.