基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章緒論1.1研究背景與意義在中國(guó),蘭花的栽培歷史已有一千余年,可以說(shuō)是中華文化的一部分。蘭花作為中國(guó)的傳統(tǒng)名花,它是指分布在中國(guó)的蘭屬植物中的多種地生蘭花,它擁有許多的品種,其中包括寒蘭、春蘭、墨蘭、惠蘭、建蘭等等。它們相較于花大色艷的熱帶蘭花,中國(guó)的蘭花并沒(méi)有那么醒目的艷麗色彩和碩大的花朵和葉子。但是它們卻散發(fā)出一股淡雅、質(zhì)樸、高潔和文靜的氣質(zhì),這種氣質(zhì)恰好符合了中國(guó)傳統(tǒng)的審美標(biāo)準(zhǔn)。然而,蘭花生長(zhǎng)時(shí)對(duì)濕度要求很高,不同生長(zhǎng)時(shí)期需要不同的濕度。傳統(tǒng)種植蘭花的方法中,濕度和溫度的調(diào)節(jié)能力較差,特別是在一些空氣較干燥的地區(qū),這種種植方法會(huì)導(dǎo)致蘭花品質(zhì)很差。因此,本設(shè)計(jì)的目的是為了解決傳統(tǒng)種植蘭花的濕度和溫度調(diào)節(jié)能力差的問(wèn)題,提出了一種蘭花智能培養(yǎng)系統(tǒng)。1.1.1國(guó)外智慧農(nóng)業(yè)發(fā)展現(xiàn)狀智慧農(nóng)業(yè)是指利用先進(jìn)的技術(shù)手段,如傳感器、物聯(lián)網(wǎng)、云計(jì)算、人工智能等,對(duì)農(nóng)業(yè)進(jìn)行數(shù)字化、智能化改造,以提高農(nóng)業(yè)生產(chǎn)效率、保障農(nóng)產(chǎn)品質(zhì)量、節(jié)約資源、減少對(duì)環(huán)境的污染。目前,全球各地都在積極推進(jìn)智慧農(nóng)業(yè)的發(fā)展,其中一些國(guó)家的進(jìn)展尤為突出。尤其是美國(guó),因?yàn)槊绹?guó)一直是智慧農(nóng)業(yè)的領(lǐng)導(dǎo)者之一,已經(jīng)開(kāi)發(fā)出許多先進(jìn)的技術(shù)和系統(tǒng),如精準(zhǔn)灌溉、自主駕駛拖拉機(jī)、無(wú)人機(jī)植保等等。美國(guó)還在大力推廣物聯(lián)網(wǎng)和云計(jì)算技術(shù),以支持智慧農(nóng)業(yè)的發(fā)展。在日本,因?yàn)槿丝诶淆g化和土地資源緊缺,日本一直在積極推廣智慧農(nóng)業(yè)技術(shù)。并已經(jīng)開(kāi)發(fā)出了許多智能設(shè)備和機(jī)器人,如自動(dòng)收割機(jī)器人、智能灌溉系統(tǒng)等。歐洲各國(guó)也在積極探索智慧農(nóng)業(yè)的發(fā)展,尤其是德國(guó)、荷蘭等國(guó)家。荷蘭已經(jīng)發(fā)展出了世界領(lǐng)先的設(shè)施農(nóng)業(yè)技術(shù),而德國(guó)則在推廣精準(zhǔn)農(nóng)業(yè)技術(shù),以提高農(nóng)業(yè)生產(chǎn)效率和糧食安全??偟膩?lái)說(shuō),各國(guó)在智慧農(nóng)業(yè)領(lǐng)域的發(fā)展都有所突破,但也存在一些挑戰(zhàn),如技術(shù)成本較高、農(nóng)民的技術(shù)接受度不高等。未來(lái),隨著技術(shù)的不斷進(jìn)步和普及,智慧農(nóng)業(yè)的應(yīng)用前景將更加廣闊。1.1.2國(guó)內(nèi)智慧農(nóng)業(yè)發(fā)展現(xiàn)狀我國(guó)智慧農(nóng)業(yè)發(fā)展比較晚,但國(guó)家近年來(lái)出臺(tái)了一系列支持智慧農(nóng)業(yè)發(fā)展的政策,如《關(guān)于推進(jìn)農(nóng)業(yè)信息化發(fā)展的若干意見(jiàn)》和《農(nóng)村電子商務(wù)發(fā)展行動(dòng)計(jì)劃》等文件,來(lái)大力推廣智慧農(nóng)業(yè)發(fā)展。使得中國(guó)的智慧農(nóng)業(yè)發(fā)展已經(jīng)取得了一些成果,如在江蘇、浙江、河南等地,政府已經(jīng)投入大量資金和人力資源,建設(shè)智慧農(nóng)業(yè)示范區(qū),推廣智慧農(nóng)業(yè)技術(shù)和模式,帶動(dòng)當(dāng)?shù)剞r(nóng)業(yè)的轉(zhuǎn)型升級(jí)。智慧農(nóng)業(yè)產(chǎn)業(yè)鏈也正在不斷完善,涵蓋了從硬件設(shè)備制造、軟件開(kāi)發(fā)、系統(tǒng)集成到農(nóng)業(yè)服務(wù)等多個(gè)環(huán)節(jié),形成了一批優(yōu)秀的企業(yè)和創(chuàng)新型團(tuán)隊(duì),如華為、阿里、海爾等公司都在積極推動(dòng)智慧農(nóng)業(yè)的發(fā)展??偟膩?lái)說(shuō),中國(guó)的智慧農(nóng)業(yè)發(fā)展已經(jīng)取得了一些成果,但也面臨一些挑戰(zhàn),如技術(shù)應(yīng)用難度較大、普及程度有限、農(nóng)民的技術(shù)接受度不高等。未來(lái),需要加大對(duì)智慧農(nóng)業(yè)技術(shù)的研發(fā)和推廣力度,提高農(nóng)民的技術(shù)水平和應(yīng)用能力,才能真正實(shí)現(xiàn)智慧農(nóng)業(yè)的大規(guī)模應(yīng)用和推廣。1.2蘭花種植的發(fā)展蘭花是一種重要的觀(guān)賞植物,其種植發(fā)展歷史可以追溯到數(shù)千年前。古代種植:早在古代中國(guó),就有人開(kāi)始種植蘭花。據(jù)史書(shū)記載,戰(zhàn)國(guó)時(shí)期的蔡伯曾經(jīng)種植過(guò)蘭花,并稱(chēng)之為“蔡花”。到了唐朝時(shí)期,蘭花已經(jīng)成為了一種貴族庭院和宮廷的常見(jiàn)植物。近代發(fā)展:在明清時(shí)期,蘭花的種植技術(shù)得到了進(jìn)一步的發(fā)展。清朝的康熙年間,福建省的黃明煦成功地繁育出了“黃背心”蘭花,成為中國(guó)蘭花繁育的重要里程碑。此后,蘭花的種植技術(shù)逐漸得到了提升和完善,成為了一種高檔的花卉?,F(xiàn)代培育:20世紀(jì)初,中國(guó)的蘭花種植進(jìn)入了現(xiàn)代化的階段。1923年,福建省長(zhǎng)林森曾出資引進(jìn)美國(guó)和荷蘭的優(yōu)良蘭花品種,進(jìn)行了大規(guī)模的培育和引種。此后,中國(guó)的蘭花產(chǎn)業(yè)得到了進(jìn)一步的發(fā)展和壯大,成為了世界上最重要的蘭花生產(chǎn)國(guó)之一。當(dāng)代發(fā)展:21世紀(jì)以來(lái),隨著中國(guó)經(jīng)濟(jì)的發(fā)展和人們生活水平的提高,蘭花成為了一種越來(lái)越受歡迎的花卉。中國(guó)的蘭花種植技術(shù)不斷創(chuàng)新和進(jìn)步,種植規(guī)模和品種數(shù)量也在不斷擴(kuò)大。同時(shí),蘭花的國(guó)際化發(fā)展也越來(lái)越成熟,中國(guó)的蘭花種植和貿(mào)易在國(guó)際蘭花市場(chǎng)上占據(jù)著重要地位??偟膩?lái)說(shuō),蘭花種植發(fā)展經(jīng)歷了漫長(zhǎng)的歷史和不斷的創(chuàng)新,現(xiàn)在已經(jīng)成為了一種高檔的花卉,并在全球范圍內(nèi)得到了廣泛的關(guān)注和認(rèn)可。第2章系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)需求分析2.1.1蘭花生長(zhǎng)因素分析光照:蘭花需要充足的光照才能進(jìn)行光合作用,促進(jìn)植物的生長(zhǎng)和開(kāi)花。蘭花通常喜歡散射光線(xiàn)和光照充足的環(huán)境。對(duì)于不同種類(lèi)的蘭花,其對(duì)光照的需求也不盡相同,比如有些蘭花需要充足的陽(yáng)光,而有些則更適合在陰涼處生長(zhǎng)。溫度:溫度也是影響蘭花生長(zhǎng)的重要因素。蘭花一般喜歡溫暖濕潤(rùn)的環(huán)境,適宜的生長(zhǎng)溫度一般為18-28℃。如果溫度過(guò)低或過(guò)高,都會(huì)對(duì)蘭花的生長(zhǎng)產(chǎn)生不利影響。濕度:蘭花的生長(zhǎng)環(huán)境需要一定的濕度,但是過(guò)高或過(guò)低的濕度都會(huì)對(duì)蘭花的生長(zhǎng)產(chǎn)生不利影響。一般來(lái)說(shuō),蘭花的生長(zhǎng)適宜的濕度為60-80%。水分:蘭花需要適量的水分才能生長(zhǎng),但是過(guò)多或過(guò)少的水分都會(huì)對(duì)蘭花的生長(zhǎng)產(chǎn)生不利影響。在蘭花生長(zhǎng)的過(guò)程中,要保持適宜的土壤濕度,避免過(guò)度干燥或積水。2.2系統(tǒng)總體需求2.2.1系統(tǒng)設(shè)計(jì)原則適應(yīng)性:蘭花需要特定的溫度、濕度和光照條件,因此智慧農(nóng)業(yè)系統(tǒng)需要能夠自動(dòng)調(diào)整這些環(huán)境參數(shù)以適應(yīng)不同生長(zhǎng)階段的蘭花。精細(xì)化控制:由于蘭花生長(zhǎng)過(guò)程中較為敏感,智慧農(nóng)業(yè)系統(tǒng)需要進(jìn)行精細(xì)化控制,以避免過(guò)度灌溉、施肥和過(guò)度光照等問(wèn)題。水肥一體化:蘭花需要適量的水和營(yíng)養(yǎng)素,智慧農(nóng)業(yè)系統(tǒng)應(yīng)該將水肥一體化,以便根據(jù)植物狀態(tài)自動(dòng)調(diào)整灌溉和施肥量。智能監(jiān)測(cè):智慧農(nóng)業(yè)系統(tǒng)需要能夠?qū)崟r(shí)監(jiān)測(cè)蘭花的生長(zhǎng)狀態(tài)、土壤水分、光照和溫度等因素,并能夠根據(jù)這些數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè)和控制。病蟲(chóng)害預(yù)防:蘭花容易受到病蟲(chóng)害的侵襲,智慧農(nóng)業(yè)系統(tǒng)應(yīng)該能夠通過(guò)預(yù)防措施和自動(dòng)化控制來(lái)減少病蟲(chóng)害的發(fā)生。數(shù)據(jù)分析:智慧農(nóng)業(yè)系統(tǒng)需要能夠?qū)κ占降臄?shù)據(jù)進(jìn)行分析和處理,以便優(yōu)化生產(chǎn)效率和減少浪費(fèi)。2.3.系統(tǒng)設(shè)計(jì)2.3.1總體需求與分析(1)傳感器獲取信息模塊(感知層):光照強(qiáng)度傳感器,土壤水分傳感器,空氣溫度傳感器,空氣濕度傳感器。(2)ZigBee等無(wú)線(xiàn)傳輸和數(shù)據(jù)處理模塊(網(wǎng)絡(luò)層):網(wǎng)關(guān)單元連接互聯(lián)網(wǎng),創(chuàng)建MQTT客戶(hù)端與服器相連接,編寫(xiě)對(duì)于特定的數(shù)據(jù)處理程序,開(kāi)發(fā)人機(jī)交互頁(yè)面,數(shù)據(jù)可視化。(3)自動(dòng)控制系統(tǒng)(應(yīng)用層):電磁閥,補(bǔ)光燈,加濕器,遮掩簾等如圖2.1所示這是總體需求結(jié)構(gòu)圖。圖2.1總體需求結(jié)構(gòu)圖2.4系統(tǒng)基本架構(gòu)詳述基于ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)的蘭花自動(dòng)栽培系統(tǒng)由傳感器終端節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)和云平臺(tái)三部分組成。傳感器終端節(jié)點(diǎn)負(fù)責(zé)采集蘭花的生長(zhǎng)環(huán)境數(shù)據(jù),如光照強(qiáng)度、濕度和溫度等。隨后,這些數(shù)據(jù)通過(guò)無(wú)線(xiàn)傳輸至ZigBee協(xié)調(diào)器節(jié)點(diǎn)。接著,協(xié)調(diào)器節(jié)點(diǎn)將采集到的數(shù)據(jù)上傳到云平臺(tái)。云平臺(tái)負(fù)責(zé)存儲(chǔ)和分析采集到的數(shù)據(jù),并為用戶(hù)提供圖形化的用戶(hù)界面,以便用戶(hù)可以方便地查看蘭花的生長(zhǎng)狀況并調(diào)整生長(zhǎng)環(huán)境參數(shù)。為了實(shí)現(xiàn)這一功能,ZigBee傳感器終端節(jié)點(diǎn)配備了空氣溫濕度傳感器、土壤濕度傳感器和光照強(qiáng)度傳感器。這些傳感器節(jié)點(diǎn)通過(guò)ZigBee無(wú)線(xiàn)連接與協(xié)調(diào)器節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。協(xié)調(diào)器節(jié)點(diǎn)使用WiFi模塊與云平臺(tái)建立連接,并通過(guò)MQTT協(xié)議將傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)上傳至云平臺(tái)。用戶(hù)可以通過(guò)網(wǎng)絡(luò)瀏覽器訪(fǎng)問(wèn)云平臺(tái),以便隨時(shí)監(jiān)測(cè)蘭花的生長(zhǎng)狀況并對(duì)生長(zhǎng)環(huán)境參數(shù)進(jìn)行調(diào)整。通過(guò)以上架構(gòu),蘭花自動(dòng)栽培系統(tǒng)實(shí)現(xiàn)了蘭花生長(zhǎng)環(huán)境的監(jiān)測(cè)和控制。傳感器終端節(jié)點(diǎn)的數(shù)據(jù)采集、協(xié)調(diào)器節(jié)點(diǎn)的數(shù)據(jù)處理與傳輸,以及云平臺(tái)的數(shù)據(jù)存儲(chǔ)和分析,為用戶(hù)提供了便捷的蘭花管理工具。用戶(hù)可以通過(guò)這個(gè)系統(tǒng)監(jiān)測(cè)蘭花的生長(zhǎng)情況,并對(duì)生長(zhǎng)環(huán)境參數(shù)進(jìn)行調(diào)整,以確保蘭花獲得最佳的生長(zhǎng)條件和產(chǎn)量。OneNet物聯(lián)網(wǎng)云平臺(tái)是一種云計(jì)算服務(wù),為連接到互聯(lián)網(wǎng)的設(shè)備提供基礎(chǔ)架構(gòu)和工具,以實(shí)現(xiàn)物聯(lián)網(wǎng)(IoT)應(yīng)用程序的開(kāi)發(fā)、部署和管理。OneNet物聯(lián)網(wǎng)云平臺(tái)通過(guò)收集、存儲(chǔ)、分析和處理來(lái)自物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù),提供實(shí)時(shí)的可視化和控制,以及數(shù)據(jù)分析和預(yù)測(cè)功能。它還為物聯(lián)網(wǎng)設(shè)備提供了安全和可靠的連接和通信渠道,以及簡(jiǎn)化的設(shè)備管理功能。物聯(lián)網(wǎng)云平臺(tái)通常具有高度可擴(kuò)展性、彈性、安全性和可定制性,以滿(mǎn)足不同物聯(lián)網(wǎng)應(yīng)用程序的需求。架構(gòu)詳解如圖2.2所示。圖2.2架構(gòu)詳解第3章系統(tǒng)硬件設(shè)計(jì)3.1無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)3.1.1無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)概況無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)是指通過(guò)無(wú)線(xiàn)電波或其他無(wú)線(xiàn)通信信道傳輸數(shù)據(jù),無(wú)需物理電纜或有線(xiàn)連接。這些年來(lái),這項(xiàng)技術(shù)有了很大的發(fā)展,現(xiàn)在有幾種無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)在使用中。最常用的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)之一是Wi-Fi,它允許無(wú)線(xiàn)設(shè)備連接到局域網(wǎng)(LAN)并訪(fǎng)問(wèn)互聯(lián)網(wǎng)。Wi-Fi工作在2.4GHz和5GHz頻段,支持高速數(shù)據(jù)傳輸速率。另一種無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)是藍(lán)牙,它是為設(shè)備之間的短距離通信而設(shè)計(jì)的。藍(lán)牙廣泛應(yīng)用于無(wú)線(xiàn)耳機(jī)、揚(yáng)聲器和其他便攜式設(shè)備。3G、4G和5G等蜂窩網(wǎng)絡(luò)為智能手機(jī)和平板電腦等移動(dòng)設(shè)備提供無(wú)線(xiàn)連接。蜂窩網(wǎng)絡(luò)使用基站和天線(xiàn)系統(tǒng)來(lái)覆蓋大面積區(qū)域。除了這些技術(shù),還有其他無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),如ZigBee、Z-Wave和NFC,它們是為特定的應(yīng)用和使用情況而設(shè)計(jì)的。無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)徹底改變了我們相互連接和通信的方式,使我們能夠隨時(shí)隨地保持連接和訪(fǎng)問(wèn)信息。隨著對(duì)無(wú)線(xiàn)連接需求的持續(xù)增長(zhǎng),新無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)和標(biāo)準(zhǔn)的發(fā)展將在塑造通信和連接的未來(lái)方面發(fā)揮重要作用。3.1.2應(yīng)用現(xiàn)狀和發(fā)展環(huán)境監(jiān)測(cè):無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)正被廣泛用于環(huán)境監(jiān)測(cè)應(yīng)用。例如,在空氣質(zhì)量監(jiān)測(cè)中,可以實(shí)時(shí)收集各種污染物的數(shù)據(jù),如顆粒物、一氧化碳和臭氧。這些數(shù)據(jù)可用于生成空氣質(zhì)量地圖,并在空氣質(zhì)量水平超過(guò)安全限值時(shí)發(fā)出警告。在水質(zhì)監(jiān)測(cè)中,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以收集水溫、pH值和其他可能影響水質(zhì)的參數(shù)的數(shù)據(jù)。這些數(shù)據(jù)可用于檢測(cè)水污染和保護(hù)水生生物的健康。在土壤監(jiān)測(cè)中,可以收集土壤濕度、溫度和其他參數(shù)的數(shù)據(jù),以幫助農(nóng)民優(yōu)化灌溉管理和提高作物產(chǎn)量。工業(yè)過(guò)程控制:無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)正被用于各種工業(yè)過(guò)程控制應(yīng)用,如制造、物流和運(yùn)輸。例如,在制造業(yè)中,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以實(shí)時(shí)監(jiān)控生產(chǎn)過(guò)程,檢測(cè)設(shè)備故障,優(yōu)化生產(chǎn)效率。在物流領(lǐng)域,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以實(shí)時(shí)跟蹤貨物和車(chē)輛的位置,從而實(shí)現(xiàn)更高效的運(yùn)輸和庫(kù)存管理。在交通領(lǐng)域,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以監(jiān)控交通流量,檢測(cè)事故,改善交通管理。農(nóng)業(yè):無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)在農(nóng)業(yè)方面有巨大的潛力,因?yàn)樗鼈兛梢詭椭r(nóng)民優(yōu)化作物生長(zhǎng)并減少浪費(fèi)。例如,在作物監(jiān)測(cè)中,可以收集土壤濕度、溫度和其他參數(shù)的數(shù)據(jù),以幫助農(nóng)民優(yōu)化灌溉管理和提高作物產(chǎn)量。在害蟲(chóng)控制方面,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以檢測(cè)害蟲(chóng)和疾病的存在,并提醒農(nóng)民采取適當(dāng)?shù)拇胧?。在灌溉控制中,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以?xún)?yōu)化用水,減少浪費(fèi)。醫(yī)療保健:無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)正被用于各種醫(yī)療保健應(yīng)用,如監(jiān)測(cè)生命體征、跟蹤患者運(yùn)動(dòng)和管理醫(yī)療設(shè)備。例如,在生命體征監(jiān)測(cè)中,可以收集心率、血壓和其他參數(shù)的數(shù)據(jù),以幫助醫(yī)生實(shí)時(shí)監(jiān)測(cè)患者的健康狀況。在病人跟蹤方面,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以幫助醫(yī)院實(shí)時(shí)跟蹤病人和醫(yī)療設(shè)備的位置,從而更有效地利用資源。在醫(yī)療設(shè)備管理中,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可以監(jiān)控醫(yī)療設(shè)備的使用和維護(hù),確保其始終處于良好的工作狀態(tài)。總的來(lái)說(shuō),無(wú)線(xiàn)傳網(wǎng)絡(luò)技術(shù)正被廣泛應(yīng)用,并具有巨大的發(fā)展?jié)摿ΑkS著技術(shù)的不斷完善和應(yīng)用場(chǎng)景的不斷拓展,無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)將繼續(xù)在提高生活質(zhì)量和促進(jìn)社會(huì)發(fā)展方面發(fā)揮越來(lái)越重要的作用。3.1.3基于ZigBee技術(shù)的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)基于ZigBee技術(shù)的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)由于其低成本、低功耗和易于部署而成為許多應(yīng)用的流行選擇。ZigBee是一種無(wú)線(xiàn)通信標(biāo)準(zhǔn),專(zhuān)為低數(shù)據(jù)速率、低功耗應(yīng)用而設(shè)計(jì),非常適合運(yùn)用于蘭花的自動(dòng)培養(yǎng)系統(tǒng)。ZigBee技術(shù)基于通信協(xié)議IEEE802.15.4標(biāo)準(zhǔn),該協(xié)議標(biāo)準(zhǔn)為低速率無(wú)線(xiàn)個(gè)人區(qū)域網(wǎng)(LR-WPAN)標(biāo)準(zhǔn),并指定了物理和媒體訪(fǎng)問(wèn)控制(MAC)層。ZigBee使用網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),它允許節(jié)點(diǎn)通過(guò)中間節(jié)點(diǎn)直接或間接相互通信。這使得網(wǎng)絡(luò)對(duì)于節(jié)點(diǎn)故障更加健壯和有彈性。在基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)中,網(wǎng)絡(luò)由三種類(lèi)型的節(jié)點(diǎn)組成,分別是ZigBee協(xié)調(diào)器、ZigBee路由器和ZigBee終端設(shè)備。ZigBee協(xié)調(diào)器負(fù)責(zé)啟動(dòng)和維護(hù)網(wǎng)絡(luò),而ZigBee路由器和終端設(shè)備則負(fù)責(zé)與協(xié)調(diào)器和網(wǎng)絡(luò)中的其他節(jié)點(diǎn)進(jìn)行通信,圖3.1展示了它們之間的關(guān)系。圖3.1ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與結(jié)點(diǎn)示意圖基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)有幾個(gè)優(yōu)點(diǎn),包括:1:低功耗:基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)使用低功耗無(wú)線(xiàn)電,并具有睡眠模式,這允許節(jié)點(diǎn)在不活躍地傳輸或接收數(shù)據(jù)時(shí)節(jié)省能量。2:低成本:與其他無(wú)線(xiàn)技術(shù)相比,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)成本相對(duì)較低,對(duì)于需要大量節(jié)點(diǎn)的應(yīng)用來(lái)說(shuō),這是一個(gè)很有吸引力的選擇。3:易于部署:基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)易于部署,因?yàn)樗鼈兙哂屑床寮从玫奶匦浴R坏┕?jié)點(diǎn)通電,它可以自動(dòng)加入網(wǎng)絡(luò)并開(kāi)始與其他節(jié)點(diǎn)通信。4:健壯性:基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)使用網(wǎng)狀網(wǎng)絡(luò)拓?fù)洌@使得網(wǎng)絡(luò)更健壯,對(duì)節(jié)點(diǎn)故障更有彈性。5:基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)已被廣泛應(yīng)用,包括環(huán)境監(jiān)控、工業(yè)自動(dòng)化、家庭自動(dòng)化和醫(yī)療保健。例如,在環(huán)境監(jiān)測(cè)中,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可用于監(jiān)測(cè)空氣質(zhì)量、水質(zhì)和土壤濕度。在工業(yè)自動(dòng)化中,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可用于監(jiān)控生產(chǎn)過(guò)程和設(shè)備性能。在家庭自動(dòng)化中,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可用于控制照明、空氣調(diào)節(jié)(HVAC)系統(tǒng)和安全系統(tǒng)。在醫(yī)療保健領(lǐng)域,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)可用于監(jiān)控患者健康和跟蹤醫(yī)療設(shè)備??傮w而言,基于ZigBee的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)為許多應(yīng)用提供了低成本、低功耗和易于部署的解決方案,使其成為無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)領(lǐng)域的熱門(mén)選擇。3.2主要硬件組成3.2.1CC2530CC2530是基于ZigBee技術(shù)的片上系統(tǒng)(SoC),由德州儀器開(kāi)發(fā)。這是一款高度集成的解決方案,包括微控制器、無(wú)線(xiàn)電收發(fā)器和各種應(yīng)用的外設(shè)。由于其低成本、高性能和低功耗,CC2530廣泛用于許多基于ZigBee的應(yīng)用。CC2530采用功能強(qiáng)大的8051微控制器,配有32KB閃存和8KBRAM,支持高效的代碼執(zhí)行和數(shù)據(jù)存儲(chǔ)。它還包括一個(gè)2.4GHzIEEE802.15.4兼容無(wú)線(xiàn)電收發(fā)器,支持ZigBee和其他低功耗無(wú)線(xiàn)協(xié)議。該無(wú)線(xiàn)電收發(fā)器的靈敏度為-102dBm,最大輸出功率為+4dBm,可實(shí)現(xiàn)遠(yuǎn)程通信。還包括一系列外設(shè),包括ADC、PWM、UARTs、SPI和I2C,可用于與各種傳感器和執(zhí)行器接口。它還包括對(duì)AES-128加密和解密的硬件支持,確保安全通信。其原理圖如圖3.2所示。圖3.2CC2530原理圖CC2530的主要優(yōu)勢(shì)之一是其低功耗。它的休眠電流僅為1μA,非常適合電池供電應(yīng)用。它還支持各種低功耗模式,包括省電、空閑和待機(jī)模式,可以進(jìn)一步降低功耗。由全面的軟件開(kāi)發(fā)套件(SDK)支持,包括ZigBee協(xié)議棧、應(yīng)用示例和開(kāi)發(fā)工具。SDK為創(chuàng)建基于ZigBee的應(yīng)用程序提供了完整的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)人員快速、輕松地設(shè)計(jì)和部署他們的解決方案。已廣泛用于基于ZigBee的應(yīng)用,包括家庭自動(dòng)化、智能照明、無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)和工業(yè)自動(dòng)化。它的低功耗、高性能和低成本使其成為許多開(kāi)發(fā)人員和工程師的熱門(mén)選擇。總之,CC2530是基于ZigBee技術(shù)的高度集成的片上系統(tǒng)(SoC),由德州儀器開(kāi)發(fā)。它包括一個(gè)功能強(qiáng)大的8051微控制器、一個(gè)兼容IEEE802.15.4的2.4GHz無(wú)線(xiàn)電收發(fā)器和一系列適合各種應(yīng)用的外設(shè)。它的低功耗、高性能和低成本使其成為許多基于ZigBee的應(yīng)用的熱門(mén)選擇。由于CC2530芯片具有較高的性能和靈活性,因此被廣泛應(yīng)用于智慧農(nóng)業(yè)、智能家居、智慧城市等領(lǐng)域,為這些領(lǐng)域的智能化和互聯(lián)化提供了重要的支持。3.2.2通信網(wǎng)關(guān)芯片ESP8266WifiESP8266WiFi模塊是一種低成本的Wi-Fi芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)項(xiàng)目。它由EspressifSystems開(kāi)發(fā),基于ESP8266片上系統(tǒng)(SoC)。ESP8266WiFi模塊包括Wi-Fi無(wú)線(xiàn)電收發(fā)器、微控制器和各種外設(shè),使其成為將物聯(lián)網(wǎng)設(shè)備連接到Wi-Fi網(wǎng)絡(luò)的高度集成解決方案,其模塊如圖3.3所示。圖3.3ESP8266WiFi模塊總之,ESP8266WiFi模塊是一種低成本、高度集成的解決方案,用于將物聯(lián)網(wǎng)設(shè)備連接到Wi-Fi網(wǎng)絡(luò)。它包括Wi-Fi無(wú)線(xiàn)電收發(fā)器、微控制器和各種外設(shè),可以在客戶(hù)端和接入點(diǎn)模式下運(yùn)行。該模塊可使用Lua腳本語(yǔ)言或ArduinoIDE進(jìn)行編程,功耗低,適合各種物聯(lián)網(wǎng)應(yīng)用。要將CC2530與ESP8266連接,可以通過(guò)串口通信實(shí)現(xiàn)它們之間的通信。首先,將它們連接到相同的供電電源,并確保它們共享相同的電源電壓和接地線(xiàn)。接下來(lái),使用串口連接CC2530和ESP8266。通過(guò)將它們之間的串口引腳連接在一起,實(shí)現(xiàn)數(shù)據(jù)的傳輸。具體來(lái)說(shuō),將CC2530的UARTTX引腳連接到ESP8266的串口RX引腳,將CC2530的UARTRX引腳連接到ESP8266的串口TX引腳,并將它們的地線(xiàn)(GND)連接在一起。確保設(shè)置串口通信的波特率相同。默認(rèn)情況下,CC2530和ESP8266通常使用115200波特率進(jìn)行通信??梢栽诖a中相應(yīng)地設(shè)置波特率。最后使用ArduinoIDE,為ESP8266編寫(xiě)代碼以建立與CC2530的串口通信。通過(guò)設(shè)置串口的波特率和引腳,使用相應(yīng)的串口函數(shù)(例如Serial.begin()、Serial.print()和Serial.read())來(lái)發(fā)送和接收數(shù)據(jù)。3.2.3數(shù)字溫濕度傳感器DHT11DHT11是一種數(shù)字溫濕度傳感器,它可以通過(guò)單總線(xiàn)數(shù)字接口與微控制器等設(shè)備進(jìn)行通信。DHT11傳感器能夠同時(shí)測(cè)量環(huán)境溫度和濕度,并將數(shù)據(jù)以數(shù)字形式輸出,具有精度高、體積小、成本低等優(yōu)點(diǎn),被廣泛應(yīng)用于智能家居、智慧農(nóng)業(yè)、氣象觀(guān)測(cè)、空氣質(zhì)量監(jiān)測(cè)等領(lǐng)域。DHT11傳感器的測(cè)量范圍為0-50℃,濕度測(cè)量范圍為20%-90%RH,測(cè)量精度為±2℃,濕度精度為±5%RH。它采用單總線(xiàn)通信協(xié)議,能夠直接連接到微處理器的數(shù)字IO口,通過(guò)一系列指令和響應(yīng)來(lái)獲取溫濕度數(shù)據(jù),具有使用簡(jiǎn)單、穩(wěn)定性高、功耗低等特點(diǎn),如圖3.4所示為數(shù)字溫濕度傳感器DHT11模塊。圖3.4數(shù)字溫濕度傳感器DHT11在智慧農(nóng)業(yè)中,DHT11傳感器可以用于測(cè)量蘭花生長(zhǎng)環(huán)境的溫度和濕度等參數(shù),通過(guò)與ZigBee模塊結(jié)合,將數(shù)據(jù)上傳到云平臺(tái),實(shí)現(xiàn)對(duì)蘭花生長(zhǎng)環(huán)境的實(shí)時(shí)監(jiān)測(cè)和管理。要將CC2530連接到數(shù)字溫濕度傳感器DHT11,首先,初始化GPIO引腳,設(shè)置為輸入模式,以便接收來(lái)自DHT11的數(shù)據(jù)。接著,發(fā)送信號(hào)到DHT11,例如設(shè)置引腳為高電平并保持一段時(shí)間,然后切換到輸入模式等待傳感器的響應(yīng)。當(dāng)收到DHT11傳感器的響應(yīng)時(shí),讀取GPIO引腳上的數(shù)據(jù)位,并解析為溫度和濕度值。根據(jù)DHT11傳感器的通信協(xié)議,需要正確解析數(shù)據(jù)位并將其轉(zhuǎn)換為溫度和濕度值。3.2.4光敏電阻傳感器YL-38YL-38光敏電阻傳感器是一種常見(jiàn)的光敏傳感器,也被稱(chēng)為光敏電阻器或LDR傳感器。它是一種被動(dòng)式元件,其電阻值會(huì)隨著光照強(qiáng)度的變化而改變。當(dāng)光照強(qiáng)度越弱,其電阻值越大;當(dāng)光照強(qiáng)度越強(qiáng),其電阻值越小,其模塊如圖3.5所示。圖3.5光敏電阻傳感器YL-38YL-38光敏電阻傳感器通常由一個(gè)光敏元件、一個(gè)保護(hù)殼和兩個(gè)引腳組成。它可以測(cè)量環(huán)境光的強(qiáng)度,廣泛應(yīng)用于照明控制、環(huán)境監(jiān)測(cè)、安防系統(tǒng)等領(lǐng)域。CC2530連接到光敏電阻傳感器YL-38,首先將YL-38的一個(gè)引腳連接到CC2530的模擬輸入引腳(例如ADC0)。這個(gè)引腳將接收來(lái)自光敏電阻的電壓信號(hào)。另一個(gè)YL-38引腳需要連接到CC2530的地線(xiàn)(GND),以提供電路的共地。在CC2530的代碼中,需要初始化模擬輸入引腳,將其設(shè)置為輸入模式,并配置適當(dāng)?shù)膮⒖茧妷?。這樣可以確保ADC能夠正確讀取模擬輸入引腳上的電壓。使用CC2530的ADC庫(kù)或相應(yīng)的函數(shù),可以讀取模擬輸入引腳上的電壓值。該電壓值對(duì)應(yīng)于YL-38光敏電阻的阻值。然后,根據(jù)電阻分壓電路的設(shè)計(jì)和YL-38傳感器的特性,可以將讀取到的電壓值轉(zhuǎn)換為YL-38的光敏電阻值。3.2.5土壤濕度傳感器YX55769YX55769是一種土壤濕度傳感器,可以測(cè)量土壤或其他材料的含水量。它有四根電線(xiàn),其中兩根連在一起。它輸出一個(gè)隨濕度變化的模擬電壓。該傳感器可以與ZigBee等微控制器配合使用,以讀取和處理模擬數(shù)據(jù)。傳感器的AO引腳應(yīng)連接到微控制器的ADC引腳,如PA1,以執(zhí)行模數(shù)轉(zhuǎn)換。這種情況下不使用傳感器的DO引腳,其模塊如圖3.6所示。圖3.6土壤濕度傳感器YX55769將YX55769的輸出引腳連接到CC2530的模擬輸入引腳,初始化CC2530的模擬輸入引腳作為輸入模式,并設(shè)置適當(dāng)?shù)膮⒖茧妷骸_@樣可以確保ADC能夠正確讀取模擬輸入引腳上的電壓。首先通過(guò)調(diào)用initADC()函數(shù)來(lái)初始化ADC,設(shè)置參考電壓和模擬輸入引腳。然后,在readAnalogValue()函數(shù)中調(diào)用halAdcRead()函數(shù)來(lái)讀取模擬輸入引腳上的電壓值。這個(gè)函數(shù)返回一個(gè)16位的無(wú)符號(hào)整數(shù),表示模擬輸入引腳的電壓值。這可使傳感器的數(shù)據(jù)可以顯示在串行監(jiān)視器、LCD屏幕或其他設(shè)備上。通過(guò)使用公式或校準(zhǔn)曲線(xiàn),可以將數(shù)據(jù)轉(zhuǎn)換為濕度的百分比。3.3硬件鏈接與制作3.3.1終端設(shè)備ZigBee無(wú)線(xiàn)MCU:TICC2530F256USB轉(zhuǎn)串口芯片:CH340土壤濕度傳感器:YX55769光敏電阻傳感器:YL-38數(shù)字溫濕度傳感器:DHT11圖3.7ZigBee終端展示如圖3.7所示這是ZigBee終端,它用于收集環(huán)境信息,將傳感器收集到的信息發(fā)送到協(xié)調(diào)器上。3.3.2協(xié)調(diào)設(shè)備ZigBee無(wú)線(xiàn)MCU:TICC2530F256USB轉(zhuǎn)串口芯片:CH340一路繼電器:SRD-05VDC-SL-CWifi網(wǎng)關(guān):ESP8266圖3.8ZigBee協(xié)調(diào)器展示如圖3.8所示這是ZigBee協(xié)調(diào)器,它充當(dāng)網(wǎng)絡(luò)協(xié)調(diào)器,允許添加和刪除網(wǎng)絡(luò)中的設(shè)備。設(shè)置一個(gè)ZigBee網(wǎng)絡(luò)網(wǎng)關(guān),連接想要連接到OneNet云平臺(tái)的設(shè)備。連接繼電器接受平臺(tái)返回的數(shù)據(jù),控制繼電器繼而控制水泵、加濕器等設(shè)備。第4章系統(tǒng)軟件設(shè)計(jì)4.1物聯(lián)網(wǎng)(IoT)云平臺(tái)4.1.1物聯(lián)網(wǎng)云平臺(tái)物聯(lián)網(wǎng)(IoT)云平臺(tái)是一種基于云平臺(tái)的服務(wù),可以收集、處理和分析物聯(lián)網(wǎng)硬件設(shè)備生成的數(shù)據(jù)。這些平臺(tái)為管理物聯(lián)網(wǎng)設(shè)備生成的大量數(shù)據(jù)提供了可擴(kuò)展和靈活的基礎(chǔ)設(shè)施,并允許開(kāi)發(fā)人員和企業(yè)快速輕松地構(gòu)建和部署物聯(lián)網(wǎng)應(yīng)用。物聯(lián)網(wǎng)云平臺(tái)通常包括以下組件:數(shù)據(jù)攝取:物聯(lián)網(wǎng)設(shè)備通過(guò)各種通信協(xié)議向云平臺(tái)發(fā)送數(shù)據(jù),如MQTT、HTTP或CoAP。該平臺(tái)接收數(shù)據(jù)并將其存儲(chǔ)在數(shù)據(jù)庫(kù)或數(shù)據(jù)湖中。數(shù)據(jù)處理:平臺(tái)可以對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,如過(guò)濾、聚合和轉(zhuǎn)換。這使得平臺(tái)能夠基于數(shù)據(jù)生成洞察和警報(bào)。分析和機(jī)器學(xué)習(xí):該平臺(tái)還可以提供高級(jí)分析和機(jī)器學(xué)習(xí)功能,以分析數(shù)據(jù)并產(chǎn)生見(jiàn)解。這可能包括預(yù)測(cè)分析、異常檢測(cè)和模式識(shí)別。應(yīng)用支持:物聯(lián)網(wǎng)云平臺(tái)提供開(kāi)發(fā)者工具和API,使開(kāi)發(fā)人員能夠快速輕松地構(gòu)建和部署物聯(lián)網(wǎng)應(yīng)用。這包括設(shè)備管理、遠(yuǎn)程控制和數(shù)據(jù)可視化。安全性:物聯(lián)網(wǎng)云平臺(tái)還提供強(qiáng)大的安全功能來(lái)保護(hù)數(shù)據(jù)和設(shè)備免受未經(jīng)授權(quán)的訪(fǎng)問(wèn),包括身份驗(yàn)證、授權(quán)和加密。市場(chǎng)上有幾種物聯(lián)網(wǎng)云平臺(tái),包括:亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)物聯(lián)網(wǎng):該平臺(tái)提供一系列服務(wù),包括數(shù)據(jù)攝取、處理、分析和機(jī)器學(xué)習(xí)。它還包括用于設(shè)備管理、安全性以及與其他AWS服務(wù)集成的工具。微軟Azure物聯(lián)網(wǎng):該平臺(tái)為物聯(lián)網(wǎng)提供了一套全面的服務(wù),包括數(shù)據(jù)攝取、處理、分析和機(jī)器學(xué)習(xí)。它還包括設(shè)備管理、安全和與其他Azure服務(wù)集成的工具。谷歌云物聯(lián)網(wǎng):該平臺(tái)提供一系列服務(wù),包括數(shù)據(jù)攝取、處理、分析和機(jī)器學(xué)習(xí)。它還包括設(shè)備管理、安全和與其他谷歌云服務(wù)集成的工具。IBMWatson物聯(lián)網(wǎng):該平臺(tái)為物聯(lián)網(wǎng)提供了一套全面的服務(wù),包括數(shù)據(jù)攝取、處理、分析和機(jī)器學(xué)習(xí)。它還包括用于設(shè)備管理、安全性以及與其他IBM服務(wù)集成的工具。OneNet是一款基于物聯(lián)網(wǎng)的云平臺(tái),可用于連接和管理物聯(lián)網(wǎng)設(shè)備,并收集和處理傳感器監(jiān)測(cè)數(shù)據(jù),提供數(shù)據(jù)分析和數(shù)據(jù)可視化等功能。OneNet云平臺(tái)支持多種通信協(xié)議,包括ZigBee、WiFi、藍(lán)牙等,可廣泛應(yīng)用于智慧農(nóng)業(yè)、智能家居、智慧城市等領(lǐng)域。物聯(lián)網(wǎng)云平臺(tái)已被廣泛應(yīng)用于各行各業(yè),包括制造業(yè)、醫(yī)療保健、智能城市和交通運(yùn)輸。它們使企業(yè)能夠從大量設(shè)備中收集和分析數(shù)據(jù),提供洞察力和智能來(lái)推動(dòng)業(yè)務(wù)決策和優(yōu)化運(yùn)營(yíng)。4.1.2OneNet云平臺(tái)OneNet云平臺(tái)具有以下主要特點(diǎn):(1)支持多種物聯(lián)網(wǎng)設(shè)備,包括傳感器、執(zhí)行器、控制器等,可以方便地與各種物聯(lián)網(wǎng)設(shè)備進(jìn)行連接和管理。(2)提供靈活的數(shù)據(jù)管理和分析功能,可用于收集、處理和分析物聯(lián)網(wǎng)設(shè)備傳輸?shù)臄?shù)據(jù),并生成相關(guān)的報(bào)表和圖表,幫助用戶(hù)更好地了解數(shù)據(jù)和趨勢(shì)。(3)支持多種通信協(xié)議和數(shù)據(jù)格式,包括HTTP、MQTT、JSON等,可與不同類(lèi)型的物聯(lián)網(wǎng)設(shè)備進(jìn)行通信和數(shù)據(jù)交換。(4)提供可視化的用戶(hù)界面,方便用戶(hù)對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行管理和控制。(5)具有安全、穩(wěn)定、高可靠性等特點(diǎn),可保障物聯(lián)網(wǎng)系統(tǒng)的安全性和穩(wěn)定性。OneNet云平臺(tái)可以與多種物聯(lián)網(wǎng)設(shè)備配合使用,包括使用ZigBee通信協(xié)議的設(shè)備,如CC2530芯片和無(wú)線(xiàn)傳感器等。在智慧農(nóng)業(yè)領(lǐng)域,OneNet云平臺(tái)可以用于蘭花自動(dòng)培養(yǎng)系統(tǒng)中,收集和分析傳感器數(shù)據(jù),幫助用戶(hù)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和控制。4.2鏈接OneNet云平臺(tái)4.2.1基本流程將ZigBee協(xié)調(diào)器連接到OneNet云平臺(tái):需要使用WiFi協(xié)議將ZigBee協(xié)調(diào)器連接到OneNet云平臺(tái)。OneNet支持各種集成協(xié)議,比如MQTT、HTTP和CoAP。選擇MQTT協(xié)議。配置設(shè)備數(shù)據(jù):一旦ZigBee協(xié)調(diào)器連接到OneNet云平臺(tái),就可以配置想要從ZigBee設(shè)備收集的數(shù)據(jù)。這可以包括傳感器數(shù)據(jù)、設(shè)備狀態(tài)和其他相關(guān)信息。進(jìn)行分析和可視化數(shù)據(jù):OneNet云平臺(tái)提供了分析和可視化從ZigBee設(shè)備收集的數(shù)據(jù)的工具。這可以包括儀表盤(pán)、圖表和警報(bào),使能夠監(jiān)控和管理物聯(lián)網(wǎng)設(shè)備和應(yīng)用程序。4.2.2連接協(xié)議MQTTMQTT是一種輕量級(jí)的、開(kāi)放的、基于發(fā)布/訂閱模式的消息傳輸協(xié)議。它設(shè)計(jì)用于在低帶寬、不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,將消息從發(fā)布者傳遞給訂閱者。MQTT協(xié)議的主要特點(diǎn)包括:輕量級(jí)設(shè)計(jì),適用于資源受限的設(shè)備和網(wǎng)絡(luò)環(huán)境;采用發(fā)布/訂閱模式,發(fā)布者將消息發(fā)布到特定的主題上,訂閱者通過(guò)訂閱主題來(lái)接收消息;支持不同的服務(wù)質(zhì)量等級(jí),提供不同的消息傳遞可靠性;使用TCP/IP連接進(jìn)行通信,支持持久會(huì)話(huà)和清除會(huì)話(huà)兩種模式;允許發(fā)布者發(fā)布保留消息,代理服務(wù)器會(huì)將其保存并在訂閱者訂閱主題時(shí)發(fā)送。MQTT在物聯(lián)網(wǎng)應(yīng)用中被廣泛應(yīng)用,為設(shè)備和應(yīng)用程序提供了低延遲、實(shí)時(shí)的通信能力。4.2.3具體操作注冊(cè)并登錄OneNet物聯(lián)網(wǎng)云平臺(tái),選擇點(diǎn)擊進(jìn)入控制臺(tái)頁(yè)面,在云平臺(tái)中創(chuàng)建一個(gè)新的產(chǎn)品,并命名設(shè)備所屬的產(chǎn)品名稱(chēng),并選擇對(duì)應(yīng)的設(shè)備協(xié)議,本文選擇MQTT協(xié)議。因?yàn)楫a(chǎn)品名稱(chēng)擁有16個(gè)字符以?xún)?nèi)的限制,所以本文產(chǎn)品名稱(chēng)編寫(xiě)為“智能設(shè)備”。選擇產(chǎn)品行業(yè)為環(huán)境監(jiān)控,產(chǎn)品類(lèi)別為辦公設(shè)備-辦公設(shè)備-其他,在產(chǎn)品介紹中寫(xiě)入“基于ZigBee的蘭花自動(dòng)培養(yǎng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”,選擇組網(wǎng)方式為WiFi模塊,操作系統(tǒng)選擇無(wú)。網(wǎng)絡(luò)運(yùn)營(yíng)商可以勾選全部,最后點(diǎn)擊保存,這就完成了產(chǎn)品創(chuàng)建,具體如圖4.1所示。圖4.1OneNet產(chǎn)品創(chuàng)建完成產(chǎn)品創(chuàng)建之后,需要添加一個(gè)設(shè)備用于接收ESP8266Wifi模塊發(fā)送到OneNet云平臺(tái)的數(shù)據(jù),在彈出的“添加設(shè)備”對(duì)話(huà)框中,填寫(xiě)設(shè)備名稱(chēng)和鑒權(quán)信息。設(shè)備名稱(chēng)是自己定義的一個(gè)唯一標(biāo)識(shí)符,用于區(qū)分不同的設(shè)備。鑒權(quán)信息是設(shè)備登錄時(shí)需要使用的參數(shù),它可以是設(shè)備的密碼、密鑰、token等信息。選擇數(shù)據(jù)保密性為“私密”可以保障設(shè)備數(shù)據(jù)的安全性,也可以選規(guī)則“公開(kāi)”,本設(shè)計(jì)選規(guī)則“公開(kāi)”,因?yàn)楸驹O(shè)計(jì)數(shù)據(jù)重要,這可以根據(jù)實(shí)際情況選則。點(diǎn)擊“確認(rèn)”按鈕,完成設(shè)備的添加。此時(shí),將獲得一個(gè)設(shè)備ID和鑒權(quán)信息。將這些信息保存好,以便后續(xù)使用。在ZigBee連接ESP8266Wif模塊的協(xié)調(diào)硬件設(shè)備中,編寫(xiě)一個(gè)MQTT客戶(hù)端程序,連接到OneNet云平臺(tái)并向其發(fā)送數(shù)據(jù)。在連接時(shí),需要使用之前獲得的設(shè)備ID和鑒權(quán)信息作為登錄參數(shù)。具體代碼實(shí)現(xiàn)可以參考OneNet云平臺(tái)提供的開(kāi)發(fā)文檔和示例代碼。需要注意的是,需要在代碼中定義設(shè)備數(shù)據(jù)的格式和傳輸協(xié)議,以便OneNet云平臺(tái)能夠正確地解析和處理數(shù)據(jù)。具體代碼放在了附件中,需要查看前往附件中察看。在OneNet云平臺(tái)中,可以通過(guò)設(shè)備管理頁(yè)面查看設(shè)備狀態(tài)和接收數(shù)據(jù)。還可以通過(guò)OneNet提供的API接口,將設(shè)備數(shù)據(jù)傳輸?shù)狡渌到y(tǒng)或應(yīng)用程序中進(jìn)行進(jìn)一步處理和分析,并進(jìn)行數(shù)據(jù)的可視化開(kāi)發(fā),方便管理察看。4.3智能與便捷化處理4.3.1數(shù)據(jù)查詢(xún)與處理OneNet的控制臺(tái)可以進(jìn)行設(shè)備管理、數(shù)據(jù)管理、規(guī)則引擎等操作。可以通過(guò)訪(fǎng)問(wèn)OneNet的控制臺(tái)進(jìn)而進(jìn)對(duì)設(shè)備進(jìn)行操作,如圖4.2所示。圖4.2控制臺(tái)試圖根據(jù)圖4.2所示,通過(guò)OneNET控制臺(tái)可以進(jìn)行數(shù)據(jù)的實(shí)時(shí)查看、數(shù)據(jù)篩選和命令下發(fā)等操作。此外,你還可以在控制臺(tái)中添加觸發(fā)器來(lái)實(shí)現(xiàn)特定條件下的操作。觸發(fā)器的作用是當(dāng)指定范圍內(nèi)的數(shù)據(jù)點(diǎn)滿(mǎn)足觸發(fā)條件時(shí),會(huì)向指定的URL地址發(fā)送POST請(qǐng)求。觸發(fā)器有三種工作觸發(fā)模式:(1)指定數(shù)據(jù)流ID(ds_id):當(dāng)請(qǐng)求參數(shù)中僅指定了數(shù)據(jù)流ID(ds_id),而不包括其他參數(shù)時(shí),當(dāng)前項(xiàng)目下所有設(shè)備的數(shù)據(jù)流中,名稱(chēng)符合ds_id的數(shù)據(jù)將被觸發(fā)。(2)指定設(shè)備ID(dev_id)和數(shù)據(jù)流ID(ds_id):當(dāng)請(qǐng)求參數(shù)中同時(shí)指定了設(shè)備ID(dev_id)和數(shù)據(jù)流ID(ds_id)時(shí),當(dāng)前項(xiàng)目下名稱(chēng)為dev_id的設(shè)備的數(shù)據(jù)流中,名稱(chēng)符合ds_id的數(shù)據(jù)將被觸發(fā)。(3)指定設(shè)備ID(dev_id)、數(shù)據(jù)流ID(ds_id)和數(shù)據(jù)流標(biāo)簽(datastream_tags):當(dāng)請(qǐng)求參數(shù)中同時(shí)指定了設(shè)備ID(dev_id)、數(shù)據(jù)流ID(ds_id)和數(shù)據(jù)流標(biāo)簽(datastream_tags)時(shí),當(dāng)前項(xiàng)目下名稱(chēng)為dev_id的設(shè)備的數(shù)據(jù)流中,名稱(chēng)符合ds_id并且數(shù)據(jù)流標(biāo)簽符合datastream_tags的數(shù)據(jù)將被觸發(fā)。此外,你還可以選擇簡(jiǎn)單的方式,即發(fā)送郵箱提醒。當(dāng)指定范圍內(nèi)的數(shù)據(jù)點(diǎn)滿(mǎn)足觸發(fā)條件時(shí),系統(tǒng)會(huì)向指定的郵箱發(fā)送警告郵件。這樣,當(dāng)蘭花生長(zhǎng)環(huán)境出現(xiàn)異常變化時(shí),你會(huì)收到警告提醒。通過(guò)這些功能,你可以根據(jù)需要設(shè)置觸發(fā)器,實(shí)現(xiàn)對(duì)蘭花生長(zhǎng)環(huán)境數(shù)據(jù)的監(jiān)測(cè)和預(yù)警,以及靈活的數(shù)據(jù)處理和操作。4.3.2數(shù)據(jù)可視化與便捷化數(shù)據(jù)可視化是將數(shù)據(jù)通過(guò)圖表、圖形、圖像、地圖等可視化方式呈現(xiàn),以便更直觀(guān)、清晰地理解和分析數(shù)據(jù)的過(guò)程。通過(guò)數(shù)據(jù)可視化,人們可以通過(guò)視覺(jué)感知來(lái)發(fā)現(xiàn)數(shù)據(jù)中的模式、趨勢(shì)、關(guān)聯(lián)和異常等信息,從而做出更準(zhǔn)確的決策和洞察。在OneNet平臺(tái)上,可以使用OneNet可視化平臺(tái)來(lái)實(shí)現(xiàn)數(shù)據(jù)的可視化。在完成了創(chuàng)建產(chǎn)品的數(shù)據(jù)流上傳后,打開(kāi)OneNet官網(wǎng),點(diǎn)擊左上角,在彈出的界面選擇數(shù)據(jù)可視化View。如圖4.3所示,進(jìn)入這個(gè)界面就可以開(kāi)始新建自己的可視化平臺(tái)了。圖4.3OneNet可視化操作平臺(tái)如圖4.3所示,點(diǎn)擊新建項(xiàng)目,創(chuàng)建可視化頁(yè)面,并進(jìn)行進(jìn)行數(shù)據(jù)可視化頁(yè)面編輯,如圖4.4所示,擁有統(tǒng)計(jì)圖,溫度計(jì),按鈕等許多控制部件可共選擇并編輯并選擇對(duì)應(yīng)的數(shù)據(jù)流,最后進(jìn)行編碼選則相應(yīng)數(shù)據(jù)。圖4.4可視化編輯頁(yè)面在可視化編輯頁(yè)面中,如圖4.4所示,選擇手機(jī)或者PC端頁(yè)面,添加四個(gè)計(jì)量表,四個(gè)開(kāi)關(guān),一個(gè)折現(xiàn)統(tǒng)計(jì)圖,并根據(jù)實(shí)際需求編寫(xiě)js腳本,開(kāi)發(fā)過(guò)濾器,最后結(jié)果如圖4.5和圖4.6所示。保存并發(fā)布,通過(guò)手機(jī)訪(fǎng)問(wèn)url鏈接就可便捷方便查看數(shù)據(jù)并處理。圖4.5數(shù)據(jù)可視化手機(jī)端展示圖4.6數(shù)據(jù)可視化PC端展示如圖4.5和圖4.6所示,OneNet云平臺(tái)可以提供實(shí)時(shí)監(jiān)控功能,可以實(shí)時(shí)查看設(shè)備數(shù)據(jù)的變化,并通過(guò)圖表、圖像或其他可視化方式進(jìn)行展示,有助于及時(shí)監(jiān)控設(shè)備狀態(tài)、趨勢(shì)和異常情況,可以依據(jù)數(shù)據(jù)變化通過(guò)開(kāi)關(guān)調(diào)節(jié)蘭花的生長(zhǎng)環(huán)境。數(shù)據(jù)可視化PC端,集成了氣象觀(guān)測(cè)圖,方便種植人員觀(guān)察氣象并做出預(yù)警;集成了蘭花狀態(tài)展示,可訪(fǎng)問(wèn)種植人員上傳圖床的照片,展示蘭花生長(zhǎng)狀態(tài);還可以通過(guò)手機(jī)掃描二維碼便捷登錄手機(jī)端察看。第5章系統(tǒng)測(cè)試與調(diào)試5.1測(cè)試流程硬件測(cè)試流程如圖5.1所示。圖5.1硬件測(cè)試流程圖5.1中測(cè)試計(jì)劃中的測(cè)試用例應(yīng)該包括硬件的基本功能測(cè)試,如連接穩(wěn)定性、信號(hào)傳輸可靠性、功耗測(cè)試等。還應(yīng)該包括一些特定的用例,根據(jù)硬件的設(shè)計(jì)用途而定,例如傳感器的靈敏度測(cè)試、攝像頭的分辨率測(cè)試等。測(cè)試環(huán)境應(yīng)該模擬實(shí)際使用環(huán)境的條件,考慮到硬件的特性,應(yīng)該考慮使用專(zhuān)業(yè)的測(cè)試設(shè)備,如示波器、頻譜分析儀等。將部件置于需要測(cè)量的條件下可以通過(guò)設(shè)置特定的電壓、電流、溫度等,還可以應(yīng)用一些力學(xué)力量來(lái)測(cè)試硬件的性能。最后在進(jìn)行測(cè)量的過(guò)程中需要記錄數(shù)據(jù)。軟件測(cè)試可以分為兩大類(lèi):功能測(cè)試和非功能測(cè)試。軟件功能測(cè)試,是指在驗(yàn)證軟件的功能是否按照預(yù)期工作。在功能測(cè)試中,通過(guò)執(zhí)行測(cè)試用例,模擬各種正常和異常情況,以確保軟件的功能表現(xiàn)符合預(yù)期。根據(jù)需求文檔和設(shè)計(jì)規(guī)格編寫(xiě)測(cè)試用例,然后在類(lèi)似實(shí)際生產(chǎn)環(huán)境的測(cè)試環(huán)境中執(zhí)行這些用例。測(cè)試結(jié)果與預(yù)期結(jié)果進(jìn)行比較,并記錄發(fā)現(xiàn)的缺陷和修復(fù)情況。功能測(cè)試是一個(gè)迭代過(guò)程,通過(guò)重復(fù)執(zhí)行測(cè)試和修復(fù)過(guò)程,最終確保軟件的功能質(zhì)量達(dá)到用戶(hù)的需求和期望。非功能測(cè)試是指測(cè)試軟件的性能、安全性、可靠性、可維護(hù)性等方面的過(guò)程。它包括以下幾種類(lèi)型:性能測(cè)試評(píng)估軟件在不同負(fù)載和壓力下的響應(yīng)時(shí)間、吞吐量和資源消耗;安全測(cè)試檢查軟件是否能夠抵御惡意攻擊和保護(hù)敏感數(shù)據(jù);可靠性測(cè)試測(cè)量軟件在特定條件下運(yùn)行一段時(shí)間后的故障率和恢復(fù)能力;可維護(hù)性測(cè)試評(píng)估軟件修改、修復(fù)和更新的難易程度。5.1.1硬件首先,進(jìn)行接口測(cè)試,檢查各個(gè)接口的連接情況,確保插頭和插座之間的連接牢固,沒(méi)有松動(dòng)或接觸不良的問(wèn)題。這可以使用多用途表等測(cè)試工具來(lái)檢查接口的連通性和電阻情況。其次,進(jìn)行電源穩(wěn)定性測(cè)試。使用示波器或電壓表來(lái)測(cè)量電源輸出的穩(wěn)定性和紋波情況,以確保系統(tǒng)在不同工作負(fù)載下都能正常工作。然后,進(jìn)行顯示測(cè)試,檢查液晶顯示屏幕。進(jìn)行傳感器測(cè)試,驗(yàn)證系統(tǒng)中的傳感器能夠準(zhǔn)確地采集數(shù)據(jù)并傳輸給系統(tǒng)。測(cè)試無(wú)線(xiàn)模塊的穩(wěn)定性和可靠性,以確保無(wú)線(xiàn)通信的正常運(yùn)行。進(jìn)行硬件安全性測(cè)試,檢查電路板和連接線(xiàn)路,確保沒(méi)有短路、接地等安全隱患。進(jìn)行性能測(cè)試,使用專(zhuān)業(yè)的性能測(cè)試工具,進(jìn)行基準(zhǔn)測(cè)試或負(fù)載測(cè)試,以獲取準(zhǔn)確的性能數(shù)據(jù)。進(jìn)行可靠性測(cè)試,運(yùn)行系統(tǒng)在長(zhǎng)時(shí)間連續(xù)工作和負(fù)載下,驗(yàn)證系統(tǒng)的穩(wěn)定性和可靠性。最后,進(jìn)行兼容性測(cè)試,確保系統(tǒng)能夠與其他硬件設(shè)備或軟件無(wú)縫配合工作。測(cè)試系統(tǒng)在與其他設(shè)備或軟件進(jìn)行交互時(shí)的兼容性和互操作性。在進(jìn)行硬件測(cè)試時(shí),應(yīng)記錄測(cè)試結(jié)果、錯(cuò)誤報(bào)告和異常情況,并進(jìn)行修復(fù)和改進(jìn)。確保測(cè)試環(huán)境符合實(shí)際使用條件,并參考相關(guān)的硬件測(cè)試標(biāo)準(zhǔn)和指南,以確保測(cè)試過(guò)程的準(zhǔn)確性和一致性。5.1.2軟件在進(jìn)行軟件功能測(cè)試時(shí),針對(duì)特定的功能進(jìn)行了詳細(xì)測(cè)試,包括傳感器采樣程序、ZigBee模塊通訊、數(shù)據(jù)可視化界面和與OneNet云平臺(tái)通訊。首先,對(duì)于傳感器采樣程序測(cè)試,以1秒或2秒的間隔頻率采集各個(gè)傳感器的數(shù)據(jù),并持續(xù)采集24小時(shí)以上。觀(guān)察LCD顯示是否出現(xiàn)異常數(shù)據(jù),以驗(yàn)證采樣程序的正常性和數(shù)據(jù)的可靠性。經(jīng)過(guò)測(cè)試,采樣程序表現(xiàn)正常,數(shù)據(jù)可靠,沒(méi)有出現(xiàn)異常數(shù)據(jù)。其次,進(jìn)行了ZigBee模塊通訊測(cè)試。測(cè)試了ZigBee終端模塊能否及時(shí)處理采集到的傳感器信號(hào),并將數(shù)據(jù)發(fā)送到ZigBee協(xié)調(diào)模塊。通過(guò)觀(guān)察電路板上的Led屏幕模塊是否接收到數(shù)據(jù)來(lái)驗(yàn)證通訊是否正常。經(jīng)過(guò)測(cè)試,無(wú)線(xiàn)模塊的接收功能正常,通訊過(guò)程沒(méi)有出現(xiàn)問(wèn)題。再次,進(jìn)行了數(shù)據(jù)可視化界面測(cè)試。多次重復(fù)操作按鍵菜單,設(shè)置各個(gè)系統(tǒng)參數(shù),并分析是否存在bug。經(jīng)過(guò)測(cè)試,確認(rèn)數(shù)據(jù)無(wú)錯(cuò)誤,系統(tǒng)界面穩(wěn)定,沒(méi)有發(fā)現(xiàn)任何死機(jī)現(xiàn)象。最后,進(jìn)行了與OneNet云平臺(tái)的通訊測(cè)試。以1秒的間隔頻率發(fā)送命令,并持續(xù)發(fā)送超過(guò)24小時(shí),驗(yàn)證OneNet云平臺(tái)是否能夠及時(shí)更新且準(zhǔn)確地接收數(shù)據(jù),并返回正確的數(shù)據(jù)。經(jīng)過(guò)測(cè)試,連接正常,與OneNet云平臺(tái)的通訊功能正常運(yùn)行。通過(guò)以上測(cè)試,確認(rèn)這些功能在軟件中正常工作,并且沒(méi)有出現(xiàn)異常情況。這些測(cè)試結(jié)果表明軟件的功能達(dá)到預(yù)期要求,并且可以可靠地執(zhí)行其設(shè)計(jì)功能。5.2測(cè)試結(jié)果測(cè)試結(jié)果表明,該系統(tǒng)能夠有效地監(jiān)測(cè)和控制蘭花的生長(zhǎng)環(huán)境。傳感器節(jié)點(diǎn)可以準(zhǔn)確采集蘭花的生長(zhǎng)環(huán)境數(shù)據(jù),協(xié)調(diào)節(jié)點(diǎn)可以將數(shù)據(jù)實(shí)時(shí)上傳到OneNet云平臺(tái)。用戶(hù)可通過(guò)網(wǎng)絡(luò)瀏覽器訪(fǎng)問(wèn)云平臺(tái),實(shí)時(shí)查看蘭花生長(zhǎng)狀況,調(diào)整生長(zhǎng)環(huán)境參數(shù)。該系統(tǒng)可有效提高蘭花的栽培效率,為其他作物的智能化栽培提供一種新方法??偨Y(jié)近年來(lái),隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和應(yīng)用,農(nóng)業(yè)科技也迎來(lái)了重大的進(jìn)步,促使農(nóng)業(yè)向信息化、精細(xì)化、可追溯化的方向快速發(fā)展。但是目前我國(guó)在農(nóng)村和農(nóng)業(yè)等領(lǐng)域還擁有著許的多問(wèn)題,傳統(tǒng)農(nóng)業(yè)模式的發(fā)展存在特定的的局限性,生產(chǎn)力不夠高,生產(chǎn)效率低。但是隨著現(xiàn)代智慧農(nóng)業(yè)的快速發(fā)展,這些問(wèn)題那都不是問(wèn)題,將大大提高生產(chǎn)力和生產(chǎn)效率。ZigBee技術(shù)的運(yùn)用在智慧農(nóng)業(yè)中也具有重要意義。ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的優(yōu)勢(shì)在于低功耗、低成本、可靠性高等特點(diǎn),能夠?qū)崿F(xiàn)對(duì)蘭花生長(zhǎng)環(huán)境中的溫度、濕度等指標(biāo)的實(shí)時(shí)監(jiān)測(cè),并將數(shù)據(jù)通過(guò)OneNet云平臺(tái)進(jìn)行處理和分析,從而提供決策支持和生產(chǎn)管理服務(wù),為蘭花種植業(yè)的精細(xì)化管理提供了有力的支撐。本文工作總結(jié):本文基于ZigBee設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)蘭花自動(dòng)培養(yǎng)系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)蘭花生長(zhǎng)環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測(cè)和控制,并通過(guò)自動(dòng)化技術(shù)實(shí)現(xiàn)了對(duì)蘭花的自動(dòng)化管理和控制。通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)的統(tǒng)計(jì)與分析,本系統(tǒng)在蘭花自動(dòng)培養(yǎng)方面取得了一定的成果。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)能夠有效地提高蘭花的生長(zhǎng)速度和生長(zhǎng)品質(zhì),達(dá)到了預(yù)期的效果。未來(lái)可以繼續(xù)完善該系統(tǒng)的設(shè)計(jì)和優(yōu)化,進(jìn)一步提高蘭花培養(yǎng)的效率和品質(zhì)。參考文獻(xiàn)[1]龍祖連.基于ZigBee智慧農(nóng)業(yè)控制系統(tǒng)的研究與設(shè)計(jì)[J].2021.[2]田豐,何杰.基于ZigBee的農(nóng)業(yè)信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].2021(2020-1):25-29.[3]張靜.基于ZigBee技術(shù)的果蔬大棚土壤墑情管理系統(tǒng)[J].農(nóng)機(jī)化研究,2022,44(4):213-217.[4]李玉林.基于Android和ZigBee技術(shù)的智能農(nóng)業(yè)大棚監(jiān)控系統(tǒng)設(shè)計(jì)[J].2022(19).[5]榮蓉,肖景陽(yáng).基于ZigBee技術(shù)的果蔬智能大棚控制系統(tǒng)設(shè)計(jì)與試驗(yàn)[J].農(nóng)機(jī)化研究,2023,45(3):4.[6]王子博.ZigBee技術(shù)在大棚環(huán)境監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].鄉(xiāng)村科技,2021(1):125-126.[7]余海林,莫莉,趙悅,等.基于ZigBee無(wú)線(xiàn)傳感器的井下甲烷濃度監(jiān)測(cè)系統(tǒng)[J].成都大學(xué)學(xué)報(bào):自然科學(xué)版,2022(002):041.[8]王凱.ZigBee網(wǎng)絡(luò)路由器低功耗優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)[J].電子元器件與信息技術(shù),2021(004):005.[9]謝曉暉,王偉麗.連拱式蘭花種植大棚智能環(huán)境控制系統(tǒng)設(shè)計(jì)[J].福建農(nóng)機(jī),2021(4):5.[10]羅麗霞,林文洪,曾曉輝,等.蘭花育種技術(shù)研究進(jìn)展[J].農(nóng)業(yè)科技通訊,2022(12):3.[11]王長(zhǎng)青.淺談家庭養(yǎng)蘭[J].花卉,2021(19):3.[12]杜熙茹,黃秋,黃曉輝,等.基于OneNet物聯(lián)網(wǎng)云平臺(tái)的體育運(yùn)動(dòng)遠(yuǎn)程監(jiān)控系統(tǒng)[J].2021(2020-11):10-13.[13]成瀾.基于OneNet物聯(lián)網(wǎng)云平臺(tái)與MQTT協(xié)議的智能家居模型通用控制小程序設(shè)計(jì)[J].電腦與電信,2022(7):4.[14]馮甜欣,張曉光,劉景勇,等.基于云平臺(tái)的選煤廠(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)[J].工礦自動(dòng)化,2021.[15]周沛仰.基于ZigBee和OneNet的智慧農(nóng)業(yè)系統(tǒng)[J].現(xiàn)代農(nóng)機(jī),2022(001):000.[16]于振武.基于ZigBee的藍(lán)莓種植信息采集系統(tǒng)[D].安徽建筑大學(xué),2021.[17]HidayatT,MahardikoR,FrankyST.MethodofSystematicLiteratureReviewforInternetofThingsinZigBeeSmartAgriculture[C]//The8thInternationalConferenceonInformationandCommunication.2020.[18]KulkarniH,JoshiAY,KadamSV,etal.IOTBasedSmartIrrigationSystem[J].2021.[19]Stolojescu-CrisanC,ButunoiBP,CrisanC.AnIoTBasedSmartIrrigationSystem[J].IEEEConsumerElectronicsMagazine,2021,PP(99):1-1.[20]HassanN,CherageeSH,AhammedS,etal.SensorbasedSmartIrrigationSystemwithMonitoringandControllingusingInternetofThings[J].TheInternationalJournalofAmbientSystemsandApplications,2021,9(2):17-26.[21]Sai,Thavath,etal.“PrototypingofSmartIrrigationSystemUsingIOTTechnology.”20217thInternationalConferenceonElectrical,ElectronicsandInformationEngineering(ICEEIE),2021.附錄附錄A硬件端程序代碼//參數(shù)分別代表WIFI名稱(chēng)、密碼#defineWIFI_INFO"AT+CWJAP=TP,88888888\r\n"http://參數(shù)分別代表設(shè)備ID、產(chǎn)品ID、鑒權(quán)信息#defineOneNet_INFO"AT+IOTCFG=1056905869,580422,123456\r\n"http://SampleApp_ClusterList就是一個(gè)簇,//包含了命令SAMPLEAPP_PERIODIC_CLUSTERID、SAMPLEAPP_FLASH_CLUSTERIDconstcId_tSampleApp_ClusterList[SAMPLEAPP_MAX_CLUSTERS]={SAMPLEAPP_PERIODIC_CLUSTERID,SAMPLEAPP_FLASH_CLUSTERID};/*簡(jiǎn)單設(shè)備描述符--使用一個(gè)網(wǎng)絡(luò)地址可以描述一個(gè)節(jié)點(diǎn),在一個(gè)節(jié)點(diǎn)上有很多端口故用簡(jiǎn)單描述符來(lái)描述一個(gè)端口*/constSimpleDescriptionFormat_tSampleApp_SimpleDesc={SAMPLEAPP_ENDPOINT,//端口號(hào),這里是20,可以在1-240隨便取SAMPLEAPP_PROFID,//應(yīng)用規(guī)范IDSAMPLEAPP_DEVICEID,//應(yīng)用設(shè)備IDSAMPLEAPP_DEVICE_VERSION,//應(yīng)用版本號(hào)SAMPLEAPP_FLAGS,//保留SAMPLEAPP_MAX_CLUSTERS,//輸入簇包含的命令個(gè)數(shù),這里是2(cId_t*)SampleApp_ClusterList,//輸入簇列表SAMPLEAPP_MAX_CLUSTERS,//輸出簇包含的命令個(gè)數(shù)(cId_t*)SampleApp_ClusterList//輸出簇列表};endPointDesc_tSampleApp_epDesc;//端口描述符uint8SampleApp_TaskID;//任務(wù)IDdevStates_tSampleApp_NwkState;//保存節(jié)點(diǎn)狀態(tài)的變量uint8SampleApp_TransID;//數(shù)據(jù)發(fā)送序號(hào)afAddrType_tSampleApp_Periodic_DstAddr;//廣播afAddrType_tSampleApp_P2P_DstAddr;//點(diǎn)播/*串口基本定義*/#defineMY_DEFINE_UART0_PORT0//自定義串口號(hào)(0,1);#defineMY_DEFINE_UART1_PORT1//自定義串口號(hào)(0,1);#defineRX_MAX_LENGTH20//接收緩沖區(qū)最大值:20個(gè)字節(jié);uint8RX_BUFFER[RX_MAX_LENGTH];//接收緩沖區(qū);/**********************************************************************LOCALFUNCTIONS*/voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pckt);//處理終端數(shù)據(jù)發(fā)送數(shù)據(jù)到云平臺(tái)voidSampleApp_SendPeriodicMessage(void);//消息處理函數(shù)voidSampleApp_HandleKeys(uint8shift,uint8keys);//按鍵事件處理函數(shù)voidUart0_Config(void);//串口0配置函數(shù)voidUart1_Config(void);//串口1配置函數(shù)voidUart0CallBackFunction(uint8port,uint8event);//回調(diào)函數(shù)聲明,定義在最后面;voidUart1CallBackFunction(uint8port,uint8event);//回調(diào)函數(shù)聲明,定義在最后面;/**********************************************************************TYPEDEFS*/#defineDATA_PIN1P0_3//繼電器1引腳#defineDATA_PIN2P1_0//繼電器2引腳#defineDATA_PIN3P1_1//繼電器3引腳#defineDATA_PIN4P0_6//繼電器4引腳/*********************************************************************/*應(yīng)用層初始化函數(shù)*/voidSampleApp_Init(uint8task_id){unsignedchartmp[10];SampleApp_TaskID=task_id;//初始化任務(wù)優(yōu)先級(jí)SampleApp_NwkState=DEV_INIT;//將設(shè)備的狀態(tài)初始化為DEV_INIT,表示該節(jié)點(diǎn)沒(méi)有連接到ZigBee網(wǎng)絡(luò)SampleApp_TransID=0;//將發(fā)送數(shù)據(jù)包的序號(hào)初始化為0SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;//廣播SampleApp_Periodic_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_Periodic_DstAddr.addr.shortAddr=0xFFFF;SampleApp_P2P_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;//點(diǎn)播SampleApp_P2P_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_P2P_DstAddr.addr.shortAddr=0x0000;//發(fā)給協(xié)調(diào)器//對(duì)節(jié)點(diǎn)描述符進(jìn)行初始化SampleApp_epDesc.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_epDesc.task_id=&SampleApp_TaskID;SampleApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&SampleApp_SimpleDesc;SampleApp_epDesc.latencyReq=noLatencyReqs;//用afRegister函數(shù)將節(jié)點(diǎn)描述符進(jìn)行注冊(cè),注冊(cè)后才能使用OSAL提供的服務(wù)afRegister(&SampleApp_epDesc);//注冊(cè)按鍵事件RegisterForKeys(SampleApp_TaskID);//串口初始化Uart0_Config();Uart1_Config();osal_memset(tmp,0,10);tmp[0]=HAL_UART_DMA+0x30;//1tmp[1]=HAL_UART_ISR+0x30;//2tmp[2]=HAL_UART_USB+0x30;//0//HalUARTWrite(0,tmp,6);HalUARTWrite(0,"\r\nuartok\r\n\r\n",18);//串口測(cè)試#ifdefined(LCD_SUPPORTED)HalLcdWriteString("SampleApp",HAL_LCD_LINE_1);#endif#ifdefZDO_COORDINATOR//協(xié)調(diào)器專(zhuān)屬初始化//逢蜂鳴器初始化P0SEL&=~0x80;//設(shè)置P07為普通IO口P0DIR|=0x80;//P07定義為輸出口P0SEL&=~0x48;//設(shè)置P0.3、P0.6口為普通IOP0DIR|=0x48;//設(shè)置P0.3、P0.6口為輸出P1SEL&=~0x03;//設(shè)置P10、P11口為普通IOP1DIR|=0x03;//設(shè)置P10、P11口為輸出DATA_PIN1=0;//默認(rèn)繼電器1斷開(kāi)DATA_PIN2=0;//默認(rèn)繼電器2斷開(kāi)DATA_PIN3=0;//默認(rèn)繼電器3斷開(kāi)DATA_PIN4=0;//默認(rèn)繼電器4斷開(kāi)#endif//#ifndefZDO_COORDINATOR//終端、路由專(zhuān)屬初始化//#endif}/*消息處理函數(shù)*/uint16SampleApp_ProcessEvent(uint8task_id,uint16events){afIncomingMSGPacket_t*MSGpkt;(void)task_id;//Intentionallyunreferencedparameterif(events&SYS_EVENT_MSG){MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(SampleApp_TaskID);while(MSGpkt){switch(MSGpkt->hdr.event){//當(dāng)接收到此終端的無(wú)線(xiàn)消息caseAF_INCOMING_MSG_CMD:SampleApp_MessageMSGCB(MSGpkt);break;caseZDO_STATE_CHANGE://協(xié)調(diào)器不執(zhí)行定時(shí)發(fā)送命令//讀取節(jié)點(diǎn)的設(shè)備類(lèi)型,如果是終端節(jié)點(diǎn),實(shí)現(xiàn)無(wú)線(xiàn)數(shù)據(jù)發(fā)送SampleApp_NwkState=(devStates_t)(MSGpkt->hdr.status);if(//(SampleApp_NwkState==DEV_ZB_COORD)||//協(xié)調(diào)器不執(zhí)行定時(shí)發(fā)送命令(SampleApp_NwkState==DEV_ROUTER)||(SampleApp_NwkState==DEV_END_DEVICE)){//3S后執(zhí)行SAMPLEAPP_SEND_PERIODIC_MSG_EVT事件osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT);}else{//Deviceisnolongerinthenetwork}break;default:break;}Delay_ms(10);osal_msg_deallocate((uint8*)MSGpkt);MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(SampleApp_TaskID);}//returnunprocessedeventsreturn(events^SYS_EVENT_MSG);}//(setupinSampleApp_Init()).協(xié)調(diào)器不執(zhí)行定時(shí)發(fā)送函數(shù)if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT){SampleApp_SendPeriodicMessage();//3S后再次執(zhí)行osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT+(osal_rand()&0x00FF)));return(events^SAMPLEAPP_SEND_PERIODIC_MSG_EVT);}return0;}//協(xié)調(diào)器收到終端數(shù)據(jù)發(fā)送數(shù)據(jù)到云平臺(tái)voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt){uint16flashTime;unsignedchardataBuf[40];//確保數(shù)組能夠裝下發(fā)送的內(nèi)容uint8strTemp[20]={0};unsignedcharid=0;unsignedchartemp=0;unsignedcharhumi=0;unsignedcharlight=0;uint8buff[30]={0};switch(pkt->clusterId){caseSAMPLEAPP_P2P_CLUSTERID:#ifdefZDO_COORDINATOR//收到終端數(shù)據(jù)后向平臺(tái)發(fā)送數(shù)據(jù)uint8id=pkt->cmd.Data[0];if(id==1){uint8light=pkt->cmd.Data[1];uint8temp=pkt->cmd.Data[2];uint8humi=pkt->cmd.Data[3];uint8soil=pkt->cmd.Data[4];sprintf((char*)dataBuf,(char*)"AT+IOTSEND=0,id1,%d\r\n",id);HalUARTWrite(1,dataBuf,25);Delay_ms(100);sprintf((char*)dataBuf,(char*)"AT+IOTSEND=0,light1,%d\r\n",light);sprintf(strTemp,"Light:%d",light);HalLcdWriteString(strTemp,HAL_LCD_LINE_1);//LCD顯示HalUARTWrite(1,dataBuf,25);Delay_ms(100);sprintf((char*)dataBuf,(char*)"AT+IOTSEND=0,temp1,%d\r\n",temp);sprintf(strTemp,"T:%dH:%d",temp,humi);HalLcdWriteString(strTemp,HAL_LCD_LINE_2);//LCD顯示HalUARTWrite(1,dataBuf,25);Delay_ms(100);sprintf((char*)dataBuf,(char*)"AT+IOTSEND=0,humi1,%d\r\n",humi);HalUARTWrite(1,dataBuf,25);Delay_ms(100);sprintf((char*)dataBuf,(char*)"AT+IOTSEND=0,soil1,%d\r\n",soil);sprintf(strTemp,"Soil:%d",soil);HalLcdWriteString(strTemp,HAL_LCD_LINE_3);//LCD顯示HalUARTWrite(1,dataBuf,25);Delay_ms(100);}break;#elsecaseSAMPLEAPP_PERIODIC_CLUSTERID:HalUARTWrite(0,"Rx:",3);//提示信息HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);//輸出接收到的數(shù)據(jù)break;#endifcaseSAMPLEAPP_FLASH_CLUSTERID:flashTime=BUILD_UINT16(pkt->cmd.Data[1],pkt->cmd.Data[2]);HalLedSet(HAL_LED_2,HAL_LED_MODE_TOGGLE);break;}}//取光照值,接在P06上uint8GetLight(){uint8temp=0;//百分比的整數(shù)值floatvol=0.0;//adc采樣電壓uint16adc=HalAdcRead(HAL_ADC_CHANNEL_6,HAL_ADC_RESOLUTION_14);//ADC采樣值P06口//最大采樣值8192(因?yàn)樽罡呶皇欠?hào)位)if(adc>=8192){return0;}adc=8192-adc;//反相一下//轉(zhuǎn)化為百分比vol=(float)((float)adc)/8192.0;//取百分比兩位數(shù)字temp=vol*100;returntemp;}//讀取土壤的濕度uint8GetSoilHum(){uint16adc=0;floatvol=0.0;//adc采樣電壓uint8soil_hum=0;adc=HalAdcRead(HAL_ADC_CHANNEL_5,HAL_ADC_RESOLUTION_14);//土壤ADC采樣值P05口//最大采樣值8192(因?yàn)樽罡呶皇欠?hào)位)if(adc>=8192){return0;}adc=8192-adc;//反相一下,因?yàn)榈蜐穸葧r(shí)AO口輸出較高電平//高濕度時(shí)AO口輸出較低電平//轉(zhuǎn)化為百分比vol=(float)((float)adc)/8192.0;//土壤百分比的整數(shù)值soil_hum=vol*100;returnsoil_hum;}//終端采集數(shù)據(jù)無(wú)線(xiàn)發(fā)送給協(xié)調(diào)器voidSampleApp_SendPeriodicMessage(void){unsignedcharstrTemp[30];unsignedcharstrBuf[30];unsignedchardataBuf[20];unsignedchartemp;unsignedcharhumi;dht11_value(&temp,&humi,DHT11_UINT8);uint8buff[10]={0};uint8id=1;uint16date=0;unsignedshortlight;unsignedshortrain;light=GetLight();buff[0]=id;//終端編號(hào)buff[1]=light;//光照buff[2]=temp;//溫度buff[3]=humi;//濕度buff[4]=GetSoilHum();//土壤濕度if(buff[1]>60)//光照大于60,關(guān)閉led1{HalLedSet(HAL_LED_1,HAL_LED_MODE_OFF);}else{HalLedSet(HAL_LED_1,HAL_LED_MODE_ON);}sprintf(strTemp,"Light:%d",buff[1]);HalLcdWriteString(strTemp,HAL_LCD_LINE_1);//LCD顯示sprintf(strTemp,"T:%dH:%d",buff[2],buff[3]);HalLcdWriteString(strTemp,HAL_LCD_LINE_2);//LCD顯示sprintf(strTemp,"S:%d",buff[4]);HalLcdWriteString(strTemp,HAL_LCD_LINE_3);//LCD顯示HalUARTWrite(0,buff,strlen(buff));//串口測(cè)試HalUARTWrite(0,"\r\

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論