亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于arduino與raspberry的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2019-09-19 07:41:26冉彥中唐明祥楊可揚(yáng)王一煒曹婧華
        關(guān)鍵詞:單片機(jī)環(huán)境農(nóng)業(yè)

        冉彥中,唐明祥,楊可揚(yáng),王一煒,曹婧華

        (吉林大學(xué) a.公共計(jì)算機(jī)教學(xué)與研究中心; b.植物科學(xué)院, 長(zhǎng)春 130062)

        農(nóng)業(yè)物聯(lián)網(wǎng)[1-2]通過(guò)對(duì)農(nóng)作物生命特征、生長(zhǎng)環(huán)境從宏觀到微觀的實(shí)時(shí)監(jiān)測(cè)、跟蹤、控制,提高對(duì)農(nóng)業(yè)動(dòng)植物生命體本質(zhì)的認(rèn)知能力、農(nóng)業(yè)復(fù)雜系統(tǒng)的調(diào)控能力和農(nóng)業(yè)突發(fā)事件的處理能力,達(dá)到合理使用農(nóng)業(yè)資源、降低生產(chǎn)成本、改善生態(tài)環(huán)境、提高農(nóng)產(chǎn)品產(chǎn)量和品質(zhì)的目的。對(duì)于農(nóng)業(yè)種植,溫、光、水、肥、氣是最關(guān)鍵的5個(gè)因素,采用溫度精準(zhǔn)控制、營(yíng)養(yǎng)液精準(zhǔn)灌溉、智能控制系統(tǒng)等設(shè)備和系統(tǒng)能保證環(huán)境始終處于適宜植物生長(zhǎng)的狀態(tài)。

        種植區(qū)內(nèi)設(shè)有傳感器,可實(shí)時(shí)檢測(cè)作物的生長(zhǎng)狀態(tài),并反饋到中央控制室中,通過(guò)實(shí)際觀測(cè)和電腦分析就能進(jìn)行適宜的環(huán)境調(diào)控。農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)用來(lái)模擬現(xiàn)代化植物工廠,可快速了解現(xiàn)代科技及其在農(nóng)業(yè)中的應(yīng)用。

        1 系統(tǒng)總體設(shè)計(jì)

        系統(tǒng)傳感器層主要由土壤濕度傳感器、空氣溫濕度傳感器、光照傳感器、CO2傳感器等各種傳感器以及arduino單片機(jī)、raspberry樹(shù)莓派卡片電腦、微型攝像頭等組成。網(wǎng)絡(luò)層由ENC28j60網(wǎng)絡(luò)模塊、路由器、串口通信等組成。應(yīng)用層由Apche2服務(wù)器提供的www服務(wù)、數(shù)據(jù)庫(kù)mysql、網(wǎng)頁(yè)php以及控制遠(yuǎn)程拍照的python文件等組成。農(nóng)業(yè)物聯(lián)網(wǎng)結(jié)構(gòu)如圖1所示。

        圖1 農(nóng)業(yè)物聯(lián)網(wǎng)結(jié)構(gòu)

        本系統(tǒng)主要包括:① 滴灌子系統(tǒng),可根據(jù)土壤濕度、水分情況實(shí)現(xiàn)遠(yuǎn)程控制或自動(dòng)實(shí)時(shí)滴灌;② 光照子系統(tǒng),可根據(jù)光照情況,實(shí)現(xiàn)開(kāi)燈自動(dòng)補(bǔ)光;③ 通風(fēng)子系統(tǒng),可根據(jù)空氣溫濕度,實(shí)現(xiàn)自動(dòng)排風(fēng)換氣;④ 監(jiān)控子系統(tǒng),用樹(shù)莓派攝像頭監(jiān)控農(nóng)作物生長(zhǎng)情況。

        2 系統(tǒng)硬件電路設(shè)計(jì)

        2.1 Arduino單片機(jī)

        Arduino[3-5]是源于意大利的開(kāi)源硬件開(kāi)發(fā)平臺(tái),基于該平臺(tái)可快速搭建出具有各種實(shí)用功能的電子電路。Arduino單片機(jī)是采用USB接口的核心電路板,與電腦連接,其處理器核心是ATmega328,包括14個(gè)數(shù)字輸入輸出IO(其中6個(gè)可提供PWM輸出)、6個(gè)模擬輸入IO、1個(gè)16 MHz晶體振蕩器、1個(gè)電源插座和1個(gè)復(fù)位按鍵。經(jīng)過(guò)AD采樣對(duì)模擬電壓數(shù)字化,以IIC/串口通信的形式傳遞給Arduino單片機(jī),在Arduino IDE環(huán)境里編寫程序進(jìn)行編譯,然后下載到Arduino單片機(jī)里,以保證其系統(tǒng)工作。Arduino的硬件、軟件都是開(kāi)源的,不但可以連接傳感器,還可以連接執(zhí)行器、控制器。基于這些特點(diǎn),選用該單片機(jī)作為前端數(shù)據(jù)采集的處理器。

        2.2 Raspberry樹(shù)莓派

        Raspberry樹(shù)莓派作為一個(gè)移動(dòng)平臺(tái),是基于ARM的微型電腦主板,以SD/MicroSD卡為內(nèi)存硬盤,卡片主板周圍有1/2/4個(gè)USB接口和1個(gè)10/100 以太網(wǎng)接口,可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時(shí)擁有視頻模擬信號(hào)的電視輸出接口和HDMI高清視頻輸出接口,但沒(méi)有輸出的顯示器,可以通過(guò)連接在電視屏幕或計(jì)算機(jī)的顯示器上進(jìn)行設(shè)置。以上部件全部整合在一塊主板上,具備PC的基本功能。其上裝有Linux操作系統(tǒng)、python編程環(huán)境,也可以安裝當(dāng)前流行的Tensorflow深度學(xué)習(xí)框架,搭建人工智能學(xué)習(xí)的環(huán)境,作為移動(dòng)式智能終端實(shí)現(xiàn)對(duì)象檢測(cè)、物體識(shí)別等功能或作為網(wǎng)絡(luò)節(jié)點(diǎn)充當(dāng)網(wǎng)絡(luò)服務(wù)器進(jìn)行網(wǎng)絡(luò)存儲(chǔ)。

        2.3 NEC28j60網(wǎng)絡(luò)模塊

        網(wǎng)絡(luò)控制器ENC28J60在其內(nèi)部集成了MAC層和PHY層,支持10 Mbps的全雙工網(wǎng)絡(luò)通信。ENC28J60在主機(jī)之間或主機(jī)與從機(jī)之間采用SPI[6-7]串行通信,訪問(wèn)方式采用瀏覽器訪問(wèn),故ENC28J60網(wǎng)絡(luò)模塊非常適合用于小型嵌入式設(shè)備,是嵌入式網(wǎng)絡(luò)系統(tǒng)的首選芯片。主控制器與網(wǎng)絡(luò)適配器之間通過(guò)中斷的方式進(jìn)行通信,完成數(shù)據(jù)的發(fā)送與接收。

        介紹了3種主要的電子設(shè)備的特點(diǎn),并給出了系統(tǒng)的電路設(shè)計(jì)圖[8-11],如圖2所示。

        圖2中,使用光照、土壤濕度等傳感器連接單片機(jī)Arduino的A0、A1、A2、A3等模擬量接口,空氣溫、濕度傳感器連接數(shù)字IO口,分別對(duì)環(huán)境數(shù)據(jù)的中光照強(qiáng)度、土壤濕度、空氣溫濕度等進(jìn)行采集。經(jīng)過(guò)AD采樣對(duì)模擬電壓數(shù)字化,以IIC/串口通信的形式傳遞給Arduino單片機(jī)后,單片機(jī)以USB串口的形式將數(shù)據(jù)轉(zhuǎn)發(fā)給Raspberry Pi3上的mysql數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。另外,所采集的數(shù)據(jù)通過(guò)連接的ENC286J60網(wǎng)絡(luò)模塊,在其上設(shè)立供網(wǎng)絡(luò)用戶訪問(wèn)的Web站點(diǎn),且連接到路由器上的信號(hào)通過(guò)有線或無(wú)線方式傳輸,在局域網(wǎng)或互聯(lián)網(wǎng)上能實(shí)時(shí)看到環(huán)境的數(shù)據(jù)。Arduino單片機(jī)里編寫固化程序,可以根據(jù)閾值自動(dòng)補(bǔ)光、通風(fēng)、開(kāi)啟水泵等,即程序向Arduino的數(shù)字IO口3、4、5、6等寫HIGH、LOW電平控制繼電器的閉合,從而控制負(fù)載,也可以通過(guò)網(wǎng)絡(luò)訪問(wèn)web站點(diǎn)網(wǎng)頁(yè)手動(dòng)控制負(fù)載設(shè)備??刂葡到y(tǒng)具體實(shí)物如圖3所示。

        圖2 農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)電路

        圖3 控制系統(tǒng)具體實(shí)物

        3 系統(tǒng)的軟件設(shè)計(jì)

        軟件開(kāi)發(fā)環(huán)境采用arduinoIDE環(huán)境。raspberry樹(shù)莓派中采用PHP編寫網(wǎng)頁(yè),視頻流的控制采用python編寫。軟件系統(tǒng)里數(shù)據(jù)流向主要有兩條路徑:各個(gè)傳感器采集的數(shù)據(jù)匯總到arduino后,一是通過(guò)USB接口傳給raspberry,數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù),以網(wǎng)頁(yè)的形式供用戶瀏覽,樹(shù)莓派上的微型攝像頭實(shí)時(shí)抓拍作物照片或視頻流,通過(guò)網(wǎng)絡(luò)遠(yuǎn)程觀看作物生長(zhǎng)狀態(tài);二是連接到ENC28j60網(wǎng)絡(luò)模塊,在其上面建立了一個(gè)Web站點(diǎn),通過(guò)路由器以及免費(fèi)的物聯(lián)網(wǎng)平臺(tái)進(jìn)行域名解析,可以遠(yuǎn)程進(jìn)行負(fù)載設(shè)備的開(kāi)啟或關(guān)閉以及實(shí)時(shí)顯示生長(zhǎng)環(huán)境的數(shù)據(jù)。手機(jī)端采用App inventor的編程環(huán)境。

        3.1 DHT11溫、濕度采集算法設(shè)計(jì)

        根據(jù)DHT11芯片設(shè)計(jì)的獨(dú)特結(jié)構(gòu)設(shè)計(jì)傳感器讀取算法,數(shù)據(jù)采集算法如圖4所示。

        圖4 數(shù)據(jù)采集算法

        DHT11的Data數(shù)據(jù)引腳置高或低操作,準(zhǔn)確延時(shí)后等待傳感器相應(yīng),之后對(duì)數(shù)據(jù)進(jìn)行移位操作,最終讀取傳感器數(shù)據(jù)。通過(guò)不斷遍歷該流程分別讀取傳感器中環(huán)境的溫度整數(shù)值、濕度整數(shù)值,最終釋放總線。還設(shè)計(jì)了土壤濕度、光照強(qiáng)度等采集算法設(shè)計(jì)。

        DHT11[12-14]溫濕度傳感器數(shù)據(jù)采集實(shí)現(xiàn)部分代碼如下:

        #include

        //引用庫(kù)文件

        #include "DHT11.h"

        //引用庫(kù)文件

        int ReceiveByte=0;

        //申請(qǐng)整形變量

        DHT11 myDHT11(7);

        //數(shù)字IO口7輸入

        void setup()

        {

        Serial.begin(9600);

        //設(shè)置通訊的波特率為9600

        Serial.println("try to try!");

        //發(fā)送的內(nèi)容

        }

        void loop()

        myDHT11.DHT11_Read();

        //讀取溫濕度值

        {Serial.print(99,DEC);

        //發(fā)送識(shí)別碼

        Serial.println(myDHT11.TEM_

        Buffer_Int);

        delay(1000);

        //延時(shí)1m

        Serial.print(98,DEC);

        Serial.println(myDHT11.HUMI_Buff

        er_Int);

        break;

        }

        ……

        實(shí)測(cè)濕度在一定時(shí)間內(nèi)幾乎無(wú)變化,因此僅畫出了溫度變化的曲線,如圖5所示。

        圖5 溫度變化曲線

        3.2 Arudino 與ENC28j60組成web站點(diǎn)

        ENC28j60[15-17]是帶有SPI接口的獨(dú)立以太網(wǎng)網(wǎng)絡(luò)設(shè)備,它集成了MAC、TPHY層,其速度可達(dá)10 Mb/s,且兼容IEEE 802.3。在使用ENC28j60時(shí),采用SPI通信協(xié)議。SPI(serial peripheral interface)工作方式采取主從模式,通常1個(gè)主設(shè)備可以連接1個(gè)或多個(gè)從設(shè)備。MISO引腳:主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;MOSI引腳:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;SCLK引腳:時(shí)鐘信號(hào)引腳,其信號(hào)由主設(shè)備產(chǎn)生;SS引腳:從設(shè)備EN信號(hào),由主設(shè)備控制。這個(gè)信號(hào)可以是SPI外設(shè)的一部分,也可用GPIO引腳實(shí)現(xiàn)。在以太網(wǎng)網(wǎng)絡(luò)中很多MCU集成了MAC控制器,MAC控制器作為鏈路層協(xié)議控制器連接外部以太網(wǎng)PHY(端口物理層),以太網(wǎng)中MAC控制器利用MII訪問(wèn)PHY,用RJ-45接口外接水晶頭,接入網(wǎng)線連接到外網(wǎng)中就可完成數(shù)據(jù)交換。MAC即media access control,是媒體訪問(wèn)控制子層協(xié)議。MII是媒體獨(dú)立接口,它是IEEE-802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn),包括1個(gè)數(shù)據(jù)接口以及1個(gè)AC和PHY之間的管理接口,PHY是物理接口收發(fā)器。ENC286j60結(jié)構(gòu)如圖6所示。Arduino與ENC286j60連接引腳對(duì)應(yīng)接線如表1所示。

        圖6 ENC28j60結(jié)構(gòu)

        ENC28J60模塊ARDUINO單片機(jī)VCC 5 V/3.3 VGND GNDRESETRESETSS10MOSI 11MISO12SCK13

        利用ENC28J60就可以做簡(jiǎn)單Web服務(wù)器,提供www服務(wù),網(wǎng)頁(yè)的編寫使用HTML語(yǔ)言,在ArduinoIDE環(huán)境里采用了類似C語(yǔ)言編寫程序。后面的示例采用C和Html混合編程,然后編譯、上傳到單片機(jī),既可讀取傳感器的數(shù)據(jù),又可使用瀏覽器訪問(wèn)。HTTP協(xié)議是文本的,可以用Arduino的字符串函數(shù)管理。在局域網(wǎng)內(nèi)瀏覽器地址欄輸入192.168.1.66就可以訪問(wèn)程序的頁(yè)面,實(shí)時(shí)顯示環(huán)境的溫、濕度數(shù)據(jù)。若外網(wǎng)訪問(wèn),則在路由器上的路由表中添加該IP等有關(guān)設(shè)置:

        #include

        //引入頭文件庫(kù)

        static byte mymac[]={ 0x74,0x69,0x69,0x2D,0x30,0x31 };//16進(jìn)制MAC地址

        static byte myip[]={ 192,168,1,66}; //自設(shè)www網(wǎng)站地址IP

        static byte gwip[]={ 192,168,1,1 };

        //網(wǎng)關(guān)地址

        byte Ethernet::buffer[500]; //緩沖區(qū)大小

        BufferFiller bfill;

        ……

        static void ReadDHT11()

        {

        h=dht.readHumidity(); //

        調(diào)用函數(shù)提取濕度值

        t=dht.readTemperature();

        //調(diào)用函數(shù)提取溫度值

        }

        static word homePage() {

        //ReadDHT11();

        bfill=ether.tcpOffset();

        bfill.emit_p(PSTR(

        "HTTP/1.0 200 OK "

        //在arduino里寫的html頁(yè)面

        "Content-Type:text/html "

        "Pragma:no-cache "

        " "

        //網(wǎng)頁(yè)刷新

        "

        Temp:$D C "),t,h);

        //網(wǎng)頁(yè)上顯示溫度、濕度值,每隔一定時(shí)間刷新

        return bfill.position();

        }

        3.3 系統(tǒng)現(xiàn)場(chǎng)環(huán)境視頻采集實(shí)現(xiàn)

        Raspberry Pi3采用LAMP(Linux、Apache、MySQL及php)架構(gòu),它是Linux,Apache,MySQL和PHP的縮寫,可自動(dòng)采集環(huán)境中的圖像數(shù)據(jù)、視頻數(shù)據(jù),并將視頻按照一定的格式編碼存儲(chǔ)。在Raspberry Pi3上的操作系統(tǒng)上搭建VLC服務(wù)器,用它發(fā)布視頻,將實(shí)時(shí)視頻以網(wǎng)絡(luò)串流的方式發(fā)送到網(wǎng)絡(luò)上。在臺(tái)式電腦或手機(jī)終端設(shè)備上安裝VLC播放器,通過(guò)捕獲網(wǎng)絡(luò)中的視頻流,進(jìn)行解碼后在手機(jī)上就可實(shí)時(shí)播放現(xiàn)場(chǎng)環(huán)境的視頻。要實(shí)現(xiàn)此功能還要在樹(shù)莓派上設(shè)置IP,通過(guò)TCP/IP協(xié)議、RTP/RTCP等協(xié)議將采集回來(lái)的視頻通過(guò)H.264編碼,同時(shí)采用RTCP協(xié)議基于UDP面向無(wú)連接網(wǎng)絡(luò)方式實(shí)現(xiàn)。該IP要添加到路由器的路由表上,在其命令行下輸入:

        raspivid -o --t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout ′#standard{access=http,mux=ts,dst=:8090}′:demux=h264

        開(kāi)啟服務(wù),實(shí)現(xiàn)視頻流傳遞。

        系統(tǒng)中樹(shù)莓派python編程[18-20]定時(shí)抓取環(huán)境現(xiàn)場(chǎng)圖片的python代碼如下:

        from picamera import PiCamera

        from time import sleep

        camera=PiCamera()

        camera.start_preview()

        for i in range(6):

        sleep(5)camera.capture(′/home/pi/image%s.jpg′%i)//單張圖片存放

        camera.stop_preview()

        這個(gè)python文件在linux系統(tǒng)中以一個(gè)定時(shí)任務(wù)開(kāi)啟執(zhí)行。

        捕獲環(huán)境現(xiàn)場(chǎng)視頻流的python代碼,

        from picamera import PiCamera

        from time import sleep

        camera=PiCamera()

        camera.start_preview()

        camera.start_recording(′/home/pi/video.h264′)

        //視頻文件存放

        sleep(10)

        camera.stop_recording()

        camera.stop_preview()

        3.4 手機(jī)端APP編程

        手機(jī)端采用App inventor[21]編程環(huán)境。設(shè)計(jì)的控制負(fù)載設(shè)備APP界面如圖7所示??梢詫?shí)現(xiàn)遠(yuǎn)程開(kāi)關(guān)燈、風(fēng)扇、水泵、天窗等功能。其原理是手機(jī)聯(lián)網(wǎng)后,操作按鈕向單片機(jī)發(fā)送命令字符,單片機(jī)里的程序接收到字符后做出判斷,控制數(shù)字IO口高低電平輸出,從而控制繼電器。

        圖7 控制APP

        4 結(jié)束語(yǔ)

        本文介紹了一種實(shí)現(xiàn)農(nóng)業(yè)物聯(lián)網(wǎng)的方案,便于動(dòng)手實(shí)踐,幫助了解農(nóng)業(yè)互聯(lián)網(wǎng)的架構(gòu)以及掌握具體的編程實(shí)現(xiàn)細(xì)節(jié),其內(nèi)容涉及傳感器、通信、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、計(jì)算機(jī)等多學(xué)科領(lǐng)域方面的知識(shí)。下一步,系統(tǒng)將增加變頻器微調(diào)水流、根據(jù)空氣情況打開(kāi)天窗一定角度等功能。還可引入人工智能模塊,根據(jù)拍攝的照片進(jìn)行圖像識(shí)別,自動(dòng)識(shí)別作物屬于哪個(gè)生長(zhǎng)期或判斷是否有病蟲害,為決策提供科學(xué)依據(jù)。目前,該項(xiàng)目已得到初步應(yīng)用。

        猜你喜歡
        單片機(jī)環(huán)境農(nóng)業(yè)
        國(guó)內(nèi)農(nóng)業(yè)
        國(guó)內(nèi)農(nóng)業(yè)
        國(guó)內(nèi)農(nóng)業(yè)
        擦亮“國(guó)”字招牌 發(fā)揮農(nóng)業(yè)領(lǐng)跑作用
        長(zhǎng)期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        精品一区三区视频在线观看| 国产亚洲视频在线观看网址| 麻豆精产国品| 亚洲精品国产综合久久一线| 国产一区二区三区免费主播| 亚洲av色精品国产一区二区三区 | 国产精品毛片99久久久久| 日本岛国一区二区三区| 极品少妇人妻一区二区三区| 日出白浆视频在线播放| 久久人人爽人人爽人人片av高请| 免费观看全黄做爰大片| 久久久久久国产精品免费免费 | 最新国产日韩AV线| 亚洲国产成人久久综合三区| 视频一区中文字幕在线观看| 手机久草视频福利在线观看 | 国产亚洲成年网址在线观看 | 国产丰满老熟女重口对白| 曰韩精品无码一区二区三区| 91极品尤物在线观看播放| 国内色精品视频在线网址| 精品亚洲视频免费观看网站| 国产在线精品观看一区二区三区| 国产在线91精品观看| 国产激情一区二区三区| 亚洲人成网站18禁止久久影院| 成人天堂资源www在线| 国产精品久久婷婷婷婷| 国产在线精彩自拍视频| 亚洲天堂av福利在线| 国产私人尤物无码不卡| 亚洲aⅴ在线无码播放毛片一线天| 久久香蕉免费国产天天看| 欧美精品久久久久久三级| 亚洲中文字幕乱码在线视频| 日本护士口爆吞精视频| 正在播放强揉爆乳女教师| 国产人妻无码一区二区三区免费| 亚洲人妻无缓冲av不卡| 免费毛片一区二区三区女同 |