彭劍,陳賢權(quán)
(韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院,廣東韶關(guān)512000)
基于農(nóng)業(yè)大棚溫濕度傳感器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
彭劍,陳賢權(quán)
(韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院,廣東韶關(guān)512000)
大棚溫濕度檢測(cè)系統(tǒng)是以保證農(nóng)作物生長(zhǎng)在最佳環(huán)境、實(shí)現(xiàn)農(nóng)作物高產(chǎn)、提高農(nóng)業(yè)收入而對(duì)農(nóng)產(chǎn)品生產(chǎn)過程實(shí)施監(jiān)測(cè)的系統(tǒng).在農(nóng)業(yè)生產(chǎn)過程中可以根據(jù)需要實(shí)時(shí)監(jiān)測(cè)大棚內(nèi)部溫濕度的數(shù)據(jù),并能夠根據(jù)不同作物的生長(zhǎng)環(huán)境設(shè)定不同的閾值,對(duì)大棚內(nèi)部環(huán)境實(shí)行動(dòng)態(tài)控制,實(shí)現(xiàn)采集及控制一體化.設(shè)計(jì)采用以美國(guó)德州儀器TI公司CC2530芯片為代表的ZigBee SOC解決方案,使用DHT11作為溫濕度傳感器,監(jiān)測(cè)到的溫濕度數(shù)據(jù)通過ZigBee協(xié)議無線發(fā)送至上位機(jī)監(jiān)測(cè)系統(tǒng),取得了較理想的效果.
溫濕度檢測(cè);ZigBee協(xié)議;無線傳輸
我國(guó)是傳統(tǒng)的農(nóng)業(yè)大國(guó),民間歷來有“靠天吃飯”的說法,傳統(tǒng)農(nóng)業(yè)生產(chǎn)受制于天氣氣候等因素.農(nóng)業(yè)大棚能解決雨水陽(yáng)光的影響,但對(duì)溫濕度的控制卻只能在大棚里面放置溫度計(jì)、濕度計(jì),由人工定時(shí)定點(diǎn)到大棚里面采集數(shù)據(jù)進(jìn)行處置.這種方法大量耗費(fèi)人力物力,也無法保證處理的及時(shí)性,一有疏忽,可能造成農(nóng)作物嚴(yán)重?fù)p害.研發(fā)一套可以實(shí)時(shí)監(jiān)測(cè)環(huán)境溫濕度,并將數(shù)據(jù)通過無線傳輸?shù)揭苿?dòng)設(shè)備進(jìn)行處置的檢測(cè)系統(tǒng)十分必要.
發(fā)達(dá)國(guó)家在農(nóng)業(yè)環(huán)境監(jiān)測(cè)方面走在我國(guó)前面.以色列的農(nóng)業(yè)大棚技術(shù)包含著從播種、灌溉、監(jiān)控、采摘一體的智能農(nóng)業(yè)系統(tǒng),為沙漠之舟的以色列創(chuàng)造了世界奇跡.美國(guó)是最早將計(jì)算機(jī)應(yīng)用于農(nóng)業(yè)大棚溫室監(jiān)控的國(guó)家之一,擁有發(fā)達(dá)的設(shè)施栽培技術(shù),綜合環(huán)境控制技術(shù)水平也非常高,能實(shí)現(xiàn)對(duì)溫室環(huán)境進(jìn)行監(jiān)測(cè)并控制相應(yīng)的設(shè)備進(jìn)行處置.比如以花卉溫室為例,溫室內(nèi)監(jiān)控項(xiàng)目包括室內(nèi)水溫、氣溫、土壤溫度、管道溫度、鍋爐溫度、保溫幕狀況、相對(duì)空氣濕度、泵的工作狀況、通窗狀況、CO2濃度、ECO調(diào)節(jié)池與回流管數(shù)值、pH調(diào)節(jié)池與回流管數(shù)值;室外監(jiān)控項(xiàng)目包括太陽(yáng)輻射強(qiáng)度、大氣溫度、相對(duì)濕度、風(fēng)向風(fēng)速等.系統(tǒng)的應(yīng)用為種植者帶來了許多經(jīng)濟(jì)效益,提高了決策水平,減輕了技術(shù)管理工作量,同時(shí)也為種植帶來了很大便利[1].
國(guó)內(nèi)關(guān)于溫濕度監(jiān)測(cè)技術(shù)的研究與應(yīng)用始于20世紀(jì)80年代末.當(dāng)時(shí)我國(guó)的自控技術(shù)人員吸收發(fā)達(dá)國(guó)家溫度測(cè)控技術(shù)基礎(chǔ),不斷消化吸收,逐步將監(jiān)測(cè)設(shè)備與計(jì)算機(jī)應(yīng)用結(jié)合起來,在技術(shù)上,開始以單片機(jī)控制的單參數(shù)單回路系統(tǒng)比較多,一段時(shí)期,沒有實(shí)現(xiàn)真正意義上的多參數(shù)綜合控制系統(tǒng).隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,單片機(jī)技術(shù)不斷升級(jí),我國(guó)逐步將工業(yè)應(yīng)用領(lǐng)域的監(jiān)控技術(shù)應(yīng)用于農(nóng)業(yè)生產(chǎn),開始不斷出現(xiàn)一些新的技術(shù)和新的解決方案.
1.1 問題描述
基于目前市場(chǎng)應(yīng)用狀況,大棚監(jiān)測(cè)數(shù)據(jù)采集通常有兩種:第一種是采用“人工+儀器”的方法,即根據(jù)大棚具體作物及位置,科學(xué)地在每個(gè)固定時(shí)間段由工作人員到實(shí)地讀取放置在大棚里的監(jiān)測(cè)數(shù)據(jù),這種方法對(duì)人工十分的依賴,較實(shí)用且能確保數(shù)據(jù)的可靠性,但人力成本較高,逐步會(huì)被機(jī)器取代.第二種是相對(duì)先進(jìn)的方法,即通過在農(nóng)業(yè)大棚里面放置相關(guān)傳感器,然后將數(shù)據(jù)通過線纜傳遞到控制中心,由專人控制讀取并存儲(chǔ)這些數(shù)據(jù).相對(duì)于第一種方法,這種方法的確較先進(jìn),但若使用這種方法,就需要在大棚設(shè)計(jì)的時(shí)候考慮好相關(guān)線纜的布線,實(shí)用性依然不高,通常會(huì)出現(xiàn)線纜壽命低,布線復(fù)雜,運(yùn)維成本高等不足[2].
1.2 模型設(shè)計(jì)
農(nóng)業(yè)大棚溫濕度傳感器系統(tǒng)設(shè)計(jì)著重在數(shù)據(jù)傳輸和無線控制兩方面入手.隨著網(wǎng)絡(luò)科技的快速發(fā)展,在工程建設(shè)的過程中,優(yōu)先考慮無線傳輸.無線傳輸無需考慮布線問題,結(jié)合能效問題以及維護(hù)成本,采用時(shí)下較為成熟的技術(shù)——ZigBee無線通信技術(shù).同時(shí)在對(duì)上位機(jī)開發(fā)的處理中,為大棚的溫濕度變化幅度設(shè)限值,當(dāng)超過所設(shè)標(biāo)準(zhǔn)值時(shí),系統(tǒng)可以對(duì)大棚環(huán)境進(jìn)行預(yù)處理,并提示工作人員作出相應(yīng)處理,滿足生產(chǎn)要求.
1.3 硬件設(shè)計(jì)
(1)電子模板.采用樹莓派(Raspberry Pi)電子制作模板.它將除了存儲(chǔ)之外的功能都整合在撲克大小的主板上,采用的制作標(biāo)準(zhǔn)多是Arduino標(biāo)準(zhǔn),使用了Broadcom BCM2837處理器,是ARM Cortex-A53 1.2 GHz四核心64位處理器,并且增加了圖形處理器GPU部分,是VideoCore IV,樹莓派3也加入了BCM43438芯片,內(nèi)置有802.11n無線網(wǎng)絡(luò)與Bluetooth兩個(gè)新功能,速度是900 MHz、64 bit,并擁有1 GB的LPDDR2內(nèi)存.
(2)溫濕度采集節(jié)點(diǎn),型號(hào):CC2530、DHT111.CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM和許多其它強(qiáng)大的功能.CC2530有4種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256 KB的閃存.CC2530具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng).
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接.產(chǎn)品為4針單排引腳封裝,連接方便[3].
1.4 系統(tǒng)功能模塊設(shè)計(jì)
(1)系統(tǒng)功能設(shè)計(jì).打開協(xié)調(diào)器及終端后,協(xié)調(diào)器以廣播的方式與周圍的終端建立連接,終端則以向協(xié)調(diào)器單播的形式加入網(wǎng)絡(luò),一旦網(wǎng)絡(luò)成功鏈接,終端則會(huì)周期性的將DHT11檢測(cè)到的數(shù)據(jù)無線附送給協(xié)調(diào)器函數(shù)以及溫濕度數(shù)據(jù),電腦端的上位機(jī)通過串口將數(shù)據(jù)從界面程序重顯示出來(見圖1).
(2)系統(tǒng)功能模塊.系統(tǒng)設(shè)計(jì)采用“單片機(jī)+ZigBee”的組合,主流單片機(jī)包括CPU、4 KB容量的RAM、128 KB容量的ROM、ADC/DAC、SPI、I2C、ISP、IAP;系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,實(shí)現(xiàn)模塊化;而ZigBee技術(shù)具有明顯的實(shí)用優(yōu)勢(shì),特點(diǎn)主要表現(xiàn)在:低功耗,低成本,時(shí)延短,傳輸范圍短(10~75 m),網(wǎng)絡(luò)容量大以及數(shù)據(jù)傳輸速率低;更為重要的是,在安全方面,其提供了基于循環(huán)冗余校驗(yàn)的數(shù)據(jù)包完整性檢查,支持鑒權(quán)和認(rèn)證,同時(shí)采用高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)進(jìn)行加密,保證各個(gè)應(yīng)用可以靈活確定其安全屬性.整個(gè)系統(tǒng)設(shè)計(jì)布局簡(jiǎn)潔,在保證高效率的同時(shí)可以輕松實(shí)現(xiàn)對(duì)系統(tǒng)的移植和優(yōu)化.
(3)協(xié)調(diào)器與終端流程圖設(shè)計(jì).系統(tǒng)總體設(shè)計(jì)包括節(jié)點(diǎn)的自適應(yīng)鏈接,數(shù)據(jù)的檢測(cè)與接收,數(shù)據(jù)的加工與顯示以及控制數(shù)據(jù)的發(fā)送.當(dāng)系統(tǒng)被打開之后,由于Zigbee協(xié)議的優(yōu)越性,協(xié)調(diào)器跟終端可以實(shí)現(xiàn)自接網(wǎng),一旦節(jié)點(diǎn)接入網(wǎng)絡(luò),協(xié)調(diào)器將會(huì)通過發(fā)送控制數(shù)據(jù)給予終端,終端通過將控制數(shù)據(jù)解析從而響應(yīng)協(xié)調(diào)器是否采集數(shù)據(jù)及發(fā)送,如此循環(huán),實(shí)現(xiàn)實(shí)時(shí)無線傳輸數(shù)據(jù)[4].
圖1 系統(tǒng)功能流程圖
(4)數(shù)據(jù)庫(kù)設(shè)計(jì).設(shè)計(jì)對(duì)數(shù)據(jù)記錄方面的要求不高,只需滿足可以傳輸數(shù)據(jù)到服務(wù)器記錄即可.對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)這一模塊設(shè)計(jì)相對(duì)簡(jiǎn)單,只需一個(gè)數(shù)據(jù)庫(kù),一個(gè)表,基本表的設(shè)計(jì)見表1.
表1 數(shù)據(jù)庫(kù)設(shè)計(jì)
2.1 界面設(shè)計(jì)
上位機(jī)界面UI(User Interface)的設(shè)計(jì)是衡量系統(tǒng)“外在美”的因素之一,好的界面可以使用戶眼前一亮,提高生產(chǎn)體驗(yàn).界面采用極簡(jiǎn)設(shè)計(jì),將需要的內(nèi)容最大程度以最簡(jiǎn)的方式呈現(xiàn),做到用戶在看到界面的一秒之后就可以上手操作,無需花費(fèi)更多的時(shí)間熟悉界面(見圖2).
當(dāng)開啟系統(tǒng)時(shí),上位機(jī)QT程序通過初始化函數(shù)實(shí)現(xiàn)界面的重繪工作,通過initForm()函數(shù)將窗體標(biāo)題隱藏,在windowSystemMenuHint里面已經(jīng)對(duì)窗體的格式以及樣式做了相關(guān)調(diào)整,使其打開之后在初始化過程中對(duì)窗體各個(gè)控件的位置擺放做出相應(yīng)的調(diào)整,使整個(gè)界面簡(jiǎn)潔,容易理解[5].其中關(guān)鍵代碼如下:
圖2 上位機(jī)界面圖
ui->tbnHome->setText(tr("首頁(yè)"));
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 輸入輸出設(shè)計(jì)
提高系統(tǒng)效率的重要步驟就是簡(jiǎn)化流程、優(yōu)化算法,筆者基于實(shí)際操作環(huán)境,著力做到只要按下電源開關(guān),系統(tǒng)就會(huì)自主運(yùn)行,最大限度的減少工作人員的工作量.當(dāng)然,關(guān)鍵信息一個(gè)也不會(huì)少的顯現(xiàn)在屏幕上,只要有需要,隨時(shí)就可以了解到環(huán)境的實(shí)時(shí)數(shù)據(jù).其中關(guān)鍵代碼如下:
if(keys&HAL_KEY_SW_6)
{AF_DataRequest(&GenericApp_DstAddr,&GenericApp_epDesc,
GENERICAPP_CLUSTERID,
1,//這個(gè)參數(shù)就是發(fā)送的數(shù)據(jù)的長(zhǎng)度
"1",//這個(gè)參數(shù)就是發(fā)送的數(shù)據(jù)的內(nèi)容
&GenericApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS);.
Zigbee組網(wǎng)的方式一般有3種:廣播、單播以及組播.基于設(shè)計(jì)自身的考量,協(xié)調(diào)器采用廣播的方式,addrMode=AddrBroadcast就是設(shè)置廣播的方式實(shí)現(xiàn)組網(wǎng),shortaddr=0xFFFF就是向所有節(jié)點(diǎn)發(fā)送數(shù)據(jù),使附近的終端節(jié)點(diǎn)可以加入該網(wǎng)絡(luò),為系統(tǒng)的正常工作做充分準(zhǔn)備.
終端節(jié)點(diǎn)采取何種方式并網(wǎng)是比較重要的方面.通過實(shí)驗(yàn)對(duì)比,終端向協(xié)調(diào)器單播這種方式能最有效的實(shí)現(xiàn)整個(gè)過程.在設(shè)計(jì)過程中,addrMode=Addr16Bit,就是將終端節(jié)點(diǎn)的組網(wǎng)模式設(shè)定為單播;shortAddr= 0x0000,就是將設(shè)定終端向協(xié)調(diào)器發(fā)送數(shù)據(jù),而不向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù).這樣,可以保證節(jié)點(diǎn)間不進(jìn)行相互的通信,減少網(wǎng)絡(luò)中的運(yùn)行壓力,同時(shí)可以減少數(shù)據(jù)冗余,使有限的資源達(dá)到高效利用[6-7].其中關(guān)鍵代碼如下:
GenericApp_TaskID=task_id;
GenericApp_NwkState=DEV_INIT;
GenericApp_TransID=0;
//初始化P13,因?yàn)镻13是控制繼電器的io口
P1DIR|=0x08;//設(shè)置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;.
向協(xié)調(diào)器發(fā)送一個(gè)字符“1”,協(xié)調(diào)器收到后會(huì)判斷下,是否是收到了這個(gè)1,如果是1,協(xié)調(diào)器模塊就可以開啟或關(guān)閉風(fēng)扇,協(xié)調(diào)器收到“1”后,進(jìn)行處理的代碼在協(xié)調(diào)器的“coordinator.c”中.這個(gè)函數(shù)就是模塊無線發(fā)送數(shù)據(jù)的函數(shù),它的參數(shù)也比較多,如果發(fā)送的數(shù)據(jù)長(zhǎng)度是1,發(fā)送的數(shù)據(jù)內(nèi)容是字符“1”,就可以在上位機(jī)實(shí)現(xiàn)單獨(dú)控制風(fēng)扇的開閉.
協(xié)調(diào)器收到終端發(fā)送來的數(shù)據(jù)后,交替讓P13高電平或者低電平,就能讓繼電器交替的吸合或者斷開了,這個(gè)函數(shù)是一個(gè)固定的函數(shù),就是協(xié)議棧中接受無線數(shù)據(jù)并處理的函數(shù)只要接收到無線數(shù)據(jù),就會(huì)都調(diào)用這個(gè)函數(shù).這個(gè)函數(shù)的參數(shù)是一個(gè)指針,這個(gè)指針的作用就是指向了接收到的無線數(shù)據(jù).至于“GENERICAPP_CLUSTERID”,其實(shí)是一個(gè)命令號(hào),接受處理函數(shù)判斷是“GENERICAPP_CLUSTERID”的時(shí)候,就是進(jìn)行繼電器開閉.上位機(jī)接收數(shù)據(jù)并顯示的函數(shù)“Genricapp_SendTheMessage”,將接收到的溫濕度數(shù)據(jù)轉(zhuǎn)換成字符集,通過整合,數(shù)模轉(zhuǎn)換將其呈現(xiàn)到上位機(jī)[8].
大棚溫濕度傳感器系統(tǒng)經(jīng)過程序編譯完成后,在運(yùn)行終端節(jié)點(diǎn)控制部分程序,預(yù)熱后,等待傳感器穩(wěn)定后打開上位機(jī),啟動(dòng)后加載各接口信息,對(duì)數(shù)據(jù)進(jìn)行解析,直接顯示在圖形界面上,系統(tǒng)能實(shí)現(xiàn)到當(dāng)前溫度、濕度等信息的采集,并可以根據(jù)需要設(shè)置一定的閾值,超過一定的閾值后系統(tǒng)做出相應(yīng)的處置.系統(tǒng)基于ZigBee,實(shí)現(xiàn)了無線傳感、無線接收的功能,相對(duì)于傳統(tǒng)的溫濕度系統(tǒng),實(shí)現(xiàn)機(jī)制與實(shí)現(xiàn)的效能有了明顯的提高.
[1]李明亮,劉小龍.基于ARM11的智能家具設(shè)計(jì)與實(shí)現(xiàn)[M].北京:航空航天大學(xué)出版社,2013.
[2]黃鳳英,許策,俞志強(qiáng),等.農(nóng)業(yè)大棚自適應(yīng)監(jiān)測(cè)管理系統(tǒng)[J].南方農(nóng)機(jī),2017(1):25-28.
[3]戴娟,王魯南.無線節(jié)點(diǎn)組網(wǎng)技術(shù)[M].北京:人民郵電出版社,2015.
[4]胡自強(qiáng).基于物聯(lián)網(wǎng)技術(shù)的溫室大棚智能控制系統(tǒng)設(shè)計(jì)研究[J].電子世界,2016(11):184-185.
[5]潘永雄.單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2013.
[6]劉艷,張偉.基于Arduino云的一氧化碳檢測(cè)報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].制造業(yè)自動(dòng)化,2017,39(3):20-24.
[7]郭東平.基于單片機(jī)的大棚溫濕度監(jiān)測(cè)報(bào)警裝置的研究與開發(fā)[D].咸陽(yáng):西北農(nóng)林科技大學(xué),2015.
[8]孫立峰.基于STC單片機(jī)塑料大棚溫濕度控制系統(tǒng)的設(shè)計(jì)與研究[D].阿拉爾:塔里木大學(xué),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
(責(zé)任編輯:歐愷)
2017-04-01
廣東省普通高校特色創(chuàng)新項(xiàng)目(2014KTSCX171,2014WTSCX094);韶關(guān)市科技計(jì)劃項(xiàng)目(韶科[2016]44號(hào)).
彭劍(1974-),男,湖南雙峰人,韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院副教授;研究方向:物聯(lián)網(wǎng)工程、農(nóng)業(yè)供應(yīng)鏈.