智能蔬菜大棚控制系統(tǒng)_第1頁
智能蔬菜大棚控制系統(tǒng)_第2頁
智能蔬菜大棚控制系統(tǒng)_第3頁
智能蔬菜大棚控制系統(tǒng)_第4頁
智能蔬菜大棚控制系統(tǒng)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

照、土壤水分等參數(shù)進行實時監(jiān)測由51單片機對這些參數(shù)進行,并且實時返回監(jiān)測數(shù)據(jù)給Qt控:51單片機,Qt,AndroidMostoftheruralusesimplegreenhouseinusingmanualcontrol.Theproductionefficiencyislowandthecostofproductionishigh.Withthedevelopmentofgreenhouseindustry,greenhousecropsistendingtodiversification.Atthesametime,thecontrolofdemandisincreasing.Artificialcontrolofwhichprecisionislowalreadyhasstartedtocan'tmeettheneedsofagriculturalproduction.So,itisimportanttoneedacontrollertoreduceartificialcontrol.Inligentvegetablegreenhouseisadvancedagriculturalproductionfacilities,mixedhigh,precision,toptechwithcomputerautomaticcontroltechnologyinagricultural.Moreover,itisthematerialbasisofmodernagriculturalscienceandtechnologytoindustry.ThisarticleintroducesautomaticcontrolsystemforvegetablegreenhousesincludingthemaincoreAT89S52,andthemainperipheralcomponentstemperaturesensor,humiditysensor,illuminationsensor.Meanwhile,thearticleintroducesthesystemcomposition,characteristics,hardwaredesign,dynamicmonitoringsystemSpecifically.Thegreenhouseparameterssuchastemperature,humidity,illumination,soilmoisturemonitoringby51singlechip puter,andreturntheseparametersdatatoQTcontroller.Inaddition,QTcontrollerasaservercanconnectAndroidphone.Sowecancontrolvegetableray,makingalltheoperationeasyandconvenientasmuchaspossible.Itsavesthemanpower,improvesthecontrolqualityandproducesgoodeconomicbenefit.Importantly,itnotonlyhasabroadprospectsforthemarket,butalsohashugesocialbenefits.:51single puter,Qt,Android,sensor,automaticcontrol摘 第1章緒 項目研究背 項目研究意 第2章關(guān)鍵技術(shù)介 系統(tǒng)結(jié) 系統(tǒng)功能框 關(guān)鍵技術(shù)介 Socket通 串口通信(Serial 紅外控 WIFI模 Qt中的關(guān)鍵 第3章功能與指 系統(tǒng)的功 功能構(gòu) 傳感器.......................................................................................................................執(zhí)行器控 紅外控 WIFI模 Qt端控 Qt端與Android端通 用例圖描 第4章實現(xiàn)原 系統(tǒng)控制流程實 傳感器.......................................................................................................................紅外線控 Qt端控 Android端控 傳感器模塊的實 溫濕度模塊的實 光照強度模塊的實 執(zhí)行器控 步進電機控 電燈電機控 紅外控 紅外時間調(diào) 紅外...................................................................................................................................Qt控制 智能養(yǎng) 音 網(wǎng)絡(luò)資 生長狀 Qt端與ANDROID端通 Qt服務(wù) Android客戶 第5章系統(tǒng)特 第6章系統(tǒng)測 參考文 1本系統(tǒng)是一個智能蔬菜大棚控制系統(tǒng),該系統(tǒng)采用結(jié)構(gòu)化設(shè)計方法,集溫度,濕度,光照于一體。采用水泵抽水進行對植物滴灌,風扇對蔬菜大棚進行通風降溫,利用布簾和LED燈控制光照強度,也可使用紅外和WIFI進行,并可定時音樂幫助植物生長。系統(tǒng)結(jié)合了Qt、KeilAndroid等一系列技術(shù),運行于搭載了Linux系統(tǒng)的嵌入式設(shè)備上,通過串口實現(xiàn)了蔬菜大90年代以來,我國農(nóng)業(yè)工程技術(shù)人員在吸收發(fā)達國家高科技蔬菜大棚生產(chǎn)技術(shù)的基礎(chǔ)上,對蔬相比國外而言,我國蔬菜大棚控制系統(tǒng)的研究與開發(fā)起步較晚,20世紀70年代,開始3大缺的。農(nóng)業(yè)計算機在這一時期投入使用,但只限于統(tǒng)計和分析計算。直至80年代,計算機開始智能蔬菜大棚控制是一項綜合性工程它是當代農(nóng)業(yè)生物學工程自動控制計算機網(wǎng)絡(luò)、和有效農(nóng)業(yè)化的必由,而蔬菜大棚內(nèi)環(huán)境因子(溫度、濕度、光照等)自動控制,但這些蔬菜大棚產(chǎn)品的成本相對較高,如ARGUS公司,每套蔬菜大棚控制器的價格在十萬元左右;以色列國家農(nóng)業(yè)中心的一片玻璃試驗蔬菜大棚,每間造價高達上百萬。另外,的運用,國內(nèi)已有的一些蔬菜大棚存在技術(shù)水平發(fā)展緩慢,管理體系等缺點,不能滿足現(xiàn)代農(nóng)業(yè)和蔬菜大棚自動控制發(fā)展的要求。因此,研究開發(fā)適合我國國情、具有獨立知識、高效率、低成影響及生產(chǎn)方法改進,都提供了簡便、準確的。2章關(guān)鍵技術(shù)介紹本系統(tǒng)采用STC89S54主控通過溫度濕度光照等傳感器將實時數(shù)據(jù)傳送給Qt控制端,QtAndroid客戶端。用戶可以直接通過大棚控制系統(tǒng)比較遠,還可以通過Android客戶端來與Qt控制端交互,從而實現(xiàn)控制。系紅外控Android客戶Qt2.12.2id開開開顯態(tài)紅外Qt控2.2SocketAndroid與服務(wù)器的通信方式主要有兩種,一是Http通信,一是Socket通信。兩者的最大差異在Socket通信則是在雙方建立起連接后就可以直接進行數(shù)據(jù)Socketsocket連接,可為通信雙方的數(shù)據(jù)傳輸提供通道。socket的主要特點有數(shù)據(jù)丟失率低,使用簡單且易于移植。根據(jù)不同的底層協(xié)議,Socket的實現(xiàn)是多樣化的。TCP/IPSocket類型為流套接字(streamsocket)和數(shù)據(jù)報套接字(datagramsocket)TCP作為其端對端協(xié)議,UDP協(xié)議,提供數(shù)據(jù)打包發(fā)送服務(wù)。串口通信(Serial串口通信(SerialCommunications)的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比IEEE4882021200米。典型地,串口ASCII3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步。,一般的紅外系統(tǒng)是由紅外信號紅外信號和微控制器及其電路等三部分構(gòu)成的信號用來產(chǎn)生編碼脈沖,驅(qū)動紅外發(fā)射管輸出紅外信號接碼,對于一般的紅外系統(tǒng),此串行碼輸入到微控制器,由其內(nèi)部CPU完成對指令,并執(zhí)行相應(yīng)的功能。。,在紅外系統(tǒng)中,的是CPU。它接收解調(diào)出的串行二進制碼,在內(nèi)部根據(jù)本系統(tǒng)的遙們利用的而且我們也不需要獲取它我們只需利用一般紅外系統(tǒng)中的接收頭,自行設(shè)計電路直接對接收頭解調(diào)出的編碼脈沖進行,就可以得到原始的按鍵信息WIFIWIFI模塊又名串口WIFI模塊,屬于物聯(lián)網(wǎng)傳輸層,功能是將串口或TTL電平轉(zhuǎn)為符合WIFI無線網(wǎng)絡(luò)通信標準的嵌入式模塊,內(nèi)置無線網(wǎng)絡(luò)協(xié)議IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧。傳統(tǒng)的硬件設(shè)備嵌入WIFI模塊可以直接利用WIFI聯(lián)入互聯(lián)網(wǎng),是實現(xiàn)無線智能家居、M2M等物聯(lián)網(wǎng)應(yīng)用的重QtQSqlQuerySQLQSqlTabelModel類聯(lián)合使用,完成對數(shù)據(jù)庫的修改。調(diào)用prepare()和bindvalue()方法插入數(shù)據(jù),調(diào)用exec(select*fromtabel)執(zhí)行SQL語句查詢表中的信息,exec(INSERTINTOT_STUDENT(id,name,age)VALUES(3,'小若出現(xiàn)異??梢詒ollback(),使數(shù)據(jù)庫回到開始執(zhí)行操作時的狀態(tài)。WebKit是一個開源項目,其可追溯到KDesktopEnvironment(KDE),WebKit項目催生了面向移動設(shè)備的現(xiàn)代Web應(yīng)用程序。QtWebkit開發(fā),WebKitQtWebKit需要在工程文件(*.pro)中加入:Qt+=webkit和Qt+=network,QWge類中的load(QUrl())加載指定的網(wǎng)頁,如果要求網(wǎng)頁可以加載javascript、flash,通過設(shè)置,修改Wge的屬性,調(diào)用settings()->setAttribute()方法。stop()停止網(wǎng)頁的加載,back()跳轉(zhuǎn)到列表中的前一個,相應(yīng)的forward()跳轉(zhuǎn)到后一個。QWebView上,可以實現(xiàn)瀏覽網(wǎng)頁的功能。3章功能與指標集,執(zhí)行器控制,紅外控制,WIFI模塊,Qt端控制,Android端控制以及QtAndroid傳感器傳感器分為:溫度,濕度,光照強度。傳感器完數(shù)據(jù)后,通過總線協(xié)MCU,MCU傳感器活動如圖3.1所示圖3.1流程溫度:DS18B20溫度傳感器是DALLAS半導體公司推出的一種改進型智能溫度傳感到的溫度通過數(shù)據(jù)引腳傳到單片機的端口,單片機接受溫度并89S52控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、ROM操作指令、器操作DS18B20濕度:應(yīng)用土壤濕度傳感器的硬件控制電路,埋在作物根部的土壤水分傳感器監(jiān)測根部土壤的水分,該傳感器經(jīng)檢測電路將“濕度過高”和“濕度過低”信號經(jīng)編傳至主控制器,由主控制A/D可以實時監(jiān)測系統(tǒng)運行狀況或?qū)v史數(shù)據(jù)進行分析。MCUMCU3.23.2紅外控制執(zhí)行器工作只是多了紅外的步驟,MUC接收到紅外編碼后進行,然后執(zhí)行相3.3WIFIQT控制端的WIFI模塊和ANDROID客戶端連上路由器的熱點,便可直接連入互聯(lián)網(wǎng)WIFI3.43.4WIFIQtQt3.53.5QTQtAndroid過Qt服務(wù)器端間接控制蔬菜大棚的執(zhí)行器工作,從而實現(xiàn)了控制的功能。例管理員通過QtAndroid基本MCUQtQtAndroidAndroid3.2MCU基本MCU3.3WIFIWIFIWIFI開發(fā)板的WIFIWIFI流路由器熱開發(fā)板WIFI模塊和正常連接熱3.4QtQt管理員通過QtMCU發(fā)送指令,MCU作基本QtMCUMCU3.5AndroidAndroid管理者通過Android端先與Qt端通信,通過Qt串口通信正常,AndroidQt基本AndroidQtQtMCU3.6溫度傳感器將溫度給Qt服務(wù)基本MCUQt3.7濕度傳感器將濕度給Qt服務(wù)基本MCUQt3.8光照傳感器將光強度給Qt服務(wù)基本MCUQt4章實現(xiàn)原理傳感器傳感器順序如圖4.1圖4.1傳感器順用戶可以間接通過紅外線向MCU發(fā)送指令請求,MCU接收到紅外編碼后進行,然后向相應(yīng)執(zhí)4.24.2順QtQt端作為服務(wù)器可以實現(xiàn)與MCU間直接的數(shù)據(jù)交互也可以作為接收Android端發(fā)送的控制信息并轉(zhuǎn)發(fā)給MCU。Qt端實時接收從MCU返回的各種傳感器,執(zhí)行器信息,并更新自己的UI界面或者將AndroidQt4.34.3QTAndroidAndroid端用于實現(xiàn)控制模式用戶可以通過App軟件實時查看蔬菜大棚狀態(tài)或者向Qt端發(fā)送控制信息,由Qt端向MCU轉(zhuǎn)發(fā)控制信息,從而實現(xiàn)控制的功能。Android4.44.4Android傳感器模塊的實溫濕度傳感器采用單總線架構(gòu),對應(yīng)于MCU上的P1.1口,可實現(xiàn)較精確的溫濕度。光照強度設(shè)溫濕度模塊的實voidWBYTE_DS18B20(uchardata_byte){//寫一個字節(jié)uchari;data_byte=data_byte>>1;}}此函數(shù)為DS18B20的寫一個字節(jié)函數(shù),寫的時候是從低位開始寫,所以的時候也需要從低位開始。ucharRBYTE_DS18B20(void){//uchardata_byte=0;uchari,j;j=j=j<<data_byte=data_byte|}return(data_byte);//}與寫一個字節(jié)對應(yīng)的讀一個字節(jié)函數(shù),用于DS18B20返回的溫度信息,同樣是從低位開始DQ= //WBYTE_DS18B20(0xCC);//ROM字節(jié)命令;因為是單點WBYTE_DS18B20(0x44);//}0xCC0x44用于跳過ROMuintREAD_TEM(void){//讀出溫度數(shù)據(jù)uinttem=0;DQ=1;//WBYTE_DS18B20(0xCC);//ROM字節(jié)命令;因為是單點temRBYTE_DS18B20();//讀一個字節(jié)temRBYTE_DS18B20()<<8)|tem;//16}此函數(shù)功能用于讀出溫度數(shù)據(jù)暫存于temstaticuinttemp=0;EA=0;temp=READ_TEM();EA=1;}開始溫度檢測函數(shù)用于讀出溫度數(shù)據(jù),并處理溫度數(shù)據(jù),EA的作用是中斷,使函數(shù)在溫度光照強度模塊的實void //{if(((NOW_HR<NigTime)&&(NOW_HR>MorTime))||(Sun_Manage1補光只是在早上六點到下午六點有效(QT中設(shè)置可手動調(diào)節(jié)){if((SUN_Data1)||(Sun_Manage //{ADD_Clk=0; while(ADD_Clk1500);//排除烏云干擾if((SUN_Data1)||(Sun_Manage //{SUN_Return=1;//開啟燈光SUN_QT=1; //{{if((WINDOW_Data1)&&(WINDOW_NOW1))//{}}{

WINDOW_QT1;//WINDOW_QT=0;//反饋簾子已經(jīng)放下WINDOW_NOW=0;//表示現(xiàn)在簾子已經(jīng)放下 }}}SUN_Return=0; SUN_QT=0; //反饋到QTif((WINDOW_Data0)&&(WINDOW_NOW0))//簾子已經(jīng)放下(應(yīng)打開簾子{}{

WINDOW_QT0;//WINDOW_QT=1;//反饋簾子已經(jīng)拉開WINDOW_NOW=1;//表示現(xiàn)在簾子已經(jīng)拉開 WINDOW_QT=1;//反饋簾子已經(jīng)拉開WINDOW_NOW1;//表示現(xiàn)在簾子已經(jīng)拉開}}} //{SUN_Return //SUN_QT //if((WINDOW_Data1)&&(WINDOW_NOW1))//如果簾子沒有放下(應(yīng)放下簾子{WINDOW_QT1;//WINDOW_QT=0;//反饋簾子已經(jīng)放下WINDOW_NOW=0;//表示現(xiàn)在簾子已經(jīng)放下 }{}}}

WINDOW_QT=0;//反饋簾子已經(jīng)放下WINDOW_NOW0;//表示現(xiàn)在簾子已經(jīng)放下QTucharcode //ucharcode //voidWindow_Up(uchar //{uinti;uchark;EA // //{for(i=0;i<512;++i) //64x64=514x8(1:6464個步驟分為{for(k=0;k<8; //8{P2 // //}}}EA // //重新一次溫}1sbitWATER_ReturnP1^5;//澆水控制接口sbitSUN_ReturnP1^6;//補光控制接口sbitTEM_ReturnP1^7;//紅外可直接控制MCUvoid //{ucharSetHR;ucharSetMIN;ucharNowct;CTime=4;distemp=while(CTime<={{}}

Nowct=SegBuffer[CTime-1]=SegCode[distemp];My_Fig[CTime-5]=distemp;SetHR=My_Fig[0]*10+My_Fig[1];SetMIN=My_Fig[2]*10+My_Fig[3]; //{}{}}

Inclk= //Inclk= //此函數(shù)為紅外時間調(diào)整函數(shù),用于調(diào)整系統(tǒng)時間,MCU接收紅外指令,解析有控制DS1320時 voidIR_IN()interrupt{unsignedcharj,k,N=0;EX1=0;if{EX1= //確認IRwhile //等IR9ms{}for{//for//8{while//等IR4.5mswhile//等IRwhile//計算IR{if{}//0.14ms}//[j]>> //數(shù)據(jù)最補if{[j][j]| //補}//endfor}//endforif } {case0x45: Inclk=1;caseInclk=0;case0x46: Sun_Manage=1;caseSun_Manage=0;case0x47: Moto_Manage=1;caseMoto_Manage=0;caseWater_Manage1;水泵強制啟動控制}EX1=1;}QtQtvoidGHouse::reveiceSensordata(QByteArray{recive=QString::fromLatin1(sensorData);recive[0]=='0'?inthour=QDateTime::currentDateTime().time().hour();inttmp=0;intb=1;for(inti=7;i>5;--{}// }- 從系統(tǒng)里面添加的音樂文件QString{QFileDialogfileName=fileDialog.getOpenFileName(this);qDebug()<<"fileName:"<<fileName;return}sound1=newQSound(path);void{ui->webView-}void{ui->webView-}void{ui->webView-}void{ui->webView-}打開Urlvoid{}void{}void{}更換UrlvoidMyWebView::changeLocation(QUrl{}void{QModelIndexindex=ui->tableView->currentIndex();introw=ui->tableView->currentIndex().row();{ ui->textBrowser_fertilizer1-ui->textBrowser_fertilizer2-QByteArraypictureByteArray(index.sibling(row,2).data().toByteArray());tmpVar=newQVariant(pictureByteArray);loadPicture=newQPixmap();loadPicture-*showPicture=loadPicture->scaled(ui->label_picture->width(),ui->label_picture-}}label_bigPicture=newabel_bigPicture-QDesktopWidget*desktop=label_bigPicture->move((desktop->width()-label_bigPicture->width())/2,(desktop->height()label_bigPicture-QtANDROIDQtQtServer通過Socket與Android客戶端進行連接,進而控制蔬菜大棚void{tcpserver=newtcpserver->listen(QHostAddress::Any,6666);//設(shè)置}void{Connection=tcpserver->nextPendingConnection();}void{QStringinfo=Connection->readAll();QStringMode=info.mid(0,2);intinfoSize=info.size();{}if(QString({if(QString({}}elseif(QString({}if(QString({}}voidGHouse::serverSendMsg(QString{QByteArrayblock;QDataStreamout(&block,QIODevice::WriteOnly);out<<(quint16)0;//0out.device()->seek(0);//把指針從末尾移回out<<(quint16)(block.size()-sizeof(quint16));//算出后面字符串所占大小、并寫入頭部//Connection=tcpserver->nextPendingConnection();//取其中一個請求創(chuàng)建套接 Connection->write(block);//發(fā)送數(shù)//Connection->disconnectFromHost();//斷開連 ui->label->setText("SendData}void{tcpserver=newtcpserver->listen(QHostAddress::Any,6666);//設(shè)置}void{Connection=tcpserver->nextPendingConnection();}void{QStringinfo=Connection->readAll();QStringMode=info.mid(0,2);intinfoSize=info.size();{}if(QString({if(QString({

}}elseif(QString({}if(QString({}}voidGHouse::serverSendMsg(QString{QByteArrayblock;QDataStreamout(&block,QIODevice::WriteOnly);out<<(quint16)0;//0out.device()->seek(0);//把指針從末尾移回out<<(quint16)(block.size()-sizeof(quint16));//算出后面字符串所占大小、并寫入頭部 Connection->write(block);//發(fā)送}AndroidvoidDialog::changeUI(QString{ui->check->setStyleSheet("QPushButton{border-{}else{ ui->automatic->setText("自動}{}{}

inthour=QDateTime::currentDateTime().ti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論