版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE 基于物聯(lián)網(wǎng)的智能大棚控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓 名: 學(xué) 號(hào):指導(dǎo)教師:專 業(yè):網(wǎng)絡(luò)工程(物聯(lián)網(wǎng))完成日期:2016年04月30日 基于物聯(lián)網(wǎng)的智能大棚控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) PAGE iii摘 要隨著我國(guó)城市化建設(shè)的進(jìn)一步推進(jìn),我國(guó)可耕種地面積在逐年減少,如何充分利用現(xiàn)有的土地資源顯得十分重要。目前,我國(guó)北方大部分地區(qū)都有溫室大棚,由于溫濕度,光照,CO2濃度直接影響作物的產(chǎn)量,因此如何給作物提供一個(gè)適宜生長(zhǎng)的大棚環(huán)境,是一個(gè)值得研究的課題。本文設(shè)計(jì)了基于物聯(lián)網(wǎng)技術(shù)的溫室大棚系統(tǒng)。該系統(tǒng)滿足了用戶在遠(yuǎn)距離條件下對(duì)大棚內(nèi)環(huán)境參數(shù)的監(jiān)控,采用本系統(tǒng)可以實(shí)現(xiàn)大棚內(nèi)溫濕度、CO2濃度等環(huán)境變量的
2、自動(dòng)調(diào)節(jié)適宜作物生長(zhǎng)的區(qū)間,真正實(shí)現(xiàn)溫室大棚的無(wú)人化管理。本系統(tǒng)分為了三個(gè)模塊:網(wǎng)頁(yè)模塊,無(wú)線網(wǎng)絡(luò)模塊,網(wǎng)關(guān)模塊,網(wǎng)關(guān)模塊是利用QT語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,搭載了s3c2440處理器的ARM9開(kāi)發(fā)板,SQLite3嵌入式數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),在Linux系統(tǒng)下使用QT Creator進(jìn)行開(kāi)發(fā),網(wǎng)頁(yè)模塊是采用PHP腳本語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,在開(kāi)發(fā)板上搭建了小型的web服務(wù)器,并集成了Highcharts插件,使得數(shù)據(jù)顯示的更加美觀、立體。無(wú)線網(wǎng)絡(luò)模塊使用的是ZigBee協(xié)議,充分的利用了ZigBee自組網(wǎng)、低功耗的特點(diǎn),采用IAR for ARM作為開(kāi)發(fā)環(huán)境。本系統(tǒng)采用了當(dāng)前熱門(mén)的物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和
3、無(wú)線傳感器網(wǎng)絡(luò)技術(shù)相結(jié)合的方法,并搭載了各種傳感器(溫度傳感器、濕度傳感器、光照度傳感器、土壤濕度傳感器、熱釋紅外感應(yīng)傳感器)和無(wú)線通信模塊,最終實(shí)現(xiàn)了對(duì)大棚生產(chǎn)過(guò)程中各項(xiàng)環(huán)境參數(shù)的精準(zhǔn)測(cè)量,并智能控制大棚內(nèi)各項(xiàng)環(huán)境狀況,進(jìn)而實(shí)現(xiàn)大棚環(huán)境的自動(dòng)保溫、保濕、土壤濕度、歷史數(shù)據(jù)的記錄和安防監(jiān)測(cè)等功能。物聯(lián)網(wǎng)智能大棚系統(tǒng)還具有遠(yuǎn)程訪問(wèn)與控制功能。用戶使用PC機(jī)不僅可以遠(yuǎn)程訪問(wèn)大棚內(nèi)的相關(guān)數(shù)據(jù),實(shí)時(shí)觀察植物的長(zhǎng)勢(shì),還可以遠(yuǎn)程控制大棚內(nèi)部的執(zhí)行器件(風(fēng)扇、加濕器、加熱器)來(lái)改變大棚內(nèi)部環(huán)境?!娟P(guān)鍵詞】QT語(yǔ)言;無(wú)線傳感技術(shù);PHP腳本語(yǔ)言;SQLite3數(shù)據(jù)庫(kù);ZigBee協(xié)議;Android語(yǔ)言Abs
4、tractWith the further advance of urbanization construction in our country, Chinas arable land area is reducing year by year, how to make full use of existing land resources is very important.At present, most areas have greenhouses in north China, due to the temperature and humidity, light, CO2 conce
5、ntration directly affect the output of crops, so how to provide a suitable for the growth of greenhouse environment, is a subject worth studying.This paper designed the greenhouses system based on Internet of things technology.The system can meet the users under the condition of long distance inside
6、 the greenhouse environment parameter monitoring, using this system can implement inside the greenhouse temperature and humidity, CO2 concentration and other environment variables automatically adjust the range of suitable for crop growth, achieve the unmanned management of greenhouses.This system i
7、s divided into three modules: the web module, wireless module, the gateway module, the gateway module is to use the QT language as a development language, carrying the s3c2440 processor ARM9 development board, SQLite3 embedded database as the back end database, using QT Creator for development under
8、 Linux system, the web module is using PHP scripting language as a development language, on the development board has set up a web server, for the small and integrate the Highcharts plug-ins, make the data more beautiful, stereo.Wireless network module is using a ZigBee agreement, fully using the Zi
9、gBee ad-hoc network and the characteristics of low power consumption, USES the IAR for ARM as a development environment.This system uses the current popular Internet of things technology, embedded technology and wireless sensor network technology with the combination of methods, and carried a variet
10、y of sensors (temperature sensor, humidity sensor, light sensor, a soil moisture sensors, pyroelectric infrared sensor) and wireless communication module, finally achieved to shed the various environmental parameters in the production process of precision measurement, and the environmental situation
11、 in the greenhouse intelligent control, thus realizes the greenhouse environment automatic heat preservation, moisture, soil humidity, historical data records and security monitoring, and other functions.The Internet of things intelligent greenhouse system also has the function of remote access and
12、control.Users not only can use PC remote access to the data inside the greenhouse, looks like the real-time observation of plants, can also remote control greenhouse internal executive components (fan, humidifier, heater) to change inside the greenhouse environment. 【key words】QT language;Wireless s
13、ensor technology;PHP scripting language;SQLite3 database;ZigBee protocol;Android languagePAGE II目 錄 TOC o 1-3 h z u HYPERLINK l _Toc4179 第1章 緒 論 PAGEREF _Toc4179 1 HYPERLINK l _Toc18652 1.1 研究背景 PAGEREF _Toc18652 1 HYPERLINK l _Toc31984 1.2國(guó)內(nèi)外研究現(xiàn)狀 PAGEREF _Toc31984 1 HYPERLINK l _Toc6617 1.3 前景意義 PA
14、GEREF _Toc6617 1 HYPERLINK l _Toc24866 1.4 系統(tǒng)特征 PAGEREF _Toc24866 2 HYPERLINK l _Toc5353 1.5 論文組織結(jié)構(gòu) PAGEREF _Toc5353 2 HYPERLINK l _Toc29091 第2章 系統(tǒng)相關(guān)技術(shù)基礎(chǔ) PAGEREF _Toc29091 3 HYPERLINK l _Toc29816 2.1 PHP技術(shù)簡(jiǎn)介 PAGEREF _Toc29816 3 HYPERLINK l _Toc23899 2.2 Qt語(yǔ)言簡(jiǎn)介 PAGEREF _Toc23899 3 HYPERLINK l _Toc228
15、41 2.3 Andriod技術(shù)簡(jiǎn)介 PAGEREF _Toc22841 4 HYPERLINK l _Toc25082 2.3.1 AndroidStudio環(huán)境的簡(jiǎn)介 PAGEREF _Toc25082 4 HYPERLINK l _Toc13017 2.3.2 Android Studio常用功能的介紹 PAGEREF _Toc13017 6 HYPERLINK l _Toc7753 2.4 SQLite數(shù)據(jù)庫(kù) PAGEREF _Toc7753 8 HYPERLINK l _Toc9091 2.4.1 SQLite數(shù)據(jù)庫(kù)簡(jiǎn)介 PAGEREF _Toc9091 8 HYPERLINK l
16、_Toc22567 第3章 系統(tǒng)概要設(shè)計(jì) PAGEREF _Toc22567 9 HYPERLINK l _Toc23668 3.1系統(tǒng)硬件設(shè)計(jì) PAGEREF _Toc23668 9 HYPERLINK l _Toc23375 3.1.1無(wú)線傳感網(wǎng)絡(luò)模塊 PAGEREF _Toc23375 9 HYPERLINK l _Toc9256 3.1.2 ZigBee無(wú)線通信模塊 PAGEREF _Toc9256 10 HYPERLINK l _Toc32594 3.1.3傳感器模塊 PAGEREF _Toc32594 10 HYPERLINK l _Toc31460 3.2系統(tǒng)軟件設(shè)計(jì) PAGER
17、EF _Toc31460 11 HYPERLINK l _Toc5745 3.2.1嵌入式網(wǎng)關(guān)軟件平臺(tái)搭建 PAGEREF _Toc5745 12 HYPERLINK l _Toc14511 3.2.2嵌入式網(wǎng)關(guān)的界面實(shí)現(xiàn) PAGEREF _Toc14511 12 HYPERLINK l _Toc21562 3.2.3 網(wǎng)絡(luò)遠(yuǎn)程控制程序設(shè)計(jì) PAGEREF _Toc21562 12 HYPERLINK l _Toc6134 3.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc6134 13 HYPERLINK l _Toc29205 3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc29205 13
18、HYPERLINK l _Toc31345 3.3.2數(shù)據(jù)庫(kù)概念模型圖 PAGEREF _Toc31345 13 HYPERLINK l _Toc18720 3.3.3數(shù)據(jù)詞典 PAGEREF _Toc18720 13 HYPERLINK l _Toc25088 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) PAGEREF _Toc25088 15 HYPERLINK l _Toc5131 4.1 設(shè)計(jì)目標(biāo) PAGEREF _Toc5131 15 HYPERLINK l _Toc9621 4.1.1網(wǎng)關(guān)控制功能 PAGEREF _Toc9621 15 HYPERLINK l _Toc24801 4.1.2網(wǎng)頁(yè)查詢控制
19、功能 PAGEREF _Toc24801 15 HYPERLINK l _Toc27252 4.1.3 手機(jī)APP端的查詢控制功能 PAGEREF _Toc27252 15 HYPERLINK l _Toc14796 4.2 溫室大棚系統(tǒng)網(wǎng)關(guān)的詳細(xì)設(shè)計(jì) PAGEREF _Toc14796 15 HYPERLINK l _Toc27711 4.2.1 網(wǎng)關(guān)界面設(shè)計(jì) PAGEREF _Toc27711 15 HYPERLINK l _Toc1378 4.3 溫室大棚系統(tǒng)網(wǎng)頁(yè)部分的詳細(xì)設(shè)計(jì) PAGEREF _Toc1378 34 HYPERLINK l _Toc12980 4.3.1 HTML顯示界
20、面 PAGEREF _Toc12980 34 HYPERLINK l _Toc25087 4.3.2 AJAX請(qǐng)求腳本 PAGEREF _Toc25087 35 HYPERLINK l _Toc2565 4.3.3 傳輸數(shù)據(jù) PAGEREF _Toc2565 36 HYPERLINK l _Toc7472 4.4 溫室大棚系統(tǒng)手機(jī)APP模塊 PAGEREF _Toc7472 38 HYPERLINK l _Toc31528 第5章 系統(tǒng)測(cè)試 PAGEREF _Toc31528 45 HYPERLINK l _Toc12098 5.1 測(cè)試方案 PAGEREF _Toc12098 45 HYPE
21、RLINK l _Toc11171 5.1.1測(cè)試目的 PAGEREF _Toc11171 45 HYPERLINK l _Toc9320 5.1.2 測(cè)試原則 PAGEREF _Toc9320 45 HYPERLINK l _Toc2191 5.1.4 測(cè)試用例 PAGEREF _Toc2191 46 HYPERLINK l _Toc26662 5.1.5 測(cè)試分析 PAGEREF _Toc26662 47 HYPERLINK l _Toc32495 第6章 系統(tǒng)總結(jié)和展望 PAGEREF _Toc32495 48 HYPERLINK l _Toc19669 6.1 系統(tǒng)總結(jié) PAGEREF
22、 _Toc19669 48 HYPERLINK l _Toc21394 6.2 展望 PAGEREF _Toc21394 49 HYPERLINK l _Toc14459 參考文獻(xiàn) PAGEREF _Toc14459 49 HYPERLINK l _Toc32527 致 謝 PAGEREF _Toc32527 51基于物聯(lián)網(wǎng)的智能大棚控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)PAGE 53第1章 緒 論1.1 研究背景在“十二五”規(guī)劃中,物聯(lián)網(wǎng)成為了新興高新產(chǎn)業(yè)中最為熱門(mén)的技術(shù)之一。隨著物聯(lián)網(wǎng)的廣泛應(yīng)用,各行各業(yè)將得到快速的發(fā)展。物聯(lián)網(wǎng)在農(nóng)業(yè)中實(shí)現(xiàn)的智能化系統(tǒng),能夠降低勞動(dòng)力成本,將傳統(tǒng)的勞動(dòng)密集型產(chǎn)業(yè)逐步轉(zhuǎn)型。本
23、文從實(shí)際農(nóng)業(yè)種植、管理的角度出發(fā),闡述了物聯(lián)網(wǎng)在農(nóng)業(yè)中的信息化應(yīng)用,提高產(chǎn)業(yè)效率,改革農(nóng)業(yè)管理,所闡述的智能農(nóng)業(yè)系統(tǒng)已經(jīng)得到實(shí)際應(yīng)用,能更清晰地看到物聯(lián)網(wǎng)的重要作用。1.2國(guó)內(nèi)外研究現(xiàn)狀本文介紹了智能農(nóng)業(yè)系統(tǒng)軟硬件設(shè)計(jì),采用ZigBee技術(shù)構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)克服了有線傳感器網(wǎng)絡(luò)的局限性,具有低成本、低功耗、安全性高、易擴(kuò)展、維護(hù)部署方便等特點(diǎn)。本系統(tǒng)監(jiān)控溫室內(nèi)狀態(tài)不受地理位置限制,并完善移動(dòng)終端系統(tǒng)。本系統(tǒng)的創(chuàng)意在于將日漸成熟的物聯(lián)網(wǎng)技術(shù)與農(nóng)業(yè)大棚系統(tǒng)結(jié)合起來(lái)。通過(guò)無(wú)線采集技術(shù)及無(wú)線控制技術(shù)組建了一個(gè)可以遠(yuǎn)程管理的農(nóng)業(yè)大棚。采集的數(shù)據(jù)可以通過(guò)網(wǎng)絡(luò)傳輸?shù)街骺刂行倪M(jìn)行數(shù)據(jù)關(guān)聯(lián)、數(shù)據(jù)分析,實(shí)現(xiàn)智能
24、農(nóng)業(yè)大棚系統(tǒng)從數(shù)據(jù)采集、遠(yuǎn)程監(jiān)控、數(shù)據(jù)分析匯總的一體化解決方案。1.3 前景意義對(duì)于農(nóng)業(yè)工作人員而言,作物對(duì)環(huán)境溫度、濕度的光照要求強(qiáng)度的要求往往很高,從而要求用戶具備一定的農(nóng)學(xué)專業(yè)知識(shí)。并且傳統(tǒng)的農(nóng)業(yè)大棚投入人力很多,人力和管理成本的增加無(wú)疑會(huì)大大境地農(nóng)業(yè)大棚的創(chuàng)收。智能農(nóng)業(yè)大棚系統(tǒng)可方便遠(yuǎn)程調(diào)控大棚內(nèi)的環(huán)境狀況,實(shí)現(xiàn)農(nóng)業(yè)大棚的科學(xué)管理,提高農(nóng)業(yè)人員的工作效率,降低綜合成本,帶來(lái)客觀的經(jīng)濟(jì)效益。對(duì)于科研人員而言,智能農(nóng)業(yè)大棚系記錄大棚內(nèi)各項(xiàng)作物不同時(shí)期的生長(zhǎng)情況和各項(xiàng)數(shù)據(jù),方便了科研工作。 總之,智能農(nóng)業(yè)大棚系統(tǒng)可以使農(nóng)業(yè)行業(yè)的發(fā)展更加的迅速,前景更加的美好。1.4 系統(tǒng)特征本系統(tǒng)分為無(wú)線傳
25、感網(wǎng)絡(luò)、網(wǎng)關(guān)和主控中心三個(gè)部分,把嵌入式技術(shù),傳感器檢測(cè)技術(shù),無(wú)線通信等技術(shù)相結(jié)合。無(wú)線傳感網(wǎng)絡(luò)由協(xié)調(diào)器、路由器、四個(gè)數(shù)據(jù)采集節(jié)點(diǎn)(安防傳感器節(jié)點(diǎn)、光照度傳感器節(jié)點(diǎn)、溫度傳感器節(jié)點(diǎn)、濕度傳感器節(jié)點(diǎn))及一個(gè)控制節(jié)點(diǎn)組成。四個(gè)數(shù)據(jù)采集節(jié)點(diǎn)負(fù)責(zé)采集大棚內(nèi)溫度、濕度、光照度、安防信息并將采集到的數(shù)據(jù)經(jīng)路由器傳輸?shù)絽f(xié)調(diào)器。路由節(jié)點(diǎn)保障每個(gè)節(jié)點(diǎn)的有效數(shù)據(jù)傳輸路徑,確保數(shù)據(jù)傳輸穩(wěn)定。協(xié)調(diào)器負(fù)責(zé)對(duì)采集的數(shù)據(jù)進(jìn)行匯總處理,一方面將控制命令發(fā)給控制節(jié)點(diǎn),控制控制節(jié)點(diǎn)執(zhí)行風(fēng)扇、加濕器、加熱器的開(kāi)關(guān)來(lái)協(xié)調(diào)大棚內(nèi)的環(huán)境,另一方面,協(xié)調(diào)器與網(wǎng)關(guān)通過(guò)串口通信傳遞大棚內(nèi)各種設(shè)置參數(shù)、命令及數(shù)據(jù)。網(wǎng)關(guān)架起了無(wú)線傳感網(wǎng)絡(luò)與局域網(wǎng)
26、通信渠道,將物聯(lián)網(wǎng)連入了互聯(lián)網(wǎng)。它通過(guò)標(biāo)準(zhǔn)串口與ZigBee協(xié)調(diào)器連接,收集無(wú)線傳感器網(wǎng)絡(luò)上傳的數(shù)據(jù),一方面接收協(xié)調(diào)器傳送的數(shù)據(jù),一方面通過(guò)無(wú)線路由器與主控中心聯(lián)系,將實(shí)時(shí)信息傳送給控制中心,并接收主控中心的命令,完成遠(yuǎn)程監(jiān)控大棚內(nèi)的環(huán)境信息。系統(tǒng)功能如下:1.實(shí)時(shí)監(jiān)測(cè)溫濕度、光照度、安防等信息。2.傳感器的歷史曲線。3.安防報(bào)警4.自動(dòng)控制5.遠(yuǎn)程控制1.5 論文組織結(jié)構(gòu)本論文共分七章。論文的第1章為緒論,這一章主要講述了本系統(tǒng)的研究背景、國(guó)內(nèi)外研究現(xiàn)狀、前景意義、系統(tǒng)結(jié)構(gòu)和論文的組織結(jié)構(gòu);第2章主要介紹了開(kāi)發(fā)本系統(tǒng)的相關(guān)技術(shù)基礎(chǔ),主要介紹了JSP,Java,MySQL和SQL語(yǔ)言的簡(jiǎn)介等基
27、礎(chǔ)知識(shí);第3章是對(duì)系統(tǒng)做的整體設(shè)計(jì),主要對(duì)系統(tǒng)的整體架構(gòu)構(gòu)架出來(lái)一個(gè)模型,確定各個(gè)模塊大體應(yīng)該能夠完成的功能,還對(duì)數(shù)據(jù)庫(kù)做了一個(gè)大體的設(shè)計(jì)。包含數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)、模型設(shè)計(jì)和物理設(shè)計(jì)等;論文從第4章開(kāi)始介紹開(kāi)發(fā)此系統(tǒng)的詳細(xì)過(guò)程,主要包括系統(tǒng)UI的設(shè)計(jì),業(yè)務(wù)邏輯的設(shè)計(jì)、通信邏輯及其協(xié)議的設(shè)計(jì)。包含了業(yè)務(wù)流程圖、系統(tǒng)功能結(jié)構(gòu)圖,系統(tǒng)詳細(xì)設(shè)計(jì)包括設(shè)計(jì)目標(biāo)、邏輯結(jié)構(gòu)設(shè)計(jì)、具體實(shí)現(xiàn)的功能等;第五章是對(duì)系統(tǒng)進(jìn)行的測(cè)試。測(cè)試各個(gè)功能是否能夠正常的工作。包括了測(cè)試用例圖;最后一章是對(duì)本系統(tǒng)的總結(jié)與對(duì)未來(lái)發(fā)展和改善的展望。第2章 系統(tǒng)相關(guān)技術(shù)基礎(chǔ)2.1 PHP技術(shù)簡(jiǎn)介PHP是一種服務(wù)器端的,嵌入HTML的腳本
28、語(yǔ)言。PHP區(qū)別其他像客戶端JavaScript的地方是它的代碼在服務(wù)器端執(zhí)行.PHP能做什么?最低水平,PHP可以做任何其他CGI程序所能做的事務(wù),例如收集表格數(shù)據(jù),生成動(dòng)態(tài)頁(yè)面內(nèi)容,或者收發(fā)cookies??赡茏顝?qiáng)大的、最有意義的特性是PHP支持大范圍的數(shù)據(jù)庫(kù)。書(shū)寫(xiě)一個(gè)支持?jǐn)?shù)據(jù)庫(kù)的Web頁(yè)面是難以置信的簡(jiǎn)單。當(dāng)前PHP支持的數(shù)據(jù)庫(kù):Adabas D、IterBase、Solid、dBase、MySQL、SyBase、Velocis、FilePro、Oracle、Unix、DBM、Informix、PostgreSQL、SQLite。PHP通過(guò)協(xié)議也支持與其他服務(wù)的”交談”,像IMAP,SN
29、MP,NNTP,POP3,設(shè)置是HTTP也可以打開(kāi)晦澀的網(wǎng)絡(luò)接口和其他協(xié)議交互。除此之外,用PHP寫(xiě)出來(lái)的Web后端CGI程序,可以很輕易的移植到不同的系統(tǒng)平臺(tái)上。例如,先以LInux架的網(wǎng)站,在系統(tǒng)負(fù)荷過(guò)高時(shí),可以快速地將整個(gè)系統(tǒng)移到SUN工作站上,不用重新編譯CGI程序。這也是本論文選擇PHP作為服務(wù)器端語(yǔ)言的非常重要的原因之一。2.2 Qt語(yǔ)言簡(jiǎn)介 Qt是一個(gè)基于C+的跨平臺(tái)應(yīng)用程序和UI開(kāi)發(fā)框架。它包含一個(gè)類庫(kù),和用于跨平臺(tái)開(kāi)發(fā)及國(guó)際化的工具。由挪威Trolltech公司開(kāi)發(fā),目前已被Nokia收購(gòu),而且Qt的”write once,compile anywhere”的跨平臺(tái)特性非常的
30、優(yōu)秀,QT語(yǔ)言有非常多的優(yōu)點(diǎn),像剛提到過(guò)的優(yōu)良的跨平臺(tái)特性,面向?qū)ο蟮奶匦裕篞T的良好封裝機(jī)制使得Qt的模塊化程度非常高,可重用性較好,對(duì)于用戶開(kāi)發(fā)來(lái)說(shuō)是非常方便的。Qt提供了一種稱為signals/slots的安全類型來(lái)替代callback,使得各個(gè)元件之間的協(xié)同工作變得十分簡(jiǎn)單。另外Qt還有豐富的API,Qt包含多達(dá)到500個(gè)以上的C+類,還提供了基于模板的collections,serialization,file,I/O devices,directory management,data/time類。甚至還包括正則表達(dá)式的處理功能以及對(duì)XML的支持都使得Qt語(yǔ)言作為網(wǎng)關(guān)界面開(kāi)發(fā)的最有力
31、的證據(jù)。2.3 Andriod技術(shù)簡(jiǎn)介 Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)在1886年發(fā)表的科幻小說(shuō)未來(lái)夏娃中,他將外表像人的機(jī)器人起名為Android。2010年2月3日,Linux內(nèi)核開(kāi)發(fā)者Greg Kroah-Hartman將Android的驅(qū)動(dòng)程序從Linux內(nèi)核“狀態(tài)樹(shù)”上除去,從此Android與Linux核心開(kāi)發(fā)分道揚(yáng)鑣。Android是Google開(kāi)發(fā)的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序-移動(dòng)電話工作的全部所需軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有障礙。Android以Java為變成語(yǔ)言,使接口到功能,都有層出不窮的變化,
32、2014年5月16日,在I/O大會(huì)上,谷歌推出新的Android開(kāi)發(fā)環(huán)境-Android Studio,并對(duì)開(kāi)發(fā)者控制臺(tái)進(jìn)行改進(jìn)。2.3.1 AndroidStudio環(huán)境的簡(jiǎn)介 Android Studio 是一個(gè)Android開(kāi)發(fā)環(huán)境,基于 HYPERLINK /view/2735945.htm t /_blank IntelliJ IDEA. 類似 HYPERLINK /subview/23576/9374802.htm t /_blank Eclipse HYPERLINK /view/1237351.htm t /_blank ADT,Android Studio 提供了集成的 An
33、droid 開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。在 HYPERLINK /view/92629.htm t /_blank IDEA的基礎(chǔ)上,Android Studio 提供:基于 HYPERLINK /view/9916271.htm t /_blank Gradle的構(gòu)建支持Android 專屬的重構(gòu)和快速修復(fù)提示工具以捕獲性能、可用性、版本兼容性等問(wèn)題支持 HYPERLINK /view/1834969.htm t /_blank ProGuard和應(yīng)用簽名基于模板的向?qū)?lái)生成常用的 Android 應(yīng)用設(shè)計(jì)和組件功能強(qiáng)大的布局編輯器,可以讓你拖拉 UI 控件并進(jìn)行效果預(yù)覽 2013年2013年5
34、月16日,在I/O大會(huì)上,谷歌推出新的Android開(kāi)發(fā)環(huán)境Android Studio,并對(duì)開(kāi)發(fā)者控制臺(tái)進(jìn)行了改進(jìn),增加了五個(gè)新的功能。Android Studio是谷歌推出了新的Android開(kāi)發(fā)環(huán)境,開(kāi)發(fā)者可以在編寫(xiě)程序的同時(shí)看到自己的應(yīng)用在不同尺寸屏幕中的樣子。2015年5月29日,在谷歌I/O開(kāi)發(fā)者大會(huì)上,谷歌發(fā)布AndroidStudio 1.3版,支持C+編輯和查錯(cuò)功能。Android Studio 1.3版開(kāi)發(fā)碼代碼變得更加容易,速度提升,而且支持C+編輯和查錯(cuò)功能。Android Studio的主界面非常的美觀,如圖2-1所示:圖 2-1 Android Studio的主界面
35、 這個(gè)界面,顯示了我們使用 Android Studio時(shí)經(jīng)常接觸到的功能面板。下面分別進(jìn)行介紹: 1.Project 面板。用于瀏覽項(xiàng)目文件。 Project 面板會(huì)顯示當(dāng)前的所有的 module 。android application module 會(huì)顯示一個(gè)手機(jī)圖標(biāo)(下圖中的 app);android library module 會(huì)顯示一個(gè)書(shū)架圖標(biāo)(下圖中的 android-lib);java library module 會(huì)顯示一個(gè)咖啡圖標(biāo)(下圖中的 javalib)。 2.Build Variants 面板。用于設(shè)置當(dāng)前項(xiàng)目的 Build Variants ( Gradle 知識(shí)
36、)。所有的 Module 默認(rèn)都會(huì)有 release 和 debug 兩種選項(xiàng)。當(dāng)你添加了 BuildTypes 和 productFlavors ,這里將出現(xiàn)更多的選項(xiàng)( Gradle 知識(shí))。默認(rèn)情況下, release 和 debug 的區(qū)別并不是很明顯;針對(duì)于代碼來(lái)說(shuō),是沒(méi)有區(qū)別的。 3.Android 面板。功能類似于 Eclipse 中的 Logcat ,但是比其多了一些常用功能,例如:截圖,查看系統(tǒng)信息等。 4.編輯區(qū)。用于編輯文件。Gradle 面板。Gradle 任務(wù)列表,雙擊可執(zhí)行 Gradle 任務(wù)。常用任務(wù): build 、clean 、assemble 、assemb
37、leRelease 、assembleDebug 、lint 。2.3.2 Android Studio常用功能的介紹另外,Android Studio還提供了一些使用的功能:常用按鈕(1)編譯右側(cè) module 列表中顯示的 module 。(2)當(dāng)前 project 的 module 列表。(3)運(yùn)行左側(cè) module 列表中顯示的 module 。(4)debug 左側(cè) module 列表中顯示的 module 。(5)attach debugger to Android process 。(6)設(shè)置。(7)項(xiàng)目屬性。(8)使用 Gradle 編譯 project 。(9)虛擬機(jī)。(10
38、)SDK Manager 。(11)DDMS。2.常用面板Structure 用于顯示當(dāng)前活動(dòng)文件的結(jié)構(gòu)。不僅僅支持 Java 文件,同時(shí)支持 Xml 文件、 .properties 配置文件等其他文件。如圖 所示:當(dāng)你查看布局文件或者 drawable 的 Xml 文件時(shí),右側(cè)會(huì)有 Preview 選項(xiàng),用于預(yù)覽效果。2.4 SQLite數(shù)據(jù)庫(kù)2.4.1 SQLite數(shù)據(jù)庫(kù)簡(jiǎn)介 SQLite,是一款輕型數(shù)據(jù)庫(kù),是遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫(kù)中。它是D.RichardHipp建立的公有領(lǐng)域項(xiàng)目。它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占
39、用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如TCL、C#、PHP、Java等,還有ODBC接口,同樣比起MySQL、PostgreSQL這兩款開(kāi)源的世界著名數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它們的處理速度比它們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月。至2015年已經(jīng)有15個(gè)年頭,SQLite也迎來(lái)一個(gè)版本SQLite3已經(jīng)發(fā)布。 不像常見(jiàn)的客戶-服務(wù)器范例,SQLite引擎不是個(gè)程序與之通信的獨(dú)立進(jìn)程,而是連接到程序中成為它的一個(gè)主要部分。所以主要的通信協(xié)議是在編程語(yǔ)言內(nèi)
40、的直接API調(diào)用。這在消耗總量、延遲時(shí)間和整體簡(jiǎn)單性上有積極的作用。整個(gè)數(shù)據(jù)庫(kù)(定義、表、索引和數(shù)據(jù)本身)都在宿主存儲(chǔ)在一個(gè)單一的文件中。它的簡(jiǎn)單設(shè)計(jì)是通過(guò)在開(kāi)始一個(gè)事務(wù)的時(shí)候鎖定整個(gè)數(shù)據(jù)文件而完成的。它的功能特性有:ACID事務(wù)、零配置-無(wú)需安裝和管理配置、儲(chǔ)存在單一磁盤(pán)文件中的一個(gè)完整的數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由的共享、支持?jǐn)?shù)據(jù)庫(kù)大小至2TB、足夠小,大致13萬(wàn)行C語(yǔ)言,4.43M、比一些流行的數(shù)據(jù)庫(kù)和大部分普通數(shù)據(jù)庫(kù)中操作要快、簡(jiǎn)單,輕松的API、包含TCL綁定,同時(shí)通過(guò)Wrapper支持其他語(yǔ)言的綁定、良好注釋的源代碼,并且有著90%以上的測(cè)試覆蓋率、獨(dú)立:沒(méi)有額
41、外依賴、源碼完全的開(kāi)源,你可以用于任何用途,包括出售它、支持多種開(kāi)發(fā)語(yǔ)言,C,C+,PHP,Perl,Java,C#,Python,Buby等。 同時(shí)它還支持事務(wù)處理功能等等。也有人說(shuō)它像Miscrosoft的Access,有時(shí)候真的覺(jué)得有點(diǎn)像,但是事實(shí)上它們區(qū)別很大。比如SQLite支持跨平臺(tái),操作簡(jiǎn)單,能夠使用很多語(yǔ)言直接創(chuàng)建數(shù)據(jù)庫(kù),而不像Access一樣需要Office的支持。如果你是個(gè)很小型的應(yīng)用,或者你想做嵌入式開(kāi)發(fā),沒(méi)有合適的數(shù)據(jù)庫(kù)系統(tǒng),那么你可以考慮使用SQLite。同時(shí)因?yàn)閿?shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)源代碼也不是很多,也適合想研究數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)的專業(yè)人士。第3章 系統(tǒng)概要設(shè)計(jì)智慧農(nóng)業(yè)園
42、系統(tǒng)分為無(wú)線傳感網(wǎng)絡(luò)、網(wǎng)關(guān)和主控中心三個(gè)部分。嵌入式網(wǎng)關(guān)采用基于ARM A8處理器的開(kāi)發(fā)板實(shí)現(xiàn),是整個(gè)系統(tǒng)的主控中心。網(wǎng)關(guān)通過(guò)標(biāo)準(zhǔn)串口與ZigBee協(xié)調(diào)器連接,收集無(wú)線傳感器網(wǎng)絡(luò)上傳的數(shù)據(jù),進(jìn)行分析,通過(guò)SOCKET通訊傳給UI界面進(jìn)行查看控制;另一方面通過(guò)網(wǎng)線與無(wú)線路由器連接,架起了無(wú)線傳感器網(wǎng)絡(luò)與局域網(wǎng)之間的數(shù)據(jù)通訊渠道,將物聯(lián)網(wǎng)連入了互聯(lián)網(wǎng),通過(guò)無(wú)線路由器,用戶可以遠(yuǎn)程訪問(wèn)無(wú)線傳感器網(wǎng)絡(luò)所采集的數(shù)據(jù),可以設(shè)置系統(tǒng)的溫度和濕度參數(shù),可以向無(wú)線傳感器網(wǎng)絡(luò)中的控制節(jié)點(diǎn)發(fā)送控制命令,進(jìn)而遠(yuǎn)程控制執(zhí)行器件來(lái)調(diào)節(jié)溫室內(nèi)部環(huán)境,實(shí)現(xiàn)了人與物之間的信息交互。系統(tǒng)整體功能框圖如圖3-1所示:圖3-1 系統(tǒng)
43、功能框圖3.1系統(tǒng)硬件設(shè)計(jì)智慧農(nóng)業(yè)園監(jiān)控系統(tǒng)的硬件部分主要由無(wú)線傳感網(wǎng)絡(luò)模塊、嵌入式網(wǎng)關(guān)模塊構(gòu)成。3.1.1無(wú)線傳感網(wǎng)絡(luò)模塊 智慧農(nóng)業(yè)園的無(wú)線傳感網(wǎng)絡(luò)硬件采用模塊化的思路完成設(shè)計(jì),主要包括傳感器模塊、控制器模塊和ZigBee無(wú)線通信模塊三部分。傳感器模塊和控制器模塊是搭載在ZigBee無(wú)線通信模塊之上。這樣的結(jié)構(gòu)化設(shè)計(jì)方便用戶更換器件,最大限度的滿足實(shí)際設(shè)計(jì)的需求。其中ZigBee無(wú)線通信模塊和傳感器模塊組合為數(shù)據(jù)采集節(jié)點(diǎn),ZigBee無(wú)線通信模塊和控制模塊組合為控制節(jié)點(diǎn)。3.1.2 ZigBee無(wú)線通信模塊 ZigBee無(wú)線通信模塊是由核心板和外接主板組成。 ZigBee無(wú)線通信核心板的主控
44、芯片采用TI公司生產(chǎn)的ZigBee無(wú)線通信芯片CC2530,負(fù)責(zé)驅(qū)動(dòng)傳感器以及數(shù)據(jù)的接收和發(fā)送。CC2530是一個(gè)真正用于IEEE802.15.4的ZigBee和RF4CE應(yīng)用的片上系統(tǒng)(SOC)解決方案,其能以較低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530集成了業(yè)界領(lǐng)先的RF收發(fā)器、增強(qiáng)工業(yè)標(biāo)準(zhǔn)的8051MCU,在系統(tǒng)可編程Flash存儲(chǔ)器,8kB的RAM和其他功能,且適合需要超低功耗的系統(tǒng)。協(xié)調(diào)器節(jié)點(diǎn)負(fù)責(zé)網(wǎng)絡(luò)的組建,完成各個(gè)終端節(jié)點(diǎn)的數(shù)據(jù)匯總打包,并將打包后的數(shù)據(jù)信息通過(guò)串口傳送給嵌入式網(wǎng)關(guān)。3.1.3傳感器模塊 傳感器模塊由不同的傳感器實(shí)現(xiàn),包括溫濕度傳感器、光照度傳感器、土壤濕度傳感器和熱
45、釋紅外傳感器。 1.溫濕度傳感器 溫濕度數(shù)據(jù)采集節(jié)點(diǎn)采用SHT10采集農(nóng)業(yè)大棚中的溫度和濕度,工作電壓2.4-2.5V,測(cè)濕精度為+-4.5%RH,足以滿足大棚要求。SHT10采用SMD貼片封裝,用兩條串行線與處理器進(jìn)行數(shù)據(jù)通信。數(shù)據(jù)采集完后ZigBee無(wú)線通信芯片將數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,完成了一次數(shù)據(jù)采集。 2.光照度傳感器光照度傳感器實(shí)現(xiàn)光照數(shù)據(jù)采集功能,它采用光敏電阻采集環(huán)境的光照度信息,當(dāng)光照度發(fā)生變化時(shí),光敏電阻的阻值會(huì)減小。數(shù)據(jù)采集后轉(zhuǎn)化為電壓值送給CC2530單片機(jī),并通過(guò)CC2530單片機(jī)的射頻通信模塊將數(shù)據(jù)經(jīng)路由器傳輸?shù)絽f(xié)調(diào)器,完成一次數(shù)據(jù)采集。光照傳感器電路輸出的為電壓模擬信號(hào)
46、,需要用CC2530內(nèi)部的A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),光照度傳感器與CC2530的P0_0相連,P0_0端口設(shè)置為ADC輸入工作模式。圖3-2 光照度節(jié)點(diǎn)電路圖 3.控制器模塊 控制模塊主要實(shí)現(xiàn)設(shè)備的開(kāi)關(guān)控制,主要由繼電器及控制電路組成。采用USB接口與外圍設(shè)備連接。控制節(jié)點(diǎn)負(fù)責(zé)執(zhí)行上協(xié)調(diào)器發(fā)送的開(kāi)關(guān)設(shè)備的命令??刂乒?jié)點(diǎn)配備繼電器模組,通過(guò)繼電器來(lái)驅(qū)動(dòng)風(fēng)扇,調(diào)節(jié)室內(nèi)的通風(fēng)。光照度采集節(jié)點(diǎn)將光照信息采集送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器向網(wǎng)關(guān)發(fā)送實(shí)時(shí)光照度數(shù)據(jù),通過(guò)繼電器控制設(shè)備的開(kāi)關(guān)。 4.嵌入式網(wǎng)關(guān)模塊 嵌入式網(wǎng)關(guān)采用基于ARM A8處理器的開(kāi)發(fā)板實(shí)現(xiàn),是整個(gè)系統(tǒng)的主控中心,由ARM嵌入式系統(tǒng)
47、及其外擴(kuò)器件組成。 5.主控中心模塊 主控中心和網(wǎng)關(guān)之間通過(guò)構(gòu)建以太網(wǎng)來(lái)完成兩者之間的數(shù)據(jù)通訊和交換。網(wǎng)關(guān)部分需要有一個(gè)無(wú)線網(wǎng)卡,網(wǎng)關(guān)將從協(xié)調(diào)器接收來(lái)的各傳感器的數(shù)據(jù)經(jīng)過(guò)處理后經(jīng)過(guò)無(wú)線網(wǎng)卡通過(guò)UDP協(xié)議發(fā)送給主控中心的應(yīng)用程序,主控中心從而將接收來(lái)數(shù)據(jù)進(jìn)行解析后顯示出來(lái)。同樣,當(dāng)用戶的在主控中心操作農(nóng)業(yè)園內(nèi)的設(shè)備時(shí),也需要將數(shù)據(jù)進(jìn)行封裝通過(guò)以太網(wǎng)發(fā)送給網(wǎng)關(guān)的網(wǎng)卡,網(wǎng)卡接收后,解析并將相應(yīng)的數(shù)據(jù)交給應(yīng)用程序進(jìn)行處理,來(lái)完成對(duì)農(nóng)業(yè)園內(nèi)的設(shè)備的控制。3.2系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)是實(shí)現(xiàn)系統(tǒng)功能的重要組成部分。本系統(tǒng)分無(wú)無(wú)線傳感器模塊ZigBee協(xié)議棧軟件設(shè)計(jì)部分和嵌入式網(wǎng)關(guān)軟件設(shè)計(jì)部分。ZigBee
48、協(xié)議棧主要負(fù)責(zé)信息和的采集并且與嵌入式網(wǎng)關(guān)通信,嵌入式網(wǎng)關(guān)界面的設(shè)計(jì)主要是與無(wú)線傳感網(wǎng)絡(luò)模塊通信同時(shí)進(jìn)行服務(wù)器相關(guān)處理。協(xié)調(diào)器通信協(xié)調(diào)器通信Linux操作系統(tǒng)InternetQt界面硬件平臺(tái)圖 3-3 嵌入式網(wǎng)關(guān)軟件結(jié)構(gòu)圖3.2.1嵌入式網(wǎng)關(guān)軟件平臺(tái)搭建 嵌入式網(wǎng)關(guān)采用基于ARM A8處理器的開(kāi)發(fā)板實(shí)現(xiàn),網(wǎng)關(guān)通過(guò)標(biāo)準(zhǔn)串口與 ZigBee 協(xié)調(diào)器連接,收集無(wú)線傳感器網(wǎng)絡(luò)上傳的數(shù)據(jù),進(jìn)行計(jì)算處理。另一方面通過(guò)無(wú)線網(wǎng)卡與無(wú)線路由器連接,架起了無(wú)線傳感器網(wǎng)絡(luò)與局域網(wǎng)之間的數(shù)據(jù)通訊渠道,將物聯(lián)網(wǎng)連入了互聯(lián)網(wǎng)。通過(guò)無(wú)線路由器,用戶可以遠(yuǎn)程訪問(wèn)無(wú)線傳感器網(wǎng)絡(luò)所采集的數(shù)據(jù),可以設(shè)置系統(tǒng)的溫度和濕度參數(shù),可以向
49、無(wú)線傳感器網(wǎng)絡(luò)中的控制節(jié)點(diǎn)發(fā)送控制命令,進(jìn)而遠(yuǎn)程控制執(zhí)行器件來(lái)調(diào)節(jié)溫室內(nèi)部環(huán)境,實(shí)現(xiàn)了人與物之間的信息交互。3.2.2嵌入式網(wǎng)關(guān)的界面實(shí)現(xiàn) 嵌入式網(wǎng)關(guān)的主界面采用QT語(yǔ)言編寫(xiě),整個(gè)嵌入式網(wǎng)關(guān)系統(tǒng)主要分為:實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、控制、設(shè)置四部分功能。其中,實(shí)時(shí)數(shù)據(jù)用于采集農(nóng)業(yè)園內(nèi)個(gè)傳感器的實(shí)時(shí)數(shù)據(jù),可以觀察到農(nóng)業(yè)園內(nèi)的實(shí)時(shí)的數(shù)據(jù)信息,歷史數(shù)據(jù)可以對(duì)農(nóng)業(yè)園內(nèi)的歷史數(shù)據(jù)進(jìn)行記錄,這種設(shè)計(jì)可以供研究人員對(duì)農(nóng)業(yè)園內(nèi)的各環(huán)境因素進(jìn)行分析,研究人員可以通過(guò)查看歷史數(shù)據(jù),方便的研究各種數(shù)據(jù)信息對(duì)農(nóng)作物生長(zhǎng)的影響,控制主要用于對(duì)農(nóng)業(yè)園內(nèi)的各種控制設(shè)備進(jìn)行管理,可以采取手動(dòng)和自動(dòng)的模式來(lái)管理農(nóng)業(yè)園內(nèi)的控制設(shè)備,設(shè)置
50、主要用于設(shè)置溫室內(nèi)的個(gè)環(huán)境因素的閾值,通過(guò)閾值的設(shè)置,可以更加方便自動(dòng)控制系統(tǒng)模式的管理,而且特別配備的安防系統(tǒng)也可以真正的實(shí)現(xiàn)無(wú)人值守的功能,總之,本系統(tǒng)軟件的設(shè)置更加方便和人性化。3.2.3 網(wǎng)絡(luò)遠(yuǎn)程控制程序設(shè)計(jì) PC端的網(wǎng)絡(luò)遠(yuǎn)程控制主要包含HTML顯示頁(yè)面、AJAX請(qǐng)求腳本、PHP編寫(xiě)的CGI接口,主要完成通過(guò)UDP向Qt主程序發(fā)送請(qǐng)求并獲得數(shù)據(jù)。手機(jī)端的網(wǎng)絡(luò)遠(yuǎn)程控制主要包含手機(jī)應(yīng)用程序I界面的設(shè)計(jì),網(wǎng)關(guān)應(yīng)用程序服務(wù)器端設(shè)計(jì),手機(jī)Android應(yīng)用程序客戶端設(shè)計(jì),客戶端和服務(wù)器端通過(guò)Socket進(jìn)行數(shù)據(jù)交換以及編碼方式設(shè)計(jì)等。3.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)概念設(shè)計(jì),將
51、各實(shí)體屬性及其關(guān)系表示出來(lái)。 如圖3-4所示:為溫室大棚數(shù)據(jù)庫(kù)的E-R圖。圖 3-4 溫室大棚數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)圖3.3.2數(shù)據(jù)庫(kù)概念模型圖本系統(tǒng)數(shù)據(jù)庫(kù)采用SQLite數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)功能設(shè)計(jì)要求,本系統(tǒng)數(shù)據(jù)庫(kù)概念設(shè)計(jì)如圖4-1所示。圖 3-5 溫室大棚數(shù)據(jù)庫(kù)模型設(shè)計(jì)圖如圖所示,數(shù)據(jù)庫(kù)屬性為id,temp,soilhumi,airhumi,co2densi,illumdesi;3.3.3數(shù)據(jù)詞典(1)data表為傳感器的各種數(shù)據(jù)項(xiàng)表,表結(jié)構(gòu)如表5-1所示。表5-1 data表的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDINT8是區(qū)別不同時(shí)間段的TEMPFLOAT32否 溫度SOILHUMIFLOAT3
52、2否 土壤濕度AIRHUMIFLOAT32否 空氣濕度CO2DENSIFLOAT32否二氧化碳濃度ILLUMDESIFLOAT32否 光照強(qiáng)度圖 3-6 溫室大棚數(shù)據(jù)庫(kù)物理設(shè)計(jì)圖第4章 系統(tǒng)詳細(xì)設(shè)計(jì)4.1 設(shè)計(jì)目標(biāo)本系統(tǒng)是根據(jù)需求分析按照用戶的需求以及結(jié)合人機(jī)交互方面的考慮設(shè)計(jì)的系統(tǒng),主要實(shí)現(xiàn)如下功能:4.1.1網(wǎng)關(guān)控制功能 網(wǎng)關(guān)控制功能如下所示: 1. 網(wǎng)關(guān)主界面顯示整個(gè)溫室大棚進(jìn)行監(jiān)測(cè)和控制大棚內(nèi)的溫度、濕度、光照和二氧化碳等參數(shù)。2. 實(shí)現(xiàn)無(wú)人值守的操作,通過(guò)設(shè)置相應(yīng)的閾值來(lái)對(duì)大棚內(nèi)的各項(xiàng)參數(shù)進(jìn)行規(guī)定,使得大棚在無(wú)人值守的情況下也能保持在一個(gè)恒定的環(huán)境。3. 工網(wǎng)關(guān)的歷史參數(shù)的數(shù)據(jù)曲線,
53、以供后期分析數(shù)據(jù)。4.1.2網(wǎng)頁(yè)查詢控制功能網(wǎng)頁(yè)查詢控制功能如下所示:1. 通過(guò)網(wǎng)頁(yè)遠(yuǎn)程查看大棚數(shù)據(jù)。2. 通過(guò)網(wǎng)頁(yè)遠(yuǎn)程控制大棚內(nèi)的設(shè)備和設(shè)置閾值。3. 通過(guò)HighCharts圖表實(shí)時(shí)的直觀的顯示。4.1.3 手機(jī)APP端的查詢控制功能手機(jī)APP端的查詢控制功能如下所示:1. 查詢數(shù)據(jù)。2. 緊急報(bào)警。3. 分享數(shù)據(jù)。4.2 溫室大棚系統(tǒng)網(wǎng)關(guān)的詳細(xì)設(shè)計(jì)4.2.1 網(wǎng)關(guān)界面設(shè)計(jì) 網(wǎng)關(guān)界面的設(shè)計(jì),主要包括主界面設(shè)計(jì)、實(shí)時(shí)數(shù)據(jù)界面的設(shè)計(jì)、歷史曲線界面的設(shè)計(jì)、控制界面的設(shè)計(jì)、閾值界面的設(shè)計(jì)。 下面分別介紹這幾個(gè)界面的設(shè)計(jì): 1.如圖4-1所示,為網(wǎng)關(guān)主界面的設(shè)計(jì):圖4-1 網(wǎng)關(guān)主界面的設(shè)計(jì)網(wǎng)關(guān)主界面
54、包括了一個(gè)棗莊學(xué)院的logo和一個(gè)溫室大棚的實(shí)體圖,在界面的下面包含四個(gè)按鈕,分別用于對(duì)實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、控制、設(shè)置等界面的切換。如圖4-2所示:為實(shí)時(shí)數(shù)據(jù)界面。圖 4-2 實(shí)時(shí)數(shù)據(jù)界面 實(shí)時(shí)數(shù)據(jù)主要將網(wǎng)關(guān)收到協(xié)調(diào)器匯總的傳感器的溫度、濕度、光照、土壤濕度、安防的數(shù)據(jù)信息顯示在界面上。如圖4-3所示:為控制界面的設(shè)計(jì)。圖4-3 控制界面控制界面主要是對(duì)溫室大棚內(nèi)的空調(diào)、加濕器、風(fēng)扇、安防警報(bào)器等進(jìn)行控制,右上角還有打開(kāi)手動(dòng)控制的復(fù)選框,可以選擇是手動(dòng)控制,還是在無(wú)人值守的情況下的自動(dòng)控制。4.如圖4-4所示:為歷史曲線界面。圖4-4 歷史數(shù)據(jù)界面歷史曲線界面是將歷史的溫度、濕度和光照信息進(jìn)行
55、存儲(chǔ),然后顯示,并繪制出直觀的曲線。5.如圖4-5所示:為閾值界面。圖4-5 閾值界面 閾值設(shè)計(jì)界面可以設(shè)置溫度的上限、下限、溫度和光照的閾值,用于無(wú)人值守時(shí)系統(tǒng)可以根據(jù)閾值自動(dòng)的對(duì)大棚內(nèi)的設(shè)備進(jìn)行控制來(lái)保持大棚保持在一個(gè)恒定的環(huán)境下。4.2.2 網(wǎng)關(guān)與協(xié)調(diào)器通信設(shè)計(jì) 網(wǎng)關(guān)與ZigBee協(xié)調(diào)器通信功能使用libwsncomm提供的二次開(kāi)發(fā)接口來(lái)實(shí)現(xiàn),工作原理如圖4-6所示:圖4-6 溫室控制系統(tǒng)主要代碼如下:/* * GreenHouseController.cpp * * 溫室控制系統(tǒng)的主要邏輯控制程序 */#include GreenHouseController.h#include #i
56、nclude GreenHouseController *GreenHouseController:_instance = NULL;GreenHouseController:GreenHouseController(QObject *parent) : QObject(parent), ctrlValid(false), isAutoCtrl(true), isSecure(true), wsnUser(NULL) / 用于保存最新的傳感器的數(shù)據(jù) curTemperature = 0.0; curHuminity = 0.0; curLight = 0.0; curIRPers = fals
57、e; unsigned int i; for(i = 0; i bind(9600, QUdpSocket:ShareAddress | QUdpSocket:ReuseAddressHint) qDebug()error bind to 9600 port!; / 連接UDP服務(wù)器接收到數(shù)據(jù)的信號(hào),由onSockReadReady()函數(shù)來(lái)處理接收到的數(shù)據(jù) connect(udpSock, SIGNAL(readyRead(), this, SLOT(onSockReadReady();GreenHouseController:GreenHouseController() if(wsnUse
58、r) wsncomm_unregister(wsnUser); delete udpSock;/* * brief GreenHouseController:createInstance * * 用于創(chuàng)建控制實(shí)例,主要為了保證一個(gè)系統(tǒng)中僅通過(guò)new創(chuàng)建一個(gè)GreenHouseController */void GreenHouseController:createInstance() if(_instance != NULL) return; _instance = new GreenHouseController();/* * brief GreenHouseController:destr
59、oyInstance * * 用于銷毀控制實(shí)例 */void GreenHouseController:destroyInstance() if(_instance = NULL) return; delete _instance; _instance = NULL;/* * brief GreenHouseController:instance * * 獲取當(dāng)前的控制實(shí)例 */GreenHouseController *GreenHouseController:instance() if(_instance = NULL) createInstance(); return _instance
60、;/* * brief GreenHouseController:isCtrlInProcess * * 判斷當(dāng)前是否處于工作狀態(tài) */bool GreenHouseController:isCtrlInProcess() const return ctrlValid;/* * brief GreenHouseController:startControl * * 讓溫室控制邏輯開(kāi)始工作 * 調(diào)用該函數(shù)后,GreenHouseController就開(kāi)始接收Z(yǔ)igBee系統(tǒng)傳遞過(guò)來(lái)的數(shù)據(jù) */void GreenHouseController:startControl() if(wsnUser
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)文園地五小牧童顛倒村作文
- 一年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)集錦
- 南京工業(yè)大學(xué)浦江學(xué)院《影視鑒賞》2021-2022學(xué)年第一學(xué)期期末試卷
- 人人安康課件教學(xué)課件
- 分?jǐn)?shù)的初步認(rèn)識(shí)說(shuō)課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《汽車構(gòu)造》2021-2022學(xué)年第一學(xué)期期末試卷
- 《圓環(huán)的面積》說(shuō)課稿
- 《消防安全》說(shuō)課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《房屋建筑學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《汽車評(píng)估》2023-2024學(xué)年第一學(xué)期期末試卷
- 人工智能1第一章緒論課件
- 中國(guó)風(fēng)書(shū)香校園宣傳主題班會(huì)PPT
- 妊娠劇吐課件
- 電大學(xué)前教育本教育實(shí)習(xí)教學(xué)活動(dòng)設(shè)計(jì)
- 河北省廊坊市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 學(xué)校班級(jí)圖書(shū)箱管理制度
- 寫(xiě)給老婆最催淚挽回感情的信范文(5篇)
- 煤化工企業(yè)設(shè)備設(shè)施風(fēng)險(xiǎn)分級(jí)管控清單參考模板范本
- 廣東省中小學(xué)生學(xué)籍管理的實(shí)施細(xì)則
- IATF16949 年度內(nèi)審審核方案
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)(中等職業(yè)學(xué)校校本教材)
評(píng)論
0/150
提交評(píng)論