基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)論文_第1頁(yè)
基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)論文_第2頁(yè)
基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)論文_第3頁(yè)
基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)論文_第4頁(yè)
基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE56 / NUMPAGES59農(nóng)業(yè)大學(xué)畢 業(yè) 論 文(設(shè)計(jì))題 目:基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)姓 名:學(xué) 院: 機(jī)電工程學(xué)院 專 業(yè): 電氣工程與其自動(dòng)化 班 級(jí): 2010.03 學(xué) 號(hào): 20102522 指導(dǎo)教師: 白皓然 2014年 6月16日目錄 TOC o 1-3 h z u HYPERLINK l _Toc390789338摘要 PAGEREF _Toc390789338 h IHYPERLINK l _Toc390789339Abstract PAGEREF _Toc390789339 h IIHYPERLINK l _Toc3907893401緒論 PAGER

2、EF _Toc390789340 h 1HYPERLINK l _Toc3907893411.1選題背景與研究意義 PAGEREF _Toc390789341 h 1HYPERLINK l _Toc3907893421.2國(guó)外發(fā)展概況 PAGEREF _Toc390789342 h 1HYPERLINK l _Toc3907893431.3研究容與目標(biāo) PAGEREF _Toc390789343 h 2HYPERLINK l _Toc3907893442系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc390789344 h 3HYPERLINK l _Toc3907893452.1Zigbee技術(shù) PA

3、GEREF _Toc390789345 h 4HYPERLINK l _Toc3907893462.2ASP.NET遠(yuǎn)程控制 PAGEREF _Toc390789346 h 4HYPERLINK l _Toc3907893472.3后臺(tái)服務(wù)程序設(shè)計(jì) PAGEREF _Toc390789347 h 5HYPERLINK l _Toc3907893482.4產(chǎn)品銷售架構(gòu)的實(shí)現(xiàn) PAGEREF _Toc390789348 h 5HYPERLINK l _Toc3907893493 硬件電路的設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc390789349 h 6HYPERLINK l _Toc39078935

4、03.1 CC2530Zigbee無(wú)線傳輸網(wǎng)絡(luò) PAGEREF _Toc390789350 h 6HYPERLINK l _Toc3907893513.1.1CC2530與協(xié)議棧簡(jiǎn)介 PAGEREF _Toc390789351 h 6HYPERLINK l _Toc3907893523.1.2組網(wǎng)與傳感器連接 PAGEREF _Toc390789352 h 6HYPERLINK l _Toc3907893533.2模型網(wǎng)絡(luò)-農(nóng)業(yè)大學(xué)校園網(wǎng)絡(luò)介紹 PAGEREF _Toc390789353 h 10HYPERLINK l _Toc3907893543.3 IIS(Internet Informa

5、tion Services)服務(wù)器原理 PAGEREF _Toc390789354 h 12HYPERLINK l _Toc3907893553.3.1 IIS與Framework簡(jiǎn)介 PAGEREF _Toc390789355 h 12HYPERLINK l _Toc3907893563.3.2網(wǎng)絡(luò)服務(wù)器配置 PAGEREF _Toc390789356 h 12HYPERLINK l _Toc3907893573.3.3ASP發(fā)布與訪問(wèn) PAGEREF _Toc390789357 h 13HYPERLINK l _Toc3907893583.4溫室模型的設(shè)計(jì) PAGEREF _Toc3907

6、89358 h 14HYPERLINK l _Toc3907893593.4.1各等級(jí)電壓設(shè)計(jì) PAGEREF _Toc390789359 h 15HYPERLINK l _Toc3907893603.4.2繼電器電路設(shè)計(jì) PAGEREF _Toc390789360 h 15HYPERLINK l _Toc3907893613.4.3溫室大棚模型結(jié)構(gòu)與接線箱 PAGEREF _Toc390789361 h 15HYPERLINK l _Toc3907893624系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc390789362 h 18HYPERLINK l _Toc3907893634.1 登錄

7、設(shè)計(jì) PAGEREF _Toc390789363 h 18HYPERLINK l _Toc3907893644.2后臺(tái)程序主界面 PAGEREF _Toc390789364 h 20HYPERLINK l _Toc3907893654.3綜合管理界面 PAGEREF _Toc390789365 h 21HYPERLINK l _Toc3907893664.3.1 串口通信方式 PAGEREF _Toc390789366 h 21HYPERLINK l _Toc3907893674.3.2遠(yuǎn)程訪問(wèn)方式 PAGEREF _Toc390789367 h 22HYPERLINK l _Toc39078

8、93684.3.3手動(dòng)模式指令控制 PAGEREF _Toc390789368 h 25HYPERLINK l _Toc3907893694.4附加功能 PAGEREF _Toc390789369 h 26HYPERLINK l _Toc3907893704.5數(shù)據(jù)庫(kù)建立與操作 PAGEREF _Toc390789370 h 27HYPERLINK l _Toc3907893714.5.1數(shù)據(jù)庫(kù)創(chuàng)建與表格設(shè)計(jì) PAGEREF _Toc390789371 h 28HYPERLINK l _Toc3907893724.5.2 GridView和SqlDataSource控件連接數(shù)據(jù) PAGEREF

9、 _Toc390789372 h 29HYPERLINK l _Toc3907893734.5.3 數(shù)據(jù)更新 PAGEREF _Toc390789373 h 30HYPERLINK l _Toc3907893744.6母板頁(yè)設(shè)計(jì) PAGEREF _Toc390789374 h 31HYPERLINK l _Toc3907893754.7后臺(tái)設(shè)計(jì) PAGEREF _Toc390789375 h 32HYPERLINK l _Toc3907893765 系統(tǒng)組裝調(diào)試 PAGEREF _Toc390789376 h 34HYPERLINK l _Toc3907893775.1各集成開(kāi)發(fā)環(huán)境(IDE)

10、介紹 PAGEREF _Toc390789377 h 34HYPERLINK l _Toc3907893785.2操作 PAGEREF _Toc390789378 h 35HYPERLINK l _Toc3907893795.3接線與后臺(tái)服務(wù)程序設(shè)置 PAGEREF _Toc390789379 h 37HYPERLINK l _Toc390789380參考文獻(xiàn) PAGEREF _Toc390789380 h 38HYPERLINK l _Toc390789381致 PAGEREF _Toc390789381 h 40HYPERLINK l _Toc390789382附錄I:Zigbee應(yīng)用層部

11、分程序 PAGEREF _Toc390789382 h 41HYPERLINK l _Toc390789383附錄II:后臺(tái)服務(wù)程序部分 PAGEREF _Toc390789383 h 47HYPERLINK l _Toc390789384附錄III:部分 PAGEREF _Toc390789384 h 51HYPERLINK l _Toc3907893851管理界面代碼 PAGEREF _Toc390789385 h 51HYPERLINK l _Toc3907893862關(guān)于系統(tǒng)界面設(shè)計(jì) PAGEREF _Toc390789386 h 53HYPERLINK l _Toc390789387

12、附錄IV:截圖 PAGEREF _Toc390789387 h 54基于Zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)摘 要我國(guó)地大物博,但人均資源相對(duì)匱乏,農(nóng)業(yè)是國(guó)家的基礎(chǔ)產(chǎn)業(yè),水資源作為農(nóng)業(yè)發(fā)展的重要制約因素。十八屆三中全會(huì)以來(lái)提出的農(nóng)業(yè)現(xiàn)代化的發(fā)展理念逐步深入,更好的發(fā)展農(nóng)業(yè)實(shí)現(xiàn)智能控制的現(xiàn)代化農(nóng)業(yè)模式成為必然。本設(shè)計(jì)下位機(jī)以CC2530處理器為核心,構(gòu)建了農(nóng)業(yè)溫室信息Zigbee無(wú)線采集網(wǎng)絡(luò)系統(tǒng)。上位機(jī)通過(guò)ASP.NET語(yǔ)言,在IDE中與數(shù)據(jù)庫(kù)結(jié)合構(gòu)建一個(gè)服務(wù)器。服務(wù)器后臺(tái)程序定時(shí)檢測(cè)終端節(jié)點(diǎn)的實(shí)時(shí)農(nóng)業(yè)溫室信息,并發(fā)送控制指令。通過(guò)手機(jī)和網(wǎng)絡(luò)客戶端可以實(shí)時(shí)操控灌溉水泵、通風(fēng)泵與補(bǔ)光系統(tǒng)。實(shí)物模型驗(yàn)證了本

13、系統(tǒng)的可靠性。關(guān)鍵詞:農(nóng)業(yè)物聯(lián)網(wǎng);遠(yuǎn)程控制;Zigbee;ASPThe design of agricultural irrigation systembased on ZigbeeAbstractThe land of china is vast, but the per capita resources are relatively scarce, agriculture is the basic industries of China, and water resources is an important factor restricting the development of ag

14、riculture. Agricultural modernization development concept was put forward since the Third Plenary Session of eighteen gradual deepening. So the development of modern agriculture intelligent control agricultural model becomes inevitable.The lower machine was designed by CC2530 as processor core, and

15、the greenhouse agriculture information wireless network acquisition system was built based on Zigbee. By ASP.NET language the PC and a database in the IDE build a web server. Agricultural greenhouses real-time information was collected by the server through timing detection, and send control command

16、s. The irrigation pumps, ventilation, fan systems can be controlled real-timely through mobile phones and network clients. Physical model hacve verify the reliability of this system.Keywords: things agriculture; remote control; Zigbee; ASP Website 1緒論1.1選題背景與研究意義近年來(lái),農(nóng)業(yè)現(xiàn)代化概念逐步深入推廣,尤其是十八屆三中全會(huì)關(guān)于全面深化改革的

17、推動(dòng),在農(nóng)業(yè)土地流轉(zhuǎn)制度下新型農(nóng)民需要種植大量的田地,而關(guān)于如何更精確更高效的完成作物日常管理是當(dāng)前急需解決的問(wèn)題。智能灌溉是一個(gè)理念,現(xiàn)在國(guó)外溫室環(huán)境控制技術(shù)正朝著高科技方向發(fā)展,網(wǎng)絡(luò)技術(shù)、遙感技術(shù)已逐漸應(yīng)用到溫室大棚智能控制系統(tǒng)中讓農(nóng)業(yè)管理可以快捷的實(shí)現(xiàn)1。同時(shí)這也是一種趨勢(shì),因?yàn)槎嘣纳罘绞揭笪覀兩硖幉煌牡赜?,而網(wǎng)絡(luò)則是連接這一切的通道。農(nóng)業(yè)的應(yīng)用是一個(gè)極佳的物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)方向,一方面作為我國(guó)的一種基礎(chǔ)產(chǎn)業(yè),農(nóng)業(yè)的重要地位不言而喻;另一方面,在我國(guó)悠久農(nóng)業(yè)種植歷史中,人力勞作的狀況持續(xù)了幾千年,如何更好的實(shí)現(xiàn)農(nóng)業(yè)現(xiàn)代化是困擾人們的問(wèn)題??萍紤?yīng)是為人類的解放服務(wù),為人力資源的充分利

18、用做貢獻(xiàn)的,所以在農(nóng)業(yè)的物聯(lián)網(wǎng)應(yīng)用中,本系統(tǒng)的設(shè)計(jì)只是很小的一部分,也是一個(gè)開(kāi)端。隨著全球氣候變化,自然災(zāi)害的日益增多,旱澇狀況頻發(fā),就我國(guó)基本情來(lái)講,水資源總量居第六位,但人均是121位,水資源時(shí)空分布不均衡年降水量集中于6-8月,很多城市出現(xiàn)水資源短缺,更為重要的是,水資源的污染,導(dǎo)致大量的淡水無(wú)常使用2。所以如何有效合理的解決水資源瓶頸,提高利用率是一項(xiàng)刻不容緩的任務(wù)。農(nóng)民以前是靠天吃飯,到人工灌溉,而智能灌溉則可以更加合理有效的解放勞動(dòng)力,管理多個(gè)溫室棚區(qū)的環(huán)境問(wèn)題。對(duì)于無(wú)線通信網(wǎng)絡(luò)的開(kāi)發(fā),現(xiàn)階段有著廣闊的市場(chǎng)前景。Zigbee技術(shù)是在短距離無(wú)線通信方面具有絕對(duì)優(yōu)勢(shì)的一種方式,其多個(gè)節(jié)

19、點(diǎn)的連接,自動(dòng)分配網(wǎng)絡(luò)地址的方式以與信號(hào)的穩(wěn)定性等優(yōu)點(diǎn)是進(jìn)行區(qū)域化種植的一個(gè)良好選擇。1.2國(guó)外發(fā)展概況自古以來(lái),沿河而棲,河水是孕育文明的地方,就是由于采水和灌溉技術(shù)限制。農(nóng)業(yè)的灌溉就是一個(gè)持續(xù)需要解決的農(nóng)業(yè)問(wèn)題。最早期的農(nóng)民靠天吃飯過(guò)程中,農(nóng)業(yè)生產(chǎn)水平十分落后;之后的水車灌溉,人們利用河水和井水進(jìn)行灌溉作業(yè),但是所有的勞作長(zhǎng)期以來(lái)都是依靠人力或者畜力進(jìn)行的;隨著我國(guó)科技的進(jìn)步,農(nóng)業(yè)生產(chǎn)技術(shù)水平的提高,灌溉等農(nóng)業(yè)作業(yè)的完成更加全面的依托機(jī)械電力的幫助完成。國(guó)現(xiàn)階段對(duì)于該問(wèn)題的研究多實(shí)在農(nóng)林類高等院校與部分科研機(jī)構(gòu),基于長(zhǎng)期的研究取得了一定水平的成績(jī),但是應(yīng)用尚不廣泛。蔬菜之都?jí)酃獾默F(xiàn)代化農(nóng)業(yè)

20、已經(jīng)具備了一定的雛形,農(nóng)民日常所說(shuō)的“高溫棚”在溫度和采光方面借助前期的施工已經(jīng)形成了一定的模式,但是灌溉設(shè)備的建設(shè)還是有待提高。而在我國(guó)的“花卉之都”市其花卉產(chǎn)業(yè)規(guī)模較大,而大學(xué)有研究基于Zigbee和GPRS的遠(yuǎn)程灌溉控制,也取得了不錯(cuò)的成果3。對(duì)于灌溉的研究一般性的研究方向還是存在一些弊端:首先是在研究上一般都會(huì)選擇一個(gè)切入點(diǎn),相比較而言在綜合利用方面存在一些問(wèn)題;其次是在應(yīng)用與推廣方面力度不足,并且在推廣的方式上存在問(wèn)題,有些技術(shù)或是設(shè)備已經(jīng)可以走向農(nóng)業(yè)或者是工業(yè)化應(yīng)用,但在實(shí)際操作的過(guò)程中沒(méi)有實(shí)現(xiàn)。在國(guó)外,例如美國(guó)和以色列其節(jié)水灌溉設(shè)備與技術(shù)處于世界領(lǐng)先的水平。美國(guó)雨鳥(niǎo)公司的節(jié)水灌溉

21、設(shè)備居于世界領(lǐng)先的地位,其產(chǎn)品廣泛的應(yīng)用于高爾夫球場(chǎng),公園與各種高新農(nóng)業(yè)基地;世界上很多水資源匱乏的地區(qū)在農(nóng)業(yè)智能灌溉以與節(jié)水灌溉方面有著突出的表現(xiàn),以中東地區(qū)的以色列為例,該國(guó)的農(nóng)業(yè)技術(shù)處于世界領(lǐng)先水平,有效的利用了水資源?,F(xiàn)代農(nóng)業(yè)是在國(guó)家高度提出的,可以更好的維護(hù)國(guó)家的糧食安全,更加有效的解放農(nóng)村勞動(dòng)力提高農(nóng)業(yè)產(chǎn)值。在農(nóng)業(yè)應(yīng)用中一些受到自然環(huán)境限制的地區(qū),灌溉技術(shù)的研究往往會(huì)得到相對(duì)較多的重視,所以在資金投入等方面有著很多的優(yōu)勢(shì)。而國(guó)外的網(wǎng)絡(luò)技術(shù)以與物聯(lián)網(wǎng)的應(yīng)用也是發(fā)生著日新月異的變化,在工業(yè)機(jī)器人,自動(dòng)駕駛汽車等人工智能領(lǐng)域都有著絕對(duì)的領(lǐng)先技術(shù)。1.3研究容與目標(biāo)研究容:人均水資源不足,

22、利用率低,水資源污染嚴(yán)重的問(wèn)題督促我們警醒,同時(shí)也要開(kāi)發(fā)出更加先進(jìn)的設(shè)備。設(shè)計(jì)實(shí)現(xiàn)農(nóng)業(yè)智能灌溉系統(tǒng),主要是實(shí)現(xiàn)互聯(lián)網(wǎng)遠(yuǎn)程控制,能夠更加精確的實(shí)現(xiàn)溫濕度測(cè)量,對(duì)于區(qū)域化種植更加方便的實(shí)現(xiàn)一個(gè)控制中心操作若干個(gè)節(jié)點(diǎn)。1、ASP的建設(shè),與數(shù)據(jù)庫(kù)連接加入銷售環(huán)節(jié)。2、服務(wù)器后臺(tái)程序設(shè)計(jì),后臺(tái)服務(wù)程序是作為一個(gè)連接下位機(jī)或是Zigbee協(xié)調(diào)器的樞紐,對(duì)這個(gè)系統(tǒng)連接起著關(guān)鍵作用。3、Zigbee無(wú)線通信網(wǎng)絡(luò)的實(shí)現(xiàn),本系統(tǒng)以模型為主,實(shí)現(xiàn)一個(gè)協(xié)調(diào)器兩個(gè)終端節(jié)點(diǎn)的組網(wǎng)通信與數(shù)據(jù)采集。2系統(tǒng)總體設(shè)計(jì)本系統(tǒng)是一個(gè)統(tǒng)一的整體,在實(shí)現(xiàn)上主要分為,后臺(tái)程序,Zigbee無(wú)線網(wǎng)絡(luò)以與農(nóng)業(yè)溫室模型等幾個(gè)方面。2.1Zigb

23、ee技術(shù)Zigbee無(wú)線通信技術(shù)是新一代低功耗無(wú)線網(wǎng)絡(luò)通信方式,由于其本身具有51核,所以在處理上可以實(shí)現(xiàn)引腳擴(kuò)展操作。本系統(tǒng)采用TI(儀器)開(kāi)發(fā)的Zstack協(xié)議棧架構(gòu)為基礎(chǔ),主要在APP層接入傳感器的溫濕度采集模塊,借助其無(wú)線功能實(shí)現(xiàn)多點(diǎn)無(wú)線通信。對(duì)于灌溉系統(tǒng),我們主要使用DHT11傳感器測(cè)量溫濕度數(shù)據(jù),轉(zhuǎn)化為所需要的數(shù)字量,之后由終端節(jié)點(diǎn)傳送至協(xié)調(diào)器節(jié)點(diǎn)。Zigbee網(wǎng)絡(luò)實(shí)現(xiàn)的是系統(tǒng)自動(dòng)組網(wǎng),協(xié)調(diào)器會(huì)自動(dòng)的分配給終端節(jié)點(diǎn)一個(gè)網(wǎng)絡(luò)地址。為了實(shí)現(xiàn)多點(diǎn)的同步操作,在指令發(fā)送時(shí)采用廣播模式,所有終端均可接收來(lái)自協(xié)調(diào)器的網(wǎng)絡(luò)指令并進(jìn)行處理,外接繼電器實(shí)現(xiàn)對(duì)外圍電路的驅(qū)動(dòng)。2.2ASP.NET遠(yuǎn)程控

24、制智能灌溉系統(tǒng)網(wǎng)站系統(tǒng)功能簡(jiǎn)介產(chǎn)品銷售溫室模型控制后臺(tái)管理程序環(huán)境值獲取用戶管理菜單產(chǎn)品管理菜單文件管理菜單發(fā)送控制命令下位機(jī)通信圖2-1 網(wǎng)站架構(gòu)圖本系統(tǒng)初步的設(shè)計(jì)構(gòu)想是以服務(wù)器接收控制信號(hào),以與信息處理的中心,完成互聯(lián)網(wǎng)的TCP/IP協(xié)議通信,同時(shí)通過(guò)串口(UART)方式實(shí)現(xiàn)與Zigbee協(xié)調(diào)器節(jié)點(diǎn)通信,使具有更好的實(shí)現(xiàn)產(chǎn)品推廣的能力。主題是分為四大模塊區(qū)分功能,分別是功能簡(jiǎn)介,產(chǎn)品銷售,溫室模型環(huán)境控制以與后臺(tái)管理。該系統(tǒng)的各節(jié)點(diǎn)具體功能在后續(xù)文章中還會(huì)繼續(xù)介紹,從基本原理到代碼實(shí)現(xiàn)方法。結(jié)構(gòu)的流程如上圖2-1所示。當(dāng)服務(wù)器與訪問(wèn)終端處于一個(gè)網(wǎng)絡(luò)部,通過(guò)網(wǎng)頁(yè)訪問(wèn)修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)4,在另

25、一部分的服務(wù)器后臺(tái)服務(wù)程序利用Timer(定時(shí)器)控件檢查數(shù)并發(fā)送指令。的整體風(fēng)格采用母板頁(yè)確定。為了實(shí)現(xiàn)產(chǎn)品更好的推廣,在加入了產(chǎn)品銷售模塊。對(duì)于的管理,產(chǎn)品的添加以與修改,均是通過(guò)后臺(tái)管理界面操作。在后臺(tái)管理中,可以實(shí)現(xiàn)用戶管理,包括增刪用戶,密碼修改等功能;另外是產(chǎn)品管理,包括產(chǎn)品名稱,圖片和基本參數(shù)的描述;還有一部分是上傳下載功能的實(shí)現(xiàn),為了方便用戶的自主學(xué)習(xí)與操作,可以下載相關(guān)文檔,驅(qū)動(dòng)程序與IDE軟件。2.3后臺(tái)服務(wù)程序設(shè)計(jì)后臺(tái)服務(wù)程序即Winform窗體結(jié)構(gòu)應(yīng)用程序,本設(shè)計(jì)的開(kāi)發(fā)應(yīng)用Visual Studio 2010中的C#語(yǔ)言。改程序在系統(tǒng)中起著紐帶作用,一方面可以連接數(shù)據(jù)庫(kù)

26、,實(shí)現(xiàn)數(shù)據(jù)狀態(tài)掃描,另一方面可以實(shí)現(xiàn)對(duì)下位機(jī)的連接,發(fā)送指令實(shí)現(xiàn)串口通信。主要的功能在于手動(dòng)操作模式和遠(yuǎn)程控制模式的實(shí)現(xiàn)上,后臺(tái)程序需要兼?zhèn)涠喾矫娴墓δ?,登錄界面控制著安全?quán)限的設(shè)置;主界面完成對(duì)各個(gè)子程序的連接;附加一些功能性程序?qū)崿F(xiàn)對(duì)日常一些常規(guī)管理的操作。2.4產(chǎn)品銷售架構(gòu)的實(shí)現(xiàn)快捷的購(gòu)買與支付是產(chǎn)品銷售的購(gòu)買體驗(yàn),本系統(tǒng)借助網(wǎng)絡(luò)連接,在淘寶開(kāi)設(shè)店鋪。當(dāng)用戶需要購(gòu)買相關(guān)產(chǎn)品時(shí)可以跳轉(zhuǎn)頁(yè)面至淘寶店鋪,通過(guò)支付寶付款,之后的步驟是我們?nèi)粘>W(wǎng)購(gòu)一樣的。3 硬件電路的設(shè)計(jì)與實(shí)現(xiàn)3.1 CC2530Zigbee無(wú)線傳輸網(wǎng)絡(luò)3.1.1CC2530與協(xié)議棧簡(jiǎn)介在農(nóng)業(yè)現(xiàn)代化、智能家居和工業(yè)等領(lǐng)域Zigb

27、ee無(wú)線通信技術(shù)得到了廣泛的應(yīng)用,它基于IEEE802.15.4協(xié)議。由于程序是開(kāi)源的,很多的開(kāi)發(fā)者會(huì)選擇這種通信方式,一方面免除了開(kāi)發(fā)的技術(shù)難度,另外也是符合共享的精神。協(xié)議棧簡(jiǎn)而言之就是一系列的通信標(biāo)準(zhǔn),是工程項(xiàng)目開(kāi)發(fā)人員與無(wú)線數(shù)據(jù)傳輸之間的一個(gè)接口,各個(gè)層都是通過(guò)Zigbee協(xié)議棧作為一個(gè)連接橋梁實(shí)現(xiàn)相互之間的連接。對(duì)于協(xié)議棧的大部分容大都是模塊化進(jìn)行的,我們的日常應(yīng)用一般集中的應(yīng)用層的修改便可以達(dá)到常規(guī)功能要求。對(duì)于其網(wǎng)絡(luò)層的結(jié)構(gòu)組成可以參見(jiàn)下圖,其中的各層通過(guò)協(xié)議棧構(gòu)成一個(gè)完整的整體,用戶可以通過(guò)其中以函數(shù)調(diào)用等方式,實(shí)現(xiàn)代碼編寫與其他各種操作。協(xié)議棧在物理層,硬件層,網(wǎng)絡(luò)層以與應(yīng)用

28、層等方面有著固定的連接。各個(gè)層之間的連接都有著其鏈路,通過(guò)底層程序進(jìn)行數(shù)據(jù)傳輸。作為一款優(yōu)秀的片上系統(tǒng)解決方案,其信號(hào)的穩(wěn)定性,良好的擴(kuò)展性為多區(qū)域連接操作奠定了堅(jiān)實(shí)的基礎(chǔ)。3.1.2組網(wǎng)與傳感器連接圖3-1 Zigbee無(wú)線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)組網(wǎng)時(shí)由協(xié)調(diào)器發(fā)起,然后終端節(jié)點(diǎn)接收協(xié)調(diào)器所發(fā)來(lái)的信號(hào),其中發(fā)起模式是檢測(cè)終端的節(jié)點(diǎn)的數(shù)量后分配網(wǎng)絡(luò)地址以確保其連接。其詳細(xì)組網(wǎng)流程圖可以參見(jiàn)下圖。一般而言星形網(wǎng)絡(luò)適用于簡(jiǎn)單網(wǎng)絡(luò)結(jié)構(gòu);網(wǎng)狀結(jié)構(gòu)一般較為穩(wěn)定;對(duì)于樹(shù)狀網(wǎng)絡(luò)由于其良好的擴(kuò)展性一般應(yīng)用于比較大型的Zigbee網(wǎng)絡(luò)中。設(shè)備的組網(wǎng)是一個(gè)相互建立的過(guò)程,在組網(wǎng)的過(guò)程中一般需要首先設(shè)置網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點(diǎn),在確認(rèn)

29、協(xié)調(diào)器節(jié)點(diǎn)的存在后,其余各終端設(shè)備分別以協(xié)調(diào)器為父節(jié)點(diǎn),加入該網(wǎng)絡(luò)。該網(wǎng)絡(luò)結(jié)構(gòu)采用的是廣播模式,各個(gè)終端設(shè)備都可以接收到協(xié)調(diào)器的指令。首先設(shè)置參數(shù),其代碼如下:SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast; SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; SampleApp_Periodic_DstAddr.addr.shortAddr = 0 xFFFF;設(shè)置周期性廣播代碼如下:void SampleApp_SendPeriodicMess

30、age( void )T_H0=wendu_shi+48;T_H1=wendu_ge%10+48;T_H2=shidu_shi+48;T_H3=shidu_ge%10+48;if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,SAMPLEAPP_PERIODIC_CLUSTERID,4,T_H,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS ) = afStatus_SUCCESS )由于無(wú)線網(wǎng)絡(luò)中發(fā)起模式是檢測(cè)終端的節(jié)點(diǎn)的數(shù)量后分配網(wǎng)絡(luò)地址以確保其連接,

31、對(duì)于本系統(tǒng)的傳感器連接在采用的是DHT11溫濕度傳感器,其主程序編寫是在解決方案的APP層中附加的一個(gè)C程序文件,本系統(tǒng)采用的是溫濕度傳感器實(shí)現(xiàn),對(duì)于其他類型的傳感器方法類似如DS18B20或者是煙霧與光照或者二氧化碳傳感器5。系統(tǒng)初始化選父設(shè)備發(fā)入網(wǎng)請(qǐng)求存在協(xié)調(diào)器?收到后響應(yīng)?設(shè)為協(xié)調(diào)器選信道,分地址設(shè)備加入成功等待數(shù)據(jù)傳輸啟動(dòng),接收入網(wǎng)分配短地址發(fā)送響應(yīng)入網(wǎng)成功?任務(wù)輪詢圖3-2 Zigbee設(shè)備組建無(wú)線區(qū)域網(wǎng)絡(luò)流程圖示基于51核的CC2530可以很容易的實(shí)現(xiàn),其關(guān)鍵是通信代碼的編寫,因?yàn)樾枰ㄟ^(guò)串口發(fā)回采集到的數(shù)據(jù)6。uchar temp2=0,0; uchar temp15=temp=

32、;uchar humidity2=0,0;uchar humidity19=humidity=;/*/延時(shí)函數(shù)*/void Delay_us(void) /1 us延時(shí) MicroWait(1); 之后是數(shù)據(jù)傳感器啟動(dòng)后,將其測(cè)得的值轉(zhuǎn)化為數(shù)字量,待寫入完成后重新配置IO口P0DIR &= 0 x40;其余過(guò)程可見(jiàn)程序的具體過(guò)程,之后是對(duì)數(shù)字量分別轉(zhuǎn)化為十位和個(gè)位的數(shù)值。傳感器測(cè)得數(shù)值只是數(shù)據(jù)通信的第一步,接下來(lái)是讓Zigbee終端節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給協(xié)調(diào)器7-8。由于無(wú)線網(wǎng)絡(luò)開(kāi)始已經(jīng)組建完畢,所以根據(jù)其網(wǎng)固定的獨(dú)有網(wǎng)絡(luò)地址便可以將數(shù)據(jù)傳送到協(xié)調(diào)器,當(dāng)然這都是以之前提到的協(xié)議棧為基礎(chǔ)框架進(jìn)行。在協(xié)

33、調(diào)器與電腦之間的通信上采用的是串口方式,由于計(jì)算機(jī)本身是沒(méi)有單獨(dú)引出的串口作為通信的部件,所以采用一個(gè)USB轉(zhuǎn)串口的方式進(jìn)行(計(jì)算機(jī)需要安裝驅(qū)動(dòng)程序)。協(xié)調(diào)器的串口輸出程序如下:switch ( pkt-clusterId ) case SAMPLEAPP_PERIODIC_CLUSTERID: /*溫度打印*/ HalUARTWrite(0,T:,2); /提示接收到數(shù)據(jù),T表示溫度值 HalUARTWrite(0,&pkt-cmd.Data0,2); /讀取在協(xié)議棧一個(gè)程序的地址 HalUARTWrite(0,n,1); / 回車換行 /*濕度打印* HalUARTWrite(0,&pkt

34、-cmd.Data2,2); /濕度 HalUARTWrite(0,n,1); / 回車換行 break;對(duì)于溫濕度的值,其循環(huán)發(fā)送的設(shè)置是一個(gè)設(shè)置參數(shù)的方式,在開(kāi)發(fā)環(huán)境中可以找到函數(shù): (SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0 x00FF) );需要跳轉(zhuǎn)至括號(hào)的函數(shù)定義,在下面的一個(gè)函數(shù):#define SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT 5500/參數(shù)設(shè)定在協(xié)議棧部的個(gè)程序之間都是通過(guò)固定的模式連接在一起,函數(shù)之間很多都是通過(guò)跳轉(zhuǎn)的方式實(shí)現(xiàn),無(wú)論是對(duì)與溫室環(huán)境的檢測(cè),還是其他的方面9。

35、3.2模型網(wǎng)絡(luò)-農(nóng)業(yè)大學(xué)校園網(wǎng)絡(luò)介紹農(nóng)業(yè)大學(xué)校園網(wǎng)是為了滿足廣大師生教學(xué),科研,學(xué)習(xí)等目的而構(gòu)建的一個(gè)功能復(fù)雜而全面的網(wǎng)絡(luò)。2005年校園網(wǎng)進(jìn)行了大規(guī)模的改擴(kuò)建之后,成為連接學(xué)校各區(qū)域,海都校區(qū)以與翰林院家屬區(qū)的一個(gè)重要信息樞紐。其核心是采用我國(guó)通信設(shè)備制造商華為生產(chǎn)的S8512做雙機(jī)備份,之后應(yīng)用多臺(tái)S6503做匯聚,之后樹(shù)狀展開(kāi)更多的交換機(jī),最后連接電腦終端。由于校址由遷移到,其接入教育網(wǎng)的方式也由原來(lái)的通過(guò)大學(xué)改為通過(guò)中國(guó)海洋大學(xué)進(jìn)行教育網(wǎng)絡(luò)接入。而這個(gè)網(wǎng)絡(luò)也是一個(gè)局域網(wǎng)形式,相對(duì)封閉,但是部網(wǎng)絡(luò)連接好。主題架構(gòu)編寫完成后,需要進(jìn)一步解決遠(yuǎn)程登錄方面的問(wèn)題。本系統(tǒng)所設(shè)置的后臺(tái)登錄系統(tǒng)與數(shù)

36、據(jù)庫(kù)直接進(jìn)行對(duì)接,在設(shè)置方面產(chǎn)品的各項(xiàng)參數(shù)也是存儲(chǔ)在SQL2008數(shù)據(jù)庫(kù),所有的數(shù)據(jù)讀取都是依托與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換進(jìn)行連接實(shí)現(xiàn)。在沒(méi)有申請(qǐng)域名與空間之前,如果將發(fā)布在IIS上則只能通過(guò)局域網(wǎng)絡(luò)進(jìn)行訪問(wèn),局域網(wǎng)絡(luò)是一個(gè)相對(duì)的概念,在本設(shè)計(jì)的測(cè)試中,校園網(wǎng)就可以被當(dāng)作一個(gè)可靠的局域網(wǎng)絡(luò)進(jìn)行系統(tǒng)測(cè)試。校園網(wǎng)的設(shè)施基礎(chǔ)為本系統(tǒng)的設(shè)計(jì)和測(cè)試提供了良好的環(huán)境。教育網(wǎng),經(jīng)海大校園網(wǎng)學(xué)校各區(qū)域翰林院家屬區(qū)海都學(xué)院圖3-3 青島農(nóng)業(yè)大學(xué)校園網(wǎng)絡(luò)分布本系統(tǒng)的測(cè)試選取的地址分別是實(shí)驗(yàn)室部,教學(xué)樓以與宿舍區(qū)。在實(shí)驗(yàn)室部可以實(shí)現(xiàn)在服務(wù)器以路由器發(fā)出的無(wú)線路由器為接入點(diǎn),其他的網(wǎng)絡(luò)終端分別接入該無(wú)線路由網(wǎng)絡(luò)進(jìn)行的訪問(wèn)

37、。這是因路由器為自動(dòng)的分配一個(gè)IP地址給予服務(wù)器,其他的終端也是一個(gè)類似的IP地址類型,一般是192.168.*.*這種方式是一種部的無(wú)線登錄形式;但是在校區(qū)其他位置訪問(wèn)時(shí)服務(wù)器接入互聯(lián)網(wǎng)的方式必須是一個(gè)IP固定的IP地址,這樣才可以實(shí)現(xiàn)遠(yuǎn)程登錄形式。在不同的網(wǎng)絡(luò)測(cè)試的基礎(chǔ)是所有的網(wǎng)絡(luò)都已物理連接,本設(shè)計(jì)在宿舍上網(wǎng)采用我校的賽爾網(wǎng):該網(wǎng)絡(luò)是一種全國(guó)各高校應(yīng)用比較普遍的一種網(wǎng)絡(luò),其基本特點(diǎn)是需要固定的IP地址,并且需要開(kāi)通登錄才可以使用。而校園網(wǎng)其余區(qū)域才需要設(shè)置自動(dòng)獲取IP地址的方式,通過(guò)CMD命令提示操作對(duì)話框進(jìn)行IP地址查詢后得知。IP地址是服務(wù)器在網(wǎng)絡(luò)中的屬性,終端設(shè)備發(fā)送訪問(wèn)請(qǐng)求后,查

38、詢地址,之后由服務(wù)器做出響應(yīng)。圖3-4 IP地址設(shè)置對(duì)話框3.3 IIS(Internet Information Services)服務(wù)器原理3.3.1 IIS與Framework簡(jiǎn)介IIS服務(wù)器是發(fā)布所必須的一個(gè)工具,在沒(méi)有購(gòu)買域名和托管服務(wù)器的前提下,如果想發(fā)布則需要在Internet Information Services即互聯(lián)網(wǎng)信息服務(wù)發(fā)布,可以實(shí)現(xiàn)局域網(wǎng)的訪問(wèn)。常規(guī)情況下只有安裝配置了IIS才可以實(shí)現(xiàn)的發(fā)布,一些功能的實(shí)現(xiàn)例如FTP服務(wù)就是依托這一基礎(chǔ)8。同樣起著關(guān)鍵作用的是Framework4.0網(wǎng)絡(luò)框架,做一個(gè)形象的比喻:如果我們?nèi)粘>W(wǎng)上瀏覽的信息是車的話,那么Framewo

39、rk便是路,它提供給每一個(gè)信息傳輸與交互的工具。由于Framework版本逐步升級(jí)換代所實(shí)現(xiàn)的信息交互服務(wù)也是日益提升。正如我們的道路系統(tǒng)有普通公路,省道,國(guó)道和高速公路一樣,信息的通道也是在逐步改善。Framework是信息交互的基礎(chǔ),在互聯(lián)網(wǎng)中的應(yīng)用都是依據(jù)不同的框架進(jìn)行的,不同的版本代表著不同的時(shí)代微軟公司的Framework框架是現(xiàn)今一種流行的開(kāi)發(fā)設(shè)計(jì)基礎(chǔ),得到了廣泛的應(yīng)用。3.3.2網(wǎng)絡(luò)服務(wù)器配置想要發(fā)布,配置服務(wù)器是必須的一個(gè)步驟。在安裝IIS7.0之后,在控制面板/管理工具打開(kāi)Internet信息服務(wù)(IIS)管理器,如圖3-5所示:圖3-5 IIS配置界面對(duì)于編輯好的文件,生成

40、后存檔,發(fā)布在本地計(jì)算機(jī)。如果想通過(guò)別的終端進(jìn)行訪問(wèn),首先要指明默認(rèn)文檔所在位置。因?yàn)榛ヂ?lián)網(wǎng)訪問(wèn)途徑為先通過(guò)IP地址在網(wǎng)絡(luò)中選出服務(wù)器,然后再通過(guò)IIS設(shè)置的默認(rèn)文檔路徑進(jìn)入文件。發(fā)布后其運(yùn)行是獨(dú)立的,但是功能的實(shí)現(xiàn)要依托服務(wù)器響應(yīng)進(jìn)行。同時(shí)需要服務(wù)器開(kāi)設(shè)一個(gè)端口允許其它終端的進(jìn)入,我們配置服務(wù)器時(shí)通常會(huì)選擇開(kāi)放計(jì)算機(jī)的80或8080端口讓外部終端訪問(wèn)。在服務(wù)器配置過(guò)程中由于文件屬性,計(jì)算機(jī)設(shè)置等方面的原因經(jīng)常會(huì)遇到一些問(wèn)題。例如其他終端訪問(wèn)時(shí)出現(xiàn)500.19部服務(wù)器錯(cuò)誤,在訪問(wèn)頁(yè)面上顯示無(wú)法打開(kāi)目標(biāo)文件,物理路徑錯(cuò)誤,錯(cuò)誤代碼:0 x80070005;或者是數(shù)據(jù)庫(kù)訪問(wèn)出錯(cuò)等問(wèn)題。運(yùn)行調(diào)試就是

41、一個(gè)一個(gè)的發(fā)現(xiàn)并解決問(wèn)題的過(guò)程,因?yàn)樾⌒偷呐渲门c發(fā)布等服務(wù)在現(xiàn)在的技術(shù)層面已經(jīng)相當(dāng)成熟,所以網(wǎng)上有大量教程供學(xué)習(xí)參考,解決遇到的問(wèn)題。上面所說(shuō)的問(wèn)題就是設(shè)置文件屬性,在其訪問(wèn)與管理權(quán)限上需要設(shè)置Everyone用戶,另外就是IIS與Framework的配合上,解決其安全和權(quán)限的問(wèn)題。圖3-6 默認(rèn)文檔設(shè)置3.3.3ASP發(fā)布與訪問(wèn)對(duì)于的發(fā)布,是在編輯好文檔后選擇將其發(fā)布在IIS上即可實(shí)現(xiàn),這里應(yīng)當(dāng)注意其路徑?;谛@網(wǎng)的測(cè)試,在開(kāi)通網(wǎng)絡(luò)服務(wù)的網(wǎng)口進(jìn)行連接后,服務(wù)器會(huì)有一個(gè)IP地址,其他終端在瀏覽器輸入即可進(jìn)行訪問(wèn),在局域網(wǎng)的與之前所說(shuō)的也是類似。在系統(tǒng)設(shè)計(jì)的測(cè)試過(guò)程中,終端設(shè)備在瀏覽器框中輸入

42、服務(wù)器的IP(須在查詢已知的情況下進(jìn)行)3.4溫室模型的設(shè)計(jì)該灌溉系統(tǒng)的起點(diǎn)是傳感器檢測(cè)農(nóng)業(yè)溫室的溫濕度值或是加上傳感器檢測(cè)其他條件,之后依靠Zigbee無(wú)線網(wǎng)絡(luò)傳送到協(xié)調(diào)器,之后傳送至服務(wù)器,服務(wù)器通過(guò)后臺(tái)服務(wù)程序簡(jiǎn)稱作“中間件”做三方面的工作:一是將數(shù)據(jù)顯示到窗體結(jié)構(gòu)的界面上;二將數(shù)據(jù)實(shí)時(shí)更新至數(shù)據(jù)庫(kù),并通過(guò)Data Gridview控件綁定數(shù)據(jù)顯示在的界面上供用戶讀取,并根據(jù)情況判斷是否發(fā)出相關(guān)指令;三是循環(huán)執(zhí)行掃描數(shù)據(jù)庫(kù)部操作表的指令數(shù)據(jù)。環(huán)境值值設(shè)備驅(qū)動(dòng)電路后臺(tái)程序遠(yuǎn)程用戶ASP網(wǎng)站傳感器終端節(jié)點(diǎn)協(xié)調(diào)器傳感器數(shù)據(jù)庫(kù)終端節(jié)點(diǎn)驅(qū)動(dòng)電路設(shè)備環(huán)境值值圖3-7 系統(tǒng)結(jié)構(gòu)框圖第一個(gè)環(huán)節(jié)結(jié)束后后臺(tái)

43、服務(wù)程序?qū)崟r(shí)發(fā)送控制命令至協(xié)調(diào)器,協(xié)調(diào)器以廣播的方式將控制命令發(fā)送至終端節(jié)點(diǎn),終端節(jié)點(diǎn)的將命令字符處理后會(huì)發(fā)出控制信號(hào),而控制信號(hào)接通農(nóng)業(yè)溫室灌溉系統(tǒng)模型上面框架結(jié)構(gòu)所示,每一個(gè)終端用戶訪問(wèn)時(shí)可以實(shí)時(shí)的查看環(huán)境值。3.4.1各等級(jí)電壓設(shè)計(jì)表3-1 模型溫室系統(tǒng)電壓統(tǒng)計(jì)表供電電壓等級(jí)統(tǒng)計(jì)情況設(shè)備名稱所需電壓等級(jí)供電方式Zigbee(協(xié)調(diào)器與終端)5V干電池與USB灌溉設(shè)備(水泵)12V開(kāi)關(guān)電源照明燈220V照明電接入總電源220V照明電接入在模型搭建與制作過(guò)程中,很多的演示操作需要不同的電壓等級(jí)如220V,12V或者是5V,在所做的設(shè)備模型中,我們采用照明電接入設(shè)備,逐級(jí)分別變壓,下面分別介紹一

44、下各電路之間的連接與構(gòu)造。協(xié)調(diào)器是一個(gè)信息節(jié)點(diǎn),和后臺(tái)服務(wù)程序一起發(fā)揮著承上啟下的關(guān)鍵作用。由于采用低電壓供電方式,所以安放在計(jì)算機(jī)服務(wù)器附近,一方面是供電方便,另外一方面是可以實(shí)現(xiàn)USB轉(zhuǎn)串口的連接以實(shí)現(xiàn)通信。對(duì)于終端設(shè)備可以使用干電池供電方法,優(yōu)點(diǎn)是可以實(shí)現(xiàn)任意的移動(dòng)和安置,當(dāng)然缺點(diǎn)是需要定期更換相對(duì)麻煩一些。3.4.2繼電器電路設(shè)計(jì)由于終端節(jié)點(diǎn)接收到的只是一個(gè)控制命令,在進(jìn)行相關(guān)處理后的動(dòng)作設(shè)置是某一個(gè)引腳的電平進(jìn)行高低變化,所以采用繼電器驅(qū)動(dòng)的方式控制電路的通斷,從而實(shí)現(xiàn)對(duì)設(shè)備的開(kāi)關(guān)控制。繼電器是應(yīng)用廣泛的一種電氣設(shè)備,通常會(huì)當(dāng)作一種開(kāi)關(guān)設(shè)備接入電路。它是將芯片的控制轉(zhuǎn)化開(kāi)關(guān)電氣設(shè)備的

45、關(guān)鍵。本實(shí)驗(yàn)采用的是三路獨(dú)立繼電器模塊。在Zigbee終端節(jié)點(diǎn)各引腳分別輸出高低電平信號(hào)。繼電器接入常開(kāi)或者是常閉觸點(diǎn)。3.4.3溫室大棚模型結(jié)構(gòu)與接線箱溫室大棚模型為了方便觀看其部場(chǎng)景與實(shí)驗(yàn)測(cè)試方便,該系統(tǒng)采用了通體玻璃結(jié)構(gòu),用玻璃膠固定連接,其部分別布置了相關(guān)的電路與設(shè)備。對(duì)于接線盒采用我們?nèi)粘R?jiàn)的多媒體接線漆包盒。圖3-8 溫室模型圖3-9 終端節(jié)點(diǎn)接線圖對(duì)于所采用的玻璃結(jié)構(gòu)是為了便于查看情況,在模仿溫室框架的同時(shí),有利于很好的參觀,另外在材料的質(zhì)地上比較堅(jiān)硬且具有防水功能。為了有效的完成接線盒的固定工作,本設(shè)計(jì)采用的是玻璃膠進(jìn)行粘合,在風(fēng)干后其連接穩(wěn)定性與其好。另外在線路的布設(shè)方面,采

46、用實(shí)心銅線,確保良好的導(dǎo)電性,在接線柱上同時(shí)保證了優(yōu)良的絕緣性能。4系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)在本系統(tǒng)中,后臺(tái)服務(wù)程序起著承上啟下的作用。一方面接收協(xié)調(diào)器傳送的信息數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)收取處理,通過(guò)Text控件顯示在操作界面上;另一方面它與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)連接,循環(huán)更新數(shù)據(jù),在這里調(diào)用的是Update數(shù)據(jù)控件10。本設(shè)計(jì)的后臺(tái)服務(wù)程序主要體現(xiàn)一下幾個(gè)方面:一是對(duì)所有的用戶權(quán)限進(jìn)行相應(yīng)的管理,利用數(shù)據(jù)庫(kù)對(duì)用戶和密碼存儲(chǔ)比對(duì);二利用一個(gè)常規(guī)界面實(shí)現(xiàn)對(duì)Zigbee數(shù)據(jù)的實(shí)時(shí)顯示,即一個(gè)串口界面;三是附加的一些其他功能如鎖定程序,修改密碼,以與一些附件的調(diào)用等。4.1 登錄設(shè)計(jì)用戶登錄與管理的設(shè)計(jì),對(duì)于整個(gè)系統(tǒng)的管理

47、而言不可能每個(gè)人都具備權(quán)限,所以設(shè)置登錄界面。在上位機(jī)程序中,與數(shù)據(jù)庫(kù)的連接可以實(shí)現(xiàn)軟件與后臺(tái)數(shù)據(jù)的連通11,利用連接字符串:SqlConnection(server=(local);database=Design;Integrated Security=true);這里的sever指的是服務(wù)器名稱,在安裝數(shù)據(jù)庫(kù)時(shí)會(huì)有設(shè)計(jì),實(shí)驗(yàn)所用筆記本電腦的服務(wù)器名稱為(local);database指數(shù)據(jù)庫(kù)名,為在數(shù)據(jù)庫(kù)軟件SQL2008中所創(chuàng)建;最后一句是安全認(rèn)證方式。當(dāng)用戶打開(kāi)該應(yīng)用程序時(shí)會(huì)彈出一個(gè)登錄對(duì)話框,在該系統(tǒng)中已經(jīng)預(yù)設(shè)了一個(gè)用戶admin輸入對(duì)用密碼電機(jī)登錄即可進(jìn)入管理主界面。在點(diǎn)擊登錄的時(shí)

48、候有一個(gè)用戶名和密碼與數(shù)據(jù)庫(kù)中所存儲(chǔ)的數(shù)據(jù)匹配的一個(gè)過(guò)程,它的實(shí)現(xiàn)方式是定義數(shù)據(jù)庫(kù)命令在數(shù)據(jù)庫(kù)表中選擇一個(gè)用戶名為所輸入的用戶名密碼為輸入的密碼,然后進(jìn)行匹配。int i = Convert.ToInt32(cmd.ExecuteScalar(); /定義一個(gè)i為轉(zhuǎn)換的檢測(cè)值if (i 0) /對(duì)檢測(cè)結(jié)果進(jìn)行判斷cmd = new SqlCommand(select * from GH_User where UserName= + txtName.Text + , conn); /進(jìn)行賦值操作SqlDataReader sdr = cmd.ExecuteReader(); /檢測(cè)的與讀取值匹配

49、sdr.Read();conn.Close(); /關(guān)閉數(shù)據(jù)庫(kù)連接frmMain main = new frmMain(); /打開(kāi)主界面對(duì)話框圖4-1 后臺(tái)應(yīng)用程序登錄界面運(yùn)行程序輸入信息單擊取消單擊登錄N退出程序登錄錯(cuò)誤?N確認(rèn)?YY退出程序主程序圖4-2 登錄驗(yàn)證流程圖上面的登錄流程圖可以一目了然的表示整個(gè)過(guò)程:這種認(rèn)證的方式就像是我們要進(jìn)入一個(gè)旅游觀光景點(diǎn)類似,是一種查證或者是驗(yàn)證的操作,之后進(jìn)入主界面。這樣的認(rèn)證方式也是我們經(jīng)常用到的,當(dāng)然在后臺(tái)登錄中也是運(yùn)用了這種方法,給予一個(gè)用戶超級(jí)管理員權(quán)限進(jìn)入后臺(tái),可以添加或刪除用戶與產(chǎn)品,編輯產(chǎn)品的詳細(xì)信息同時(shí)對(duì)的相關(guān)文件上傳等12。4.2

50、后臺(tái)程序主界面主界面的菜單欄位于對(duì)話框的最上方,是以下拉菜單的方式呈現(xiàn)。在該操作界面中從左至右分別為綜合管理里面包括Daily和Sample選項(xiàng)實(shí)現(xiàn)復(fù)雜操作和日常的簡(jiǎn)單操作;系統(tǒng)設(shè)置選項(xiàng)主要是有鎖定和口令操作;用戶管理主要提供用戶密碼修改,用戶注冊(cè)以與刪除等操作;輔助功能主要提供一些簡(jiǎn)單的程序調(diào)用,有記事本,日歷和計(jì)算機(jī)均為系統(tǒng)程序的調(diào)用操作;另外兩個(gè)為單選按鈕,介紹版本以與退出;在下方是一些信息提示語(yǔ)言,分別為登錄名稱權(quán)限和時(shí)間。圖4-3 后臺(tái)程序主界面主界面是連接各個(gè)子程序的重要接入點(diǎn),在程序編寫過(guò)程中主要是運(yùn)用子程序界面疊加彈出方式即打開(kāi)子程序的同時(shí)并不關(guān)閉主界面程序的方法。在該界面的上

51、面設(shè)有特定的退出登錄,下方顯示的是登錄進(jìn)入系統(tǒng)的用戶相關(guān)信息,并且在旁邊顯示出登錄時(shí)間,這是通過(guò)調(diào)用系統(tǒng)函數(shù)的形式加入一個(gè)控件實(shí)現(xiàn)的。4.3綜合管理界面綜合管理的的實(shí)現(xiàn)是一個(gè)重點(diǎn)容,主要涉與以下幾個(gè)方面:一是串口的實(shí)現(xiàn),它是進(jìn)行通信的基礎(chǔ);二是開(kāi)設(shè)一個(gè)遠(yuǎn)程訪問(wèn)端口,一個(gè)按鍵管理整個(gè)系統(tǒng)的遠(yuǎn)程技術(shù)這是利用一種循環(huán)掃描算法實(shí)現(xiàn)的操作;三是一些簡(jiǎn)單的按鍵操作主要實(shí)現(xiàn)對(duì)溫室模型各終端硬件的手動(dòng)控制。圖4-4 日常綜合管理界面4.3.1串口通信方式我們?nèi)粘Kf(shuō)的串口通信方式是一種按位進(jìn)行通信的方法,該方式與人們熟知的并口在比較中差異是速度相對(duì)較慢,但是它比較簡(jiǎn)單。常見(jiàn)的串口通信方式分為RS232,RS4

52、22和RS485三種,在本系統(tǒng)中采用的是RS232方式,只需要三根線(TX,RX,地線)對(duì)應(yīng)連接即可在串口程序的編寫過(guò)程中。主要是設(shè)定COM口的編號(hào),通信過(guò)程中所使用的波特率另外就是校驗(yàn)的加入。串口數(shù)據(jù)幀通常情況下由五個(gè)數(shù)據(jù)模塊組成,為了詳細(xì)的說(shuō)明數(shù)據(jù)格式的通信方式,特別用表進(jìn)行了說(shuō)明表4-1 數(shù)據(jù)幀格式數(shù)據(jù)塊12345定義幀 頭類型長(zhǎng)度數(shù)據(jù)校驗(yàn)數(shù)據(jù)長(zhǎng)度211N2說(shuō)明十六進(jìn)制0 x96,0 x690:主動(dòng)發(fā)送1:回復(fù)響應(yīng)數(shù)據(jù)塊4和5的數(shù)據(jù)長(zhǎng)度 要發(fā)送的數(shù)據(jù)塊 CRC校驗(yàn)在選用的RS232通信方式中,數(shù)據(jù)連接的雙方設(shè)定同樣的波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位。波特率是是通信速度的一種表示參數(shù)。它

53、以秒為單位確定一秒鐘時(shí)間傳輸?shù)腷it的個(gè)數(shù)。一般比特率設(shè)定的值會(huì)比較大,可以加快數(shù)據(jù)傳輸速度,但是波特率和距離成反比,所以在選取時(shí)要結(jié)合自身需要。數(shù)據(jù)位和停止位是指的數(shù)據(jù)包的形式發(fā)送的具體容,數(shù)據(jù)位一般不足八位通常會(huì)有5位7位或是8為例如在標(biāo)準(zhǔn)ASCII碼的數(shù)據(jù)位設(shè)計(jì)時(shí)選擇7位,這個(gè)主要看情況需要進(jìn)行具體的選擇處理。停止位標(biāo)準(zhǔn)指示的是數(shù)據(jù)停止,其位置在包的最后一位。通信過(guò)程中的奇偶校驗(yàn)是相對(duì)簡(jiǎn)單的一中數(shù)據(jù)檢驗(yàn)錯(cuò)誤的方法,主要是檢測(cè)傳輸和接受的數(shù)據(jù)是否同步,可以預(yù)測(cè)是否受到了噪聲干擾等情況。在現(xiàn)行的標(biāo)準(zhǔn)中有四種檢驗(yàn)方式:偶、奇、高和低。一般的小型通信系統(tǒng)沒(méi)有校驗(yàn)位也是可以的,一些小的問(wèn)題可以忽略

54、。4.3.2遠(yuǎn)程訪問(wèn)方式在該控制界面設(shè)置了一個(gè)Button按鍵,作為一個(gè)復(fù)用開(kāi)關(guān),在外觀表示上表現(xiàn)為開(kāi)啟和關(guān)閉狀態(tài)的切換。對(duì)于循環(huán)掃描數(shù)據(jù)庫(kù)表格數(shù)據(jù)的算法設(shè)計(jì)是一個(gè)重點(diǎn)也是一個(gè)難點(diǎn),因?yàn)椴徽撏ㄟ^(guò)數(shù)據(jù)庫(kù)直接修改還是通過(guò)網(wǎng)頁(yè)綁定的Gridview控件進(jìn)行修改,操作所改變的只是數(shù)據(jù)庫(kù)表格的一項(xiàng)數(shù)據(jù)容并沒(méi)有發(fā)送指令13。所以就一般意義上而言,它并沒(méi)有起到實(shí)質(zhì)性的作用。而掃描算法是一種連接方式,將數(shù)據(jù)的修改轉(zhuǎn)化為一條條字符指令通過(guò)串口通信方式傳送到Zigbee協(xié)調(diào)器,直至作用到終端設(shè)備。后臺(tái)服務(wù)程序的關(guān)鍵之處是開(kāi)啟一個(gè)可以進(jìn)行遠(yuǎn)程訪問(wèn)的服務(wù)。其次是實(shí)現(xiàn)單機(jī)控制,在軟件界面中設(shè)置一些開(kāi)關(guān)按鈕,分別對(duì)應(yīng)終端

55、設(shè)備的不同狀態(tài)。其實(shí)現(xiàn)的流程圖如下圖所示:開(kāi)啟與數(shù)據(jù)庫(kù)進(jìn)行連接循環(huán)檢測(cè)數(shù)據(jù)庫(kù)Zigbee協(xié)調(diào)器數(shù)據(jù)庫(kù)內(nèi)容改動(dòng)Zigbee終端節(jié)點(diǎn)圖4-5 遠(yuǎn)程訪問(wèn)方式的實(shí)現(xiàn)流程對(duì)于狀態(tài)切換指令的實(shí)現(xiàn),可以參見(jiàn)以下代碼,這里會(huì)涉與到一個(gè)Timer(定時(shí)器)控件,在其屬性中設(shè)定一個(gè)動(dòng)作周期,每經(jīng)過(guò)一個(gè)周期的時(shí)間都會(huì)把定時(shí)器中的代碼執(zhí)行一次。首先是切換狀態(tài)顯示方法的實(shí)現(xiàn):private void button15_Click_1(object sender, EventArgs e) /Button按鍵if (button15.Text = 服務(wù)器端口已開(kāi)啟) /檢測(cè)按鍵的初始狀態(tài)button15.Text = 服

56、務(wù)器端口已關(guān)閉; /之前開(kāi)啟則轉(zhuǎn)化為關(guān)閉toolStripStatusLabel1.Text = 手動(dòng)模式開(kāi)啟遠(yuǎn)程訪問(wèn)關(guān)閉;/下方狀態(tài)欄顯示timer3.Enabled = false; /定時(shí)器控件關(guān)閉elsebutton15.Text = 服務(wù)器口已開(kāi)啟; /如果之前已是關(guān)閉狀態(tài),轉(zhuǎn)為開(kāi)啟toolStripStatusLabel1.Text = 自動(dòng)模式開(kāi)啟遠(yuǎn)程訪問(wèn)開(kāi)啟;timer3.Enabled = true; /讓定時(shí)器使能開(kāi)始進(jìn)行掃描工作timer3.Start();在定時(shí)器開(kāi)始工作之后,就需要進(jìn)行一系列的動(dòng)作,在數(shù)據(jù)庫(kù)連接狀態(tài)完好的情況下,可以用以下代碼實(shí)現(xiàn)掃描數(shù)據(jù)庫(kù)數(shù)據(jù)發(fā)送操作

57、指令的設(shè)計(jì)14。由于這里的代碼控制的終端設(shè)備相對(duì)較多,但是都是以類似的方法實(shí)現(xiàn),所以僅以灌溉控制和溫度調(diào)節(jié)對(duì)算法的實(shí)現(xiàn)進(jìn)行說(shuō)明:string 灌溉控制,溫度調(diào)節(jié)1; /定義字符串,數(shù)據(jù)庫(kù)表中列名稱為依據(jù)private void timer3_Tick(object sender, EventArgs e) /定時(shí)器操作if (sdr.Read()灌溉控制=sdr灌溉控制.ToString().Trim(); 溫度調(diào)節(jié)1= sdr溫度調(diào)節(jié)1.ToString().Trim(); /進(jìn)行數(shù)據(jù)匹配sdr.Close();conn.Close(); /關(guān)閉數(shù)據(jù)讀取和連接功能bytezd = new b

58、yte1;if (SerialPort1.IsOpen = true) /檢測(cè)串口是否開(kāi)啟 if (灌溉控制=on) /檢測(cè)讀取的數(shù)據(jù)zd0 = (byte)A; /定義一個(gè)數(shù)組SerialPort1.Write(zd, 0, 1); /串口寫出數(shù)據(jù)else if (灌溉控制=off) /如檢測(cè)到另外一種狀態(tài)zd0 = (byte)B;SerialPort1.Write(zd,0,1); /串口對(duì)用寫出另外的命令System.Threading.Thread.Sleep(300); /程序暫停給串口傳送時(shí)間if (溫度調(diào)節(jié)1= on) /讀取另外一列的數(shù)據(jù)值z(mì)d0 = (byte)C;Seri

59、alPort1.Write(zd,0,1);else if (溫度調(diào)節(jié)1 =off) zd0 = (byte)D;SerialPort1.Write(zd, 0, 1); /分別對(duì)應(yīng)不同的讀取值發(fā)送不同指令4.3.3手動(dòng)模式指令控制在服務(wù)器電腦上可以通過(guò)后天軟件進(jìn)行系統(tǒng)的手動(dòng)控制,主要實(shí)現(xiàn)方式是在串口通信方式下通過(guò)按鍵進(jìn)行指令發(fā)送。在控制界面中對(duì)于所需要控制的終端設(shè)備分別有不同的劃分,左邊是操作設(shè)備終端的名稱,之后對(duì)應(yīng)著“ON”“OFF”選項(xiàng),與之對(duì)應(yīng)的是設(shè)備的開(kāi)關(guān)狀態(tài)。手動(dòng)模式的開(kāi)啟需要以服務(wù)器、串口以與按鍵操作為基礎(chǔ),通過(guò)按鍵串口發(fā)送指令到下位機(jī)即Zigbee的協(xié)調(diào)器節(jié)點(diǎn),并且會(huì)顯示動(dòng)作。

60、下面以一個(gè)終端的操作代碼實(shí)現(xiàn)為例講解手動(dòng)模式的實(shí)現(xiàn)過(guò)程。界面按鍵顯示狀態(tài)傳送命令手動(dòng)模式串口工作服務(wù)器圖4-6 手動(dòng)模式控制與工作流程private void button11_Click(object sender, EventArgs e) /圖示的一個(gè)ON按鍵byte data = new byte1; /定義一個(gè)數(shù)組替代之后的字符if (SerialPort1.IsOpen = true) /檢測(cè)串口類是否開(kāi)啟data0 = (byte)A; /把命令字符賦值給數(shù)組SerialPort1.Write(data, 0, 1); /串口類寫出數(shù)據(jù)命令private void button7

溫馨提示

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

評(píng)論

0/150

提交評(píng)論