999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

冉彥中,唐明祥,楊可揚,王一煒,曹婧華

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

農(nóng)業(yè)物聯(lián)網(wǎng)[1-2]通過對農(nóng)作物生命特征、生長環(huán)境從宏觀到微觀的實時監(jiān)測、跟蹤、控制,提高對農(nóng)業(yè)動植物生命體本質(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ì)的目的。對于農(nóng)業(yè)種植,溫、光、水、肥、氣是最關(guān)鍵的5個因素,采用溫度精準(zhǔn)控制、營養(yǎng)液精準(zhǔn)灌溉、智能控制系統(tǒng)等設(shè)備和系統(tǒng)能保證環(huán)境始終處于適宜植物生長的狀態(tài)。

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

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

系統(tǒng)傳感器層主要由土壤濕度傳感器、空氣溫濕度傳感器、光照傳感器、CO2傳感器等各種傳感器以及arduino單片機、raspberry樹莓派卡片電腦、微型攝像頭等組成。網(wǎng)絡(luò)層由ENC28j60網(wǎng)絡(luò)模塊、路由器、串口通信等組成。應(yīng)用層由Apche2服務(wù)器提供的www服務(wù)、數(shù)據(jù)庫mysql、網(wǎng)頁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ù)土壤濕度、水分情況實現(xiàn)遠(yuǎn)程控制或自動實時滴灌;② 光照子系統(tǒng),可根據(jù)光照情況,實現(xiàn)開燈自動補光;③ 通風(fēng)子系統(tǒng),可根據(jù)空氣溫濕度,實現(xiàn)自動排風(fēng)換氣;④ 監(jiān)控子系統(tǒng),用樹莓派攝像頭監(jiān)控農(nóng)作物生長情況。

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

2.1 Arduino單片機

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

2.2 Raspberry樹莓派

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#include

//引用庫文件

#include "DHT11.h"

//引用庫文件

int ReceiveByte=0;

//申請整形變量

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ā)送識別碼

Serial.println(myDHT11.TEM_

Buffer_Int);

delay(1000);

//延時1m

Serial.print(98,DEC);

Serial.println(myDHT11.HUMI_Buff

er_Int);

break;

}

……

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

圖5 溫度變化曲線

3.2 Arudino 與ENC28j60組成web站點

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

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

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

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

#include

//引入頭文件庫

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頁面

"Content-Type:text/html "

"Pragma:no-cache "

" "

//網(wǎng)頁刷新

"

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

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

return bfill.position();

}

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

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

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

系統(tǒng)中樹莓派python編程[18-20]定時抓取環(huán)境現(xiàn)場圖片的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()

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

捕獲環(huán)境現(xiàn)場視頻流的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 手機端APP編程

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

圖7 控制APP

4 結(jié)束語

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

猜你喜歡
單片機環(huán)境農(nóng)業(yè)
國內(nèi)農(nóng)業(yè)
國內(nèi)農(nóng)業(yè)
國內(nèi)農(nóng)業(yè)
擦亮“國”字招牌 發(fā)揮農(nóng)業(yè)領(lǐng)跑作用
長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
孕期遠(yuǎn)離容易致畸的環(huán)境
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
主站蜘蛛池模板: 亚洲日本一本dvd高清| 97精品国产高清久久久久蜜芽| 婷婷久久综合九色综合88| 亚洲av无码牛牛影视在线二区| 91精品伊人久久大香线蕉| 美女视频黄频a免费高清不卡| 日本欧美在线观看| 最新加勒比隔壁人妻| 亚洲无码A视频在线| 国产91视频免费观看| 亚洲精品少妇熟女| 99久久精品免费视频| 一级毛片免费不卡在线| 国产福利免费视频| 婷婷伊人久久| 亚洲v日韩v欧美在线观看| 亚洲制服中文字幕一区二区| av在线无码浏览| 成人精品免费视频| 伊人五月丁香综合AⅤ| 久久精品国产免费观看频道| 欧美一区二区人人喊爽| 波多野结衣一二三| 中文字幕不卡免费高清视频| 亚洲人成影视在线观看| 国产91色在线| 亚洲中文字幕久久无码精品A| 成人欧美在线观看| 91福利国产成人精品导航| 原味小视频在线www国产| 99福利视频导航| 国产麻豆精品久久一二三| 亚洲天堂视频在线观看免费| AV在线麻免费观看网站| 成人日韩精品| 国产亚洲第一页| 日韩中文字幕亚洲无线码| 色哟哟国产精品一区二区| 久久亚洲国产最新网站| 亚洲精品午夜无码电影网| 好吊日免费视频| 午夜三级在线| 国产成年女人特黄特色毛片免| 欧美日韩国产一级| 久热精品免费| 青青青伊人色综合久久| 四虎影视国产精品| 国产国语一级毛片| 人妻一本久道久久综合久久鬼色| 国模沟沟一区二区三区| 色屁屁一区二区三区视频国产| 97在线碰| 免费三A级毛片视频| 激情六月丁香婷婷四房播| 国产91全国探花系列在线播放| 草草线在成年免费视频2| 成人中文在线| 日本午夜网站| 人妖无码第一页| 国产亚洲高清视频| 欧美激情成人网| 久久人人妻人人爽人人卡片av| 强奷白丝美女在线观看| 国产成人综合在线视频| 精品久久综合1区2区3区激情| 最新国语自产精品视频在| 日韩无码白| 亚洲天堂在线视频| 99re在线观看视频| 无码'专区第一页| 999福利激情视频| 五月天丁香婷婷综合久久| 婷婷五月在线| 国产99视频精品免费视频7 | 啪啪啪亚洲无码| 精品丝袜美腿国产一区| 国产亚洲欧美在线中文bt天堂 | 毛片基地美国正在播放亚洲 | 久久婷婷人人澡人人爱91| 伊人久久综在合线亚洲91| 国产麻豆精品久久一二三| 免费看美女自慰的网站|