秦迎春
(廣東白云學(xué)院電氣與信息工程學(xué)院 廣東 廣州 510450)
?;~(yú)塘系統(tǒng)作為一個(gè)特殊的復(fù)合農(nóng)業(yè)生態(tài)系統(tǒng),逐漸受到更多人的重視。傳統(tǒng)的桑基魚(yú)塘已不再適應(yīng)國(guó)家現(xiàn)代化戰(zhàn)略的發(fā)展,全球新一輪科技革命、產(chǎn)業(yè)變革方興未艾,智聯(lián)網(wǎng)、云計(jì)算等新一代信息技術(shù)加快應(yīng)用,深刻改變了生產(chǎn)生活方式,引發(fā)經(jīng)濟(jì)格局和產(chǎn)業(yè)形態(tài)深度變革,形成發(fā)展數(shù)字經(jīng)濟(jì)的普遍共識(shí)。大數(shù)據(jù)成為基礎(chǔ)性戰(zhàn)略資源,新一代人工智能成為創(chuàng)新引擎。本文設(shè)計(jì)可將傳統(tǒng)的?;~(yú)塘農(nóng)業(yè)向著智慧農(nóng)業(yè)、數(shù)字農(nóng)業(yè)轉(zhuǎn)型,其順應(yīng)國(guó)家發(fā)展戰(zhàn)略趨勢(shì)。隨著智能技術(shù)的發(fā)展,舊桑基魚(yú)塘改造的監(jiān)測(cè)系統(tǒng)設(shè)計(jì)還將實(shí)現(xiàn)更多的智能應(yīng)用,以提高產(chǎn)品增值性,增加其實(shí)用性[1],基塘改造也會(huì)成為農(nóng)業(yè)生產(chǎn)的一個(gè)發(fā)展熱點(diǎn)。。
本文以Arduino UNO開(kāi)發(fā)板為核心,將溫度、濕度、二氧化碳(CO2)、溶解氧濃度通過(guò)傳感器采集數(shù)據(jù)發(fā)送到微處理器上,并對(duì)數(shù)據(jù)進(jìn)行分析處理顯示到LCD屏幕上,當(dāng)采集的數(shù)據(jù)超標(biāo)時(shí)發(fā)出報(bào)警信號(hào)(圖1)。該設(shè)計(jì)還可以使用智能手機(jī)與ESP8266Wi-Fi模塊,通過(guò)無(wú)線通信技術(shù)(Wi-Fi)連接機(jī)智云平臺(tái)服務(wù)器,將數(shù)據(jù)傳輸給硬件主控電路,下發(fā)控制指令實(shí)現(xiàn)手機(jī)端遠(yuǎn)程監(jiān)測(cè),從而達(dá)到智能監(jiān)測(cè)?;~(yú)塘的目的[2]。
圖1 系統(tǒng)設(shè)計(jì)圖
硬件電路由Arduino UNO R3開(kāi)發(fā)板、溫濕度傳感器模塊、數(shù)據(jù)采集模塊、溶解氧傳感器模塊、CO2傳感器、復(fù)位模塊、顯示模塊、ESP8266Wi-Fi通信模塊等組成。
Arduino UNO R3主控芯片穩(wěn)定可靠,且上傳程序也很簡(jiǎn)單,用串口線連接通用的USB2.0或USB3.0接口即可,同時(shí)也可以通過(guò)USB接口供電,這樣可以使得在上傳程序的同時(shí)不用考慮供電的問(wèn)題。Arduino UNO R3技術(shù)指標(biāo)見(jiàn)表1[3],可見(jiàn),輸入電壓最高為12 V,輸入電流為20 mA,普通充電寶和適配器就可以滿足,尺寸較小,方便安裝和排布,該芯片功能強(qiáng)大穩(wěn)定可靠。
表1 Arduino UNO R3技術(shù)指標(biāo)
采用防水DS18B20數(shù)字溫度傳感器進(jìn)行溫度的測(cè)量,其輸出的是數(shù)字信號(hào),具有體積小、硬件開(kāi)銷(xiāo)低,抗干擾能力強(qiáng),精度高等特點(diǎn)。DS18B20在與Arduino UNO R3連接時(shí)僅需要一條口線即可實(shí)現(xiàn)雙向通信,其的工作電壓為3.0~5.5 V。防水DS18B20數(shù)字溫度傳感器與Arduino UNO R3連接如圖2所示,可以看出,將紅色條帶連接至5 V,將黑色條帶接地,并將黃色條帶連接至Arduino UNO R3的數(shù)字引腳2,還需要從數(shù)據(jù)引腳到5 V處,并連接1個(gè)4.7 K上拉電阻。
圖2 防水DS18B20數(shù)字溫度傳感器與Arduino UNO R3的連接
采用SEN0114土壤濕度傳感器,用于檢測(cè)土壤的水分。當(dāng)土壤缺水時(shí),傳感器輸出值將減小,反之將增大。土壤濕度傳感器與Arduino UNO R3的連接,如圖3所示[4]。
圖3 土壤濕度傳感器與Arduino UNO R3的連接
采用Arduino UNO R3兼容的SEN0237溶解氧傳感器,用于測(cè)量水中的溶解氧含量,反映水質(zhì)狀況。俗話說(shuō),“養(yǎng)魚(yú)先養(yǎng)水,好水養(yǎng)好魚(yú)?!绷己玫乃|(zhì),對(duì)水生物非常重要,溶解氧就是反應(yīng)水質(zhì)好壞的重要參數(shù)之一。水中的溶解氧數(shù)值一旦過(guò)低,會(huì)造成水生物呼吸困難,并對(duì)其生存造成威脅。SEN0237溶解氧傳感器簡(jiǎn)單易用,兼容性強(qiáng),溶解氧電極為原電池型電極,無(wú)須極化時(shí)間隨用隨測(cè)。信號(hào)轉(zhuǎn)接板具有工作電壓寬、連線方便、即插即用等特點(diǎn),可方便地接入到現(xiàn)成的控制系統(tǒng)中使用,SEN0237溶解氧傳感器與Arduino UNO R3連接如圖4所示[5]。
圖4 SEN0237溶解氧傳感器與Arduino UNO R3連接
采用DFRobot新推出的高精度大量程紅外SEN0220為CO2傳感器,其有效量程可達(dá)0~50 000 ppm。該傳感器是通用、小型傳感器,利用非色散紅外(non-dispersive infraRed,NDIR)原理對(duì)空氣中存在的CO2進(jìn)行探測(cè),并且內(nèi)置溫度補(bǔ)償,使用串口便可讀取當(dāng)前CO2氣體濃度,使用非常簡(jiǎn)單,兼容各類(lèi)單片機(jī)和傳感器,SEN0220 CO2傳感器與Arduino UNO R3連接如圖5所示。
圖5 SEN0220 CO2傳感器與Arduino UNO R3連接
ESP8266WiFi通信模塊與Arduino UNO R3之間采用8位異步串口通信,并且內(nèi)置了TCP/IP網(wǎng)絡(luò)協(xié)議棧。ESP8266模塊支持TTL串口,具有完全兼容3.3 V和5 V無(wú)線連接控制環(huán)境,可較好地與單片機(jī)或其他電子設(shè)備進(jìn)行實(shí)時(shí)無(wú)線連接。此模塊通常共有3種主要的網(wǎng)絡(luò)配置模式:STA配網(wǎng)模式、AP配網(wǎng)模式、STA+AP配網(wǎng)模式。ESP8266模塊非常小巧,面積大約為29 mm×19 mm,ESP8266WiFi接口原理如圖6所示。
圖6 ESP8266WiFi接口原理
采用TFT1.44寸顯示屏,該顯示屏亮度好、對(duì)比度高、層次感強(qiáng)、顏色鮮艷,分辨率為128像素×128像素,工作溫度為-20~70 ℃,顯示模式為全彩,連接方式為焊接插接連接器,TFT1.44寸顯示屏與Arduino UNO R3連接如圖7所示。
圖7 TFT1.44寸顯示屏與Arduino UNO R3連接
系統(tǒng)通過(guò)程序?qū)﹂撝颠M(jìn)行設(shè)置,報(bào)警程序就是控制LED和蜂鳴器。它們均使用Arduino UNO R3的IO推挽輸出。當(dāng)邏輯判斷到溫濕度、溶解氧、CO2不在閾值范圍內(nèi),則通過(guò)對(duì)應(yīng)的IO輸出高低電平。
在Arduino IDE環(huán)境下進(jìn)行軟件開(kāi)發(fā),同時(shí)使用了該公司官方提供的標(biāo)準(zhǔn)庫(kù)進(jìn)行程序編寫(xiě)。系統(tǒng)設(shè)計(jì)的功能是分別對(duì)溫濕度、溶解氧、CO2實(shí)施實(shí)時(shí)動(dòng)態(tài)采集效果,能較為準(zhǔn)確地顯示各傳感器的數(shù)據(jù)。軟件系統(tǒng)的組成由數(shù)據(jù)庫(kù)的加載選擇、運(yùn)行實(shí)例程序、數(shù)據(jù)庫(kù)的使用、使用各傳感器收集信息、Arduino UNO R3開(kāi)發(fā)板處理信息等。系統(tǒng)軟件控制程序流程圖如圖8所示。
圖8 系統(tǒng)軟件控制程序流程
系統(tǒng)通過(guò)ESP8266Wi-Fi模塊與機(jī)智云的云端進(jìn)行通信,智能桑基魚(yú)塘實(shí)現(xiàn)遠(yuǎn)程控制圖如圖9所示。在機(jī)智云平臺(tái)設(shè)置一個(gè)新產(chǎn)品,在兩者建立通信之前,需要將ESP8266Wi-Fi模塊燒錄機(jī)智云GAgent固件。首先,在智能云平臺(tái)上下載相應(yīng)的GAgent固件包,GAgent主要的作用是數(shù)據(jù)轉(zhuǎn)發(fā),是設(shè)備數(shù)據(jù)、機(jī)智云、應(yīng)用端(APP)的數(shù)據(jù)交互橋梁。然后,用USB轉(zhuǎn)串口進(jìn)行燒錄,燒錄使用官方提供的flash_download_tools_V1軟件將固件燒錄后,編寫(xiě)Arduino UNO R3運(yùn)行代碼,將各傳感器采集的數(shù)據(jù)傳給ESP8266Wi-Fi模塊,配置網(wǎng)絡(luò)信息,并編寫(xiě)對(duì)應(yīng)的APP程序,通過(guò)手機(jī)端呈現(xiàn)給用戶。
圖9 智能?;~(yú)塘實(shí)現(xiàn)遠(yuǎn)程控制圖
使用ESP8266Wi-Fi模塊,對(duì)串口進(jìn)行簡(jiǎn)單的配置便能通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù)。ESP8266Wi-Fi與Arduino UNO R3連接完成后,使用AT指令來(lái)調(diào)試Wi-Fi。AT指令是在終端設(shè)配與PC應(yīng)用程序之間的連接與通信,即定義好的一個(gè)特殊指令,可表達(dá)特殊指令的字符串。需要注意的是,每條AT命令中只能包含一條AT指令,如:A發(fā)送“回家了”,B在收到該內(nèi)容之后,就會(huì)相應(yīng)的回復(fù)“知道了”。如果想要執(zhí)行命令的話,只需要在AT指令后面加上“=+相應(yīng)參數(shù)”即可。如,想要將當(dāng)前模式設(shè)置成為正常模式,可寫(xiě)為“AT+MODE=NORMAL”。對(duì)于一些沒(méi)有參數(shù)的指令,則可以不需要添加參數(shù)。如,復(fù)位命令(AT+RESET)就不需要添加參數(shù)。
在確定好ESP8266Wi-Fi工作的模式為STA(在STA模式下,ESP8266能夠連接到Wi-Fi)后,就可以通過(guò)串口將ESP8266Wi-Fi和Arduino UNO R3連接在一起。這樣就完成了ESP8266Wi-Fi和Arduino UNO R3的硬件連接,之后還需在軟件中讓Arduino UNO R3來(lái)驅(qū)動(dòng)ESP8266Wi-Fi完成傳輸數(shù)據(jù)的功能。
綜上所述,從傳統(tǒng)?;~(yú)塘的管理難度大、管理時(shí)間長(zhǎng)、管理人員多3個(gè)弱點(diǎn)進(jìn)行攻破,提出通過(guò)溫度、濕度、溶解氧濃度、CO2、pH值數(shù)據(jù)的采集與調(diào)節(jié),將傳感器、自動(dòng)化控制、無(wú)線通信、計(jì)算等技術(shù)集于一體,設(shè)計(jì)了能夠應(yīng)用于水產(chǎn)養(yǎng)殖業(yè)的反饋增氧系統(tǒng)、農(nóng)田種植業(yè)的溫度、濕度自動(dòng)調(diào)節(jié)的基塘系統(tǒng)。該設(shè)計(jì)具有結(jié)構(gòu)穩(wěn)定、精度高、高可靠性、靈活、易安裝等特點(diǎn),從而達(dá)到提高?;~(yú)塘生產(chǎn)效率,縮短管理的時(shí)間,節(jié)約人力成本的目的,將?;~(yú)塘打造成一個(gè)自動(dòng)化、智能化的現(xiàn)代綠色基塘。