薛正寬,吳 晗,時(shí)寬樂
(山東石油化工學(xué)院,山東 東營 257061)
中國是一個(gè)農(nóng)業(yè)大國,農(nóng)業(yè)經(jīng)濟(jì)占有重要地位[1]。而中國人口多,耕地少,氣候和土壤條件差異較大,傳統(tǒng)生物培養(yǎng)實(shí)驗(yàn)分散,周期長,成本高。利用生物培育箱來進(jìn)行物種的培育實(shí)驗(yàn),不僅可以通過多個(gè)實(shí)驗(yàn)箱建立多個(gè)實(shí)驗(yàn)環(huán)境同時(shí)進(jìn)行物種的培育實(shí)驗(yàn)并進(jìn)行新物種的橫向?qū)Ρ龋源蠓瓤s減實(shí)驗(yàn)周期,而且可以通過實(shí)現(xiàn)實(shí)驗(yàn)箱的智能化,減少實(shí)驗(yàn)人員的精力消耗并提升實(shí)驗(yàn)效率[2]。但市面上的生物培育箱智能程度低,可控因素少,而智能程度高的培育箱價(jià)格過于高昂。近年來,互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù)飛速發(fā)展,并被運(yùn)用到農(nóng)業(yè)生產(chǎn)中,數(shù)字農(nóng)業(yè)和智慧農(nóng)業(yè)得以迅猛發(fā)展[3-4]。本文旨在將多傳感器、發(fā)生器、控制器嵌入生物培育箱內(nèi),通過Arduino及物聯(lián)網(wǎng)平臺(tái)設(shè)計(jì)一種能夠?qū)崿F(xiàn)細(xì)致化、智能化管理的智能生物培養(yǎng)系統(tǒng)。在提高智能化的同時(shí),造價(jià)低廉,適用范圍廣泛,從而使生物的培優(yōu)和育種實(shí)驗(yàn)周期短、投入小、效率高,促進(jìn)中國農(nóng)業(yè)智能化生產(chǎn)的進(jìn)程。
在農(nóng)業(yè)生產(chǎn)中,影響農(nóng)作物生長的環(huán)境因素主要有溫度、光照強(qiáng)度、氣體濃度、土壤濕度等等,想要通過人工培養(yǎng)的方式對(duì)上述條件進(jìn)行精確控制是非常困難的。本文提出的基于Arduino的智能生物培養(yǎng)系統(tǒng)則具有以下功能:①箱體內(nèi)溫度的監(jiān)測及調(diào)控;②箱體內(nèi)CO2濃度的監(jiān)測及調(diào)控;③箱體內(nèi)光照強(qiáng)度的檢測及調(diào)控;④箱體內(nèi)土壤濕度的檢測及調(diào)控;⑤將收集的數(shù)據(jù)傳輸?shù)桨⒗镌破脚_(tái)顯示;⑥提供手機(jī)APP,用于監(jiān)視和調(diào)控環(huán)境數(shù)據(jù)。
Arduino是一款使用簡單,集硬件、軟件環(huán)境于一身的開源開發(fā)平臺(tái),旨在為智能硬件愛好者、交互藝術(shù)設(shè)計(jì)師和電子軟件工程師提供簡單易用的開發(fā)體驗(yàn)。Arduino采用知識(shí)共享(CC)許可證,任何人都可以制作電路板的副本,并且擁有完善的軟件開發(fā)資源。
本文設(shè)計(jì)的智能生物培養(yǎng)系統(tǒng)采用Arduino UNO開發(fā)板,采用atmega328p微處理器,工作電壓5 V,輸入電壓7~12 V,數(shù)字輸入/輸出引腳14個(gè)(PWM輸出6個(gè)),PWM數(shù)字I/O引腳6個(gè),模擬輸入引腳6個(gè),閃存32 KB。
1.3.1 BME280傳感器模塊
BME280是一種環(huán)境傳感器,可以感應(yīng)環(huán)境溫度、濕度和大氣壓力。它支持I2C和SPI接口,兼容3.3 V/5 V電平,完美適配Arduino UNO開發(fā)板;尺寸小,功耗低、精度高且穩(wěn)定性好,在本系統(tǒng)中主要用于監(jiān)測箱體內(nèi)的溫度和濕度。
1.3.2 CCS811傳感器模塊
CCS811是一種數(shù)字氣體傳感器,集成了CCS811傳感器和8位MCU,用來檢測CO2和各種揮發(fā)性有機(jī)化合物氣體。其尺寸小,功耗低,靈敏度高,采用智能算法計(jì)算TVOC/eCO2數(shù)值,輸出I2C信號(hào),直接與主系統(tǒng)通信,適用于環(huán)境監(jiān)測、物聯(lián)網(wǎng)等應(yīng)用場景。在本系統(tǒng)中主要用于監(jiān)測箱體內(nèi)的CO2濃度。
1.3.3 土壤濕度傳感器模塊
土壤水分傳感器用于判斷土壤的含水量,從而確定土壤的含水量。當(dāng)土壤濕度傳感器插入土壤時(shí),由于土壤含水量不同,土壤的阻力值也不同。三極管的底座提供大小不同的傳導(dǎo)電流。三極管集電極到發(fā)射極的傳導(dǎo)電流由基極控制,并在發(fā)射極的下拉電阻后轉(zhuǎn)換為電壓。在本系統(tǒng)中主要用于監(jiān)測箱體內(nèi)的土壤濕度。
1.3.4 光敏電阻模塊
光敏電阻器用于檢測光照強(qiáng)度。其工作原理是基于內(nèi)部光電效應(yīng),光線越強(qiáng),電阻值越低。隨著光強(qiáng)的增加,電阻值迅速減小,亮電阻值可小于1 kΩ。光刻膠對(duì)光非常敏感。當(dāng)沒有光線時(shí),它顯示高電阻狀態(tài),暗電阻通常高達(dá)1.5 MΩ。在本系統(tǒng)中主要用于監(jiān)測箱體內(nèi)的光照強(qiáng)度。
1.3.5 繼電器模塊
本系統(tǒng)應(yīng)用的執(zhí)行器主要由水泵、排氣風(fēng)扇、加熱板組成。土壤濕度低時(shí)水泵將進(jìn)行工作,CO2濃度高時(shí)排氣風(fēng)扇將會(huì)進(jìn)行工作;箱體內(nèi)溫度較低時(shí),加熱板將進(jìn)行工作。
1.3.6 Wi-Fi模塊——EMW3080模塊
本系統(tǒng)采用EMW3080嵌入式Wi-Fi模塊,最高主頻133 MHz,內(nèi)置256 KB SRAM,2MFL ASH,3.3 V單電源供電。箱體內(nèi)的數(shù)據(jù)將通過Wi-Fi模塊把數(shù)據(jù)傳輸?shù)桨⒗镌莆锫?lián)網(wǎng)平臺(tái),數(shù)據(jù)將顯示在Web制作的網(wǎng)頁當(dāng)中。用戶也可使用Wi-Fi模塊連接手機(jī)APP,通過手機(jī)APP對(duì)箱體內(nèi)的環(huán)境數(shù)據(jù)進(jìn)行監(jiān)控。各模塊控制圖如圖1所示。
圖1 各模塊控制圖
生物培育箱系統(tǒng)可以實(shí)時(shí)監(jiān)控箱體內(nèi)的環(huán)境因素,系統(tǒng)框架如圖2所示。本系統(tǒng)由感知層、網(wǎng)絡(luò)層、平臺(tái)層和應(yīng)用層組成。感知層利用傳感器對(duì)箱內(nèi)的各種環(huán)境因素進(jìn)行識(shí)別和收集;網(wǎng)絡(luò)層利用Arduino UNO進(jìn)行傳感器數(shù)據(jù)的采集、處理及動(dòng)作邏輯的執(zhí)行,由Wi-Fi模塊通過AT指令將數(shù)據(jù)通過公網(wǎng)傳輸?shù)皆破脚_(tái)端;平臺(tái)層負(fù)責(zé)數(shù)據(jù)的鑒權(quán)、接入和轉(zhuǎn)發(fā),利用阿里云的物聯(lián)網(wǎng)平臺(tái)將數(shù)據(jù)可視化及實(shí)現(xiàn)各組件之間的聯(lián)動(dòng);應(yīng)用層負(fù)責(zé)結(jié)合具體的應(yīng)用需求,在云平臺(tái)上對(duì)數(shù)據(jù)進(jìn)行計(jì)算、處理、挖掘,實(shí)現(xiàn)智能化。
圖2 系統(tǒng)框架圖
在本系統(tǒng)中,利用Arduino UNO作為感知節(jié)點(diǎn)的核心部分,確保數(shù)據(jù)的準(zhǔn)確及可靠,通過Arduino采集不同接口形式的傳感數(shù)據(jù),收集培育箱中的影響生物培育的各環(huán)境因素,并將采集到的數(shù)據(jù)上傳到主控板上,由Arduino模塊進(jìn)行采集。數(shù)據(jù)采集后,由Wi-Fi模塊通過APP進(jìn)行傳輸?shù)?,通過公網(wǎng)傳送到云平臺(tái)端,實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)、處理等。云端將控制信號(hào)發(fā)回給主控板,Arduino模塊根據(jù)控制信號(hào)對(duì)執(zhí)行器進(jìn)行控制,以達(dá)到控制箱體內(nèi)環(huán)境的目的。
該系統(tǒng)的編程是在Arduino IDE編程軟件上進(jìn)行的。系統(tǒng)的編程分為4個(gè)部分:數(shù)據(jù)采集、邏輯控制、數(shù)據(jù)云和命令響應(yīng)。數(shù)據(jù)采集部分要將各種傳感器給出的參數(shù)轉(zhuǎn)化為直接可用的數(shù)字量;邏輯控制部分根據(jù)采集到的數(shù)據(jù)得到執(zhí)行器的動(dòng)作;數(shù)據(jù)云部分將傳感器的狀態(tài)及執(zhí)行器的狀態(tài)上傳到物聯(lián)網(wǎng)平臺(tái),通過物聯(lián)網(wǎng)對(duì)數(shù)據(jù)進(jìn)行分析,若采集到的環(huán)境數(shù)據(jù)未達(dá)到設(shè)定的閾值,則通過物聯(lián)網(wǎng)平臺(tái)向控制板下發(fā)控制指令,通過指令響應(yīng)這部分代碼對(duì)控制指令進(jìn)行解析并響應(yīng)。總體上本系統(tǒng)的程序應(yīng)具有以下功能:①土壤濕度及與水泵的聯(lián)動(dòng)。本編程部分是測量培育箱內(nèi)的土壤濕度,并根據(jù)濕度進(jìn)行與水泵的聯(lián)動(dòng)。②溫度傳感器與制冷器和加熱片的聯(lián)動(dòng)。本編程部分是測量培育箱內(nèi)的溫度,并根據(jù)溫度進(jìn)行與制冷器和加熱片的聯(lián)動(dòng)。③光照傳感器與LED燈的聯(lián)動(dòng)。本編程部分是測量培育箱內(nèi)的光照強(qiáng)度,并根據(jù)光照強(qiáng)度進(jìn)行與LED燈的聯(lián)動(dòng)。④二氧化碳濃度傳感器與風(fēng)扇的聯(lián)動(dòng)。本編程部分是測量培育箱內(nèi)的CO2濃度,并根據(jù)CO2濃度進(jìn)行與風(fēng)扇的聯(lián)動(dòng)。⑤數(shù)據(jù)的上傳。本編程部分是通過AT指令將實(shí)驗(yàn)箱的數(shù)據(jù)上傳到阿里云物聯(lián)網(wǎng)平臺(tái)。⑥對(duì)控制信息的響應(yīng)。本編程部分對(duì)阿里云物聯(lián)網(wǎng)平臺(tái)下發(fā)的控制信息進(jìn)行分析與響應(yīng)。⑦運(yùn)行狀態(tài)響應(yīng)。本編程部分通過蜂鳴器展現(xiàn)程序當(dāng)前運(yùn)行的狀態(tài),響1聲為連接電源,連續(xù)響2聲為連上Wi-Fi,連續(xù)響3聲為連接到阿里云物聯(lián)網(wǎng)平臺(tái)。
系統(tǒng)總體流程圖如圖3所示。
圖3 系統(tǒng)總體流程圖
在Arduino IDE編程軟件上編寫完成后,連接電源,根據(jù)蜂鳴器確定設(shè)備已經(jīng)連接到阿里云物聯(lián)網(wǎng)平臺(tái),打開物聯(lián)網(wǎng)平臺(tái)進(jìn)行測試。
溫度模塊測試。BME280環(huán)境檢測傳感器接數(shù)字端口A0,當(dāng)溫度高于35℃時(shí),接口2的繼電器開啟,空調(diào)開始運(yùn)行,來達(dá)到降低實(shí)驗(yàn)箱溫度的目的;當(dāng)溫度低于35℃時(shí),接口2的繼電器關(guān)閉,空調(diào)停止運(yùn)行;當(dāng)溫度低于20℃時(shí),接口10的繼電器開啟,加熱片開始運(yùn)行,來達(dá)到提高溫度的目的。
濕度模塊測試。土壤濕度傳感器接數(shù)字端口A1,當(dāng)濕度傳感器數(shù)值高于900時(shí),接口4的繼電器開啟,水泵開始運(yùn)行,來達(dá)到增加實(shí)驗(yàn)箱土壤濕度的目的;當(dāng)濕度傳感器數(shù)值低于400時(shí),接口4的繼電器關(guān)閉,水泵停止運(yùn)行。
光照模塊測試。光敏傳感器接數(shù)字端口A2,當(dāng)光敏傳感器數(shù)值高于400時(shí),接口7、8、9的繼電器開啟,LED燈開始運(yùn)行,來達(dá)到提高實(shí)驗(yàn)箱光照強(qiáng)度的目的;當(dāng)光敏傳感器數(shù)值低于200時(shí),接口4的繼電器關(guān)閉,LED燈停止運(yùn)行。
二氧化碳模塊測試。CCS811二氧化碳傳感器接數(shù)字端口A0,當(dāng)CO2濃度數(shù)值低于800時(shí),接口11的繼電器開啟,換氣風(fēng)扇開始運(yùn)行,達(dá)到降低CO2濃度的目的;當(dāng)CO2濃度數(shù)值高于900時(shí),關(guān)閉風(fēng)扇。
Web端及APP端對(duì)箱體內(nèi)數(shù)據(jù)信息的顯示。使用打火機(jī)靠近BME280環(huán)境檢測傳感器,APP端溫度欄顯示的數(shù)值提示,向土壤濕度傳感器澆水,APP端濕度欄顯示的數(shù)值降低,向CCS811二氧化碳傳感器呼出一口氣,APP端CO2濃度欄顯示的數(shù)值降低,打開手電筒指向光敏傳感器,APP端光照強(qiáng)度欄顯示的數(shù)值降低。
本文研究基于Arduino的智能生物培育箱,測試過程中通過阿里云物聯(lián)網(wǎng)平臺(tái)對(duì)采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。測試結(jié)果表明,此系統(tǒng)可以對(duì)培育箱的環(huán)境數(shù)據(jù)進(jìn)行準(zhǔn)確的接收、顯示及處理。Arduino主控板能夠正常接收并執(zhí)行云平臺(tái)下發(fā)的指令,通過設(shè)定數(shù)據(jù)采集頻率,云平臺(tái)也會(huì)接收到培育箱內(nèi)最新的環(huán)境因素,用戶可以在Web及APP上隨時(shí)查看培育箱內(nèi)最新的環(huán)境因素,并對(duì)環(huán)境進(jìn)行控制。
本文通過Arduino及物聯(lián)網(wǎng)技術(shù),設(shè)計(jì)了一種智能生物培育系統(tǒng),利用生物培育所需的環(huán)境模型,實(shí)現(xiàn)對(duì)箱內(nèi)環(huán)境的實(shí)時(shí)采集、顯示和智能控制,從而保證生物培育實(shí)驗(yàn)的高效進(jìn)行,并確定生物最佳培育環(huán)境運(yùn)用于實(shí)踐中,在提高培養(yǎng)效率的同時(shí)降低成本及工作強(qiáng)度。本系統(tǒng)具有數(shù)據(jù)穩(wěn)定性強(qiáng)、造價(jià)成本低、通訊距離遠(yuǎn)等特點(diǎn),提高生物培優(yōu)育種效率的同時(shí)降低成本及工作強(qiáng)度,對(duì)于智慧農(nóng)業(yè)有一定的推動(dòng)作用。