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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論