版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于Zigbee技術(shù)的蔬菜大棚管理系統(tǒng)設(shè)計(jì)摘要:隨著計(jì)算機(jī)技術(shù)、無線通信技術(shù)以及農(nóng)業(yè)設(shè)施的不斷完善,蔬菜大棚也慢慢向著無線、經(jīng)濟(jì)、智能化的方向發(fā)展。而溫濕度是蔬菜大棚環(huán)境監(jiān)控的一項(xiàng)重要指標(biāo),從早期的人工管理、自動(dòng)控制,以及到現(xiàn)在要求的智能化,溫濕度的監(jiān)控越來越安全、經(jīng)濟(jì)、高效、便捷。本文以增強(qiáng)型工業(yè)標(biāo)準(zhǔn)的8051內(nèi)核CC2430為硬件平臺、IEEE 802.15.4為協(xié)議標(biāo)準(zhǔn)以及和數(shù)據(jù)庫等的軟件結(jié)合,設(shè)計(jì)了一個(gè)基于Zigbee網(wǎng)絡(luò)的遠(yuǎn)程蔬菜大棚溫濕度的監(jiān)控系統(tǒng)。該系統(tǒng)運(yùn)行可靠、功耗低、成本低達(dá)到了我們對蔬菜大棚溫濕度的遠(yuǎn)程實(shí)時(shí)監(jiān)控。為提高農(nóng)作物的生產(chǎn)量、為農(nóng)民增收帶來了很好的經(jīng)濟(jì)和社會效益。關(guān)
2、鍵詞:Zigbee; 實(shí)時(shí)監(jiān)控;無線通信; 數(shù)據(jù)庫;智能化 Managing System of Greenhouses Based on Zigbee Huang XiongfengSanming University College of Mathematics and Information Engineering Grade 2008 Computer Science and Technology (Orientation: Embedded Technology)Abstract:With the continuous perfection of computer technolog
3、y, wireless communication technology and agricultural facilities, the technology of greenhouses is also developing in the direction of wireless-ness, economy and intelligentization. Humiture is an important indicator in monitoring the environment of greenhouses. With the early labor control, automat
4、ic management and the present required intelligentization, the monitoring of humiture is becoming more and more safe, economical, efficient and convenient. With enhanced industry-standard 8051 kernel CC2430 as hardware platform, IEEE 802.15.4 as protocol standards and softwares combined with databas
5、e, the paper designs a remote monitoring system of greenhouses based on Zigbee. The system is dependable and helps to achieve real-time remote monitoring of the humiture of greenhouses with its low power consumption and cost. It can increase the production of crops and thus bring great economic and
6、social benefits to farmers.Key words:Zigbee; real-time remote monitoring; wireless communication; database; intelligentization目 錄第一章 緒論11.1 本文研究的背景和意義11.2 相關(guān)領(lǐng)域國內(nèi)外的研究現(xiàn)狀21.3 本人主要工作31.4 本文組織結(jié)構(gòu)3第二章 系統(tǒng)結(jié)構(gòu)框架分析和設(shè)計(jì)42.1 無線蔬菜大棚模型結(jié)構(gòu)分析42.2 系統(tǒng)整體框架設(shè)計(jì)6第三章 系統(tǒng)開發(fā)環(huán)境和軟硬件選型83.1 系統(tǒng)開發(fā)環(huán)境83.2 系統(tǒng)軟硬件選型8第四章 系統(tǒng)軟硬件的設(shè)計(jì)和實(shí)現(xiàn)144.1 數(shù)據(jù)采
7、集節(jié)點(diǎn)的設(shè)計(jì)和實(shí)現(xiàn)144.1.1 溫濕度數(shù)據(jù)采集模塊144.1.2 無線通信模塊164.2 基站節(jié)點(diǎn)的設(shè)計(jì)和實(shí)現(xiàn)184.2.1 IEEE802.15.4標(biāo)準(zhǔn)和Zigbee協(xié)議介紹184.2.2 基站節(jié)點(diǎn)實(shí)現(xiàn)功能描述194.2.3溫濕度數(shù)據(jù)解碼224.3節(jié)點(diǎn)程序的燒錄234.4 服務(wù)端的設(shè)計(jì)和實(shí)現(xiàn)274.5 遠(yuǎn)程主機(jī)端的設(shè)計(jì)和實(shí)現(xiàn)284.5.1 主機(jī)服務(wù)端應(yīng)用軟件設(shè)計(jì)分析294.5.2 主機(jī)服務(wù)端應(yīng)用軟件部分功能實(shí)現(xiàn)30第五章 系統(tǒng)運(yùn)行和驗(yàn)證37第六章 結(jié)論39參考文獻(xiàn)40致 謝41第一章 緒論隨著人類社會的發(fā)展,溫室大棚的出現(xiàn)促進(jìn)了農(nóng)業(yè)發(fā)展、帶動(dòng)了農(nóng)民的增收,給人類的農(nóng)業(yè)發(fā)展帶來了可觀的經(jīng)濟(jì)和
8、社會效益。溫濕度作為農(nóng)作物生長的重要因素,便成為了蔬菜大棚智能化控制的主要研究部分。1.1 本文研究的背景和意義作為世界四大文明古國之一,我國也是世界上的農(nóng)業(yè)大國。有著悠久的農(nóng)業(yè)種植歷史,但國外的溫室種植,溫室控制管理技術(shù)已經(jīng)相對比較成熟,而我國的農(nóng)業(yè)設(shè)施、控制技術(shù)、管理技術(shù)等卻遠(yuǎn)遠(yuǎn)落后于歐美等一些發(fā)達(dá)國家。隨著改革開放,特別是90年代以來,在過去的二十幾年里先后從國外引進(jìn)了許多溫室種植技術(shù),以蔬菜大棚、花卉為主的植物栽培設(shè)施在大江南北遍地開花,隨著政府對城市蔬菜產(chǎn)業(yè)的不斷投入,鄉(xiāng)鎮(zhèn)內(nèi)蔬菜大棚產(chǎn)業(yè)被看作是21世紀(jì)最具活力的新產(chǎn)業(yè)之一。顯然引進(jìn)國外的先進(jìn)技術(shù)是實(shí)現(xiàn)我國現(xiàn)代化農(nóng)業(yè)的一條快捷路徑,與
9、此同時(shí)我們也要發(fā)展適合我國環(huán)境資源特點(diǎn)的有我們自主知識產(chǎn)權(quán)的溫室控制技術(shù)1。我國地大物博,但可耕植的土地卻很少,加上人口眾多,人均占有耕地面積少。因此,想要提高農(nóng)業(yè)生產(chǎn)值,只靠增加耕地面積是不現(xiàn)實(shí)的,所以我們要想辦法來提高單位產(chǎn)量。溫室大棚技術(shù)就是其中一個(gè)好的方法。溫室大棚是一種可以改變植物生長環(huán)境、為植物生長創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙囊粋€(gè)場所。通過建立一個(gè)模擬適合生物生長的氣候條件,創(chuàng)造一個(gè)人工氣象環(huán)境,來消除生物生長對溫濕度等環(huán)境的依賴。而且它能使傳統(tǒng)的季節(jié)性作物不再依賴以季節(jié)氣候等因素,使得在某個(gè)季節(jié)里可以長出人類所需的作物。由于溫室大棚能達(dá)到調(diào)節(jié)產(chǎn)期,促進(jìn)生長發(fā)
10、育,防治病蟲害及提高質(zhì)量和產(chǎn)量等眾多的作用,并且已成為農(nóng)民增收的主要手段,所以在世界上越來越普及溫室大棚技術(shù)。隨著大棚技術(shù)的普及,溫室大棚數(shù)量不斷增多,溫室大棚的溫濕度控制便成為一個(gè)十分重要的課題。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展與是否能掌握溫濕度有著密切的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫濕度的因素。溫濕度不但對于工業(yè)如此重要,在農(nóng)業(yè)生產(chǎn)中溫濕度的監(jiān)測與控制也有著十分重要的意義。傳統(tǒng)的溫濕度控制是在溫室大棚內(nèi)部懸掛溫度計(jì)和濕度計(jì),通過讀取溫度值和濕度值了解實(shí)際溫濕度,然后根據(jù)現(xiàn)有溫濕度與額定溫濕度進(jìn)行比較,看溫濕度是否過高或過低,然后
11、進(jìn)行相應(yīng)的通風(fēng)或者灑水。這些操作都是在人工情況下進(jìn)行的,耗費(fèi)了大量的人力物力。現(xiàn)在,隨著國家經(jīng)濟(jì)的快速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的不斷提高,農(nóng)產(chǎn)品在大棚中培育的品種越來越多,對于數(shù)量較多的大棚,傳統(tǒng)的溫度控制措施就顯現(xiàn)出很大的局限性2。溫室大棚的建設(shè)對溫濕度檢測與控制技術(shù)也提出了越來越高的要求?,F(xiàn)在我們生活在一個(gè)智能化的世界中,其中單片機(jī)等計(jì)算機(jī)技術(shù)是功不可沒的一部分。單片機(jī)是單片微型計(jì)算機(jī)的簡稱,其功能強(qiáng)大、體積小、可靠性高、造價(jià)低和開發(fā)周期短等優(yōu)點(diǎn)使其成為自動(dòng)化和各個(gè)測控領(lǐng)域中必不可少且廣泛應(yīng)用的器件,尤其在日常生活中也發(fā)揮越來越大的作用。它比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)
12、用。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)?,F(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。工業(yè)控制、尖端武器、通信設(shè)備、信息處理、家用電器等各測控領(lǐng)域都有其身影。采用單片機(jī)來對農(nóng)業(yè)大棚中的溫濕度進(jìn)行監(jiān)測、控制等,不僅具有簡單方便、控制性強(qiáng)和實(shí)時(shí)性高等優(yōu)點(diǎn),而且可以大幅度提高被控溫濕度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量,而且單片機(jī)對溫濕度的控制問題是一個(gè)工農(nóng)業(yè)生產(chǎn)中經(jīng)常會遇到的問題。因此,本課題圍繞基于單片機(jī)的溫室大棚控制系統(tǒng)展開了應(yīng)用研究工作。1.2 相關(guān)領(lǐng)域國內(nèi)外的研究現(xiàn)狀國外對溫室大棚內(nèi)的諸多環(huán)境進(jìn)行控制的研究比我國早,大約始于20世紀(jì)70年代。最初采用的是人工的現(xiàn)
13、場采集、記錄、統(tǒng)計(jì)等手段來進(jìn)行對溫室大棚內(nèi)的環(huán)境進(jìn)行相應(yīng)的控制等。大概到了80年代末則迅速的采用自動(dòng)化控制。而這些都離不開人的因素參與在里面,所以目前各個(gè)國家在已有的基礎(chǔ)上對溫室大棚進(jìn)行了更深入的研究,讓溫室大棚的管理和計(jì)算機(jī)、無線網(wǎng)絡(luò)等實(shí)現(xiàn)無人值守等方面發(fā)展。從國內(nèi)外溫室控制技術(shù)的發(fā)展?fàn)顩r來看,溫室環(huán)境控制技術(shù)大致經(jīng)歷三個(gè)發(fā)展階段:(1)手動(dòng)控制。手動(dòng)控制產(chǎn)生于人類對溫室栽培作物的前期,在這個(gè)時(shí)期,溫室大棚內(nèi)的環(huán)境因素都必須有人類來進(jìn)行觀察、測量、記錄,從而進(jìn)行溫室大棚內(nèi)環(huán)境的調(diào)整,諸如光線、溫濕度等。在此基礎(chǔ)上產(chǎn)生的經(jīng)驗(yàn)將記錄在文獻(xiàn)中,從而成為人類對溫室大棚技術(shù)研究及其實(shí)踐的理論依據(jù)。在這
14、個(gè)時(shí)期,由于人的因素是溫室環(huán)境控制的主導(dǎo),雖然溫室大棚產(chǎn)生的經(jīng)濟(jì)效益比傳統(tǒng)作物生長產(chǎn)生的經(jīng)濟(jì)效益高出了許多,但是其生產(chǎn)效率低下也讓人類慢慢的在研究新的控制方法,從而讓農(nóng)業(yè)的發(fā)展更加向工業(yè)化式的生產(chǎn)靠近。(2)自動(dòng)控制。隨著人類對手動(dòng)控制階段的深入探索,加上工業(yè)化程度的漸漸成熟,人類對溫濕度大棚的環(huán)境監(jiān)測、控制等又進(jìn)入另一個(gè)階段:自動(dòng)化控制。在這個(gè)階段人類根據(jù)以往的經(jīng)驗(yàn),對溫室大棚內(nèi)作為生長的環(huán)境有了深入的了解,以是采用工業(yè)控制的手段對大棚內(nèi)的環(huán)境進(jìn)行調(diào)整。拿對大棚內(nèi)光線強(qiáng)度的控制來舉例。大棚管理員先對大棚內(nèi)作物對光線需求量的上下閥值進(jìn)行了預(yù)先的設(shè)置,接著根據(jù)大棚內(nèi)光線傳感器傳來的數(shù)據(jù)與上下閥值
15、進(jìn)行對比,再根據(jù)對比的結(jié)果來決定是否對大棚內(nèi)的光線強(qiáng)度進(jìn)行調(diào)整控制等,從而實(shí)現(xiàn)了農(nóng)業(yè)大棚的工業(yè)化式生產(chǎn)、農(nóng)業(yè)生產(chǎn)效率得到了進(jìn)一步的提高。我國對國外的溫室大棚設(shè)備及其控制技術(shù)的引入等大多數(shù)都是停留在這個(gè)階段。(3)智能化控制。隨著計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展,工業(yè)控制領(lǐng)域慢慢向著智能化方向發(fā)展,溫室大棚控制技術(shù)也將面臨著進(jìn)一步的改革。到了智能化控制階段人類根據(jù)祖先留下的關(guān)于溫室大棚控制的文獻(xiàn)和經(jīng)驗(yàn)的傳承,進(jìn)一步總結(jié)對溫室大棚內(nèi)環(huán)境控制的經(jīng)驗(yàn)等,從而研究出一種不同作物、不同環(huán)境等的控制技術(shù),漸漸的淡化人的因素,從而更大程度的提高生產(chǎn)效率。讓溫室大棚控制技術(shù)逐漸的朝著智能化、無人值守、先進(jìn)、高收益等方向
16、發(fā)展。1.3 本人主要工作在對國內(nèi)外的一些文獻(xiàn)的閱讀,以及對計(jì)算機(jī)技術(shù)在工業(yè)控制領(lǐng)域的研究、傳感器技術(shù)的了解以及對無線網(wǎng)絡(luò)技術(shù)的研究,利用這些現(xiàn)有的設(shè)備和技術(shù),分析和總結(jié)出國內(nèi)外對溫室大棚環(huán)境控制技術(shù)的經(jīng)驗(yàn)和成敗教訓(xùn)等,再從實(shí)際的種植、生產(chǎn)情況出發(fā),根據(jù)預(yù)先設(shè)計(jì)好的完整流程,用更短的時(shí)間、盡量少的資源生產(chǎn)出更優(yōu)質(zhì)的作物產(chǎn)物,從而提高了農(nóng)業(yè)生產(chǎn)效率,為人類獲得更多達(dá)大的經(jīng)濟(jì)效益。從系統(tǒng)的整體功能出發(fā),本文將討論該系統(tǒng)的硬件構(gòu)成和軟件設(shè)計(jì),即系統(tǒng)的數(shù)據(jù)采集節(jié)點(diǎn)部分,數(shù)據(jù)轉(zhuǎn)發(fā)部分(基站),服務(wù)器端部分以及遠(yuǎn)程主機(jī)部分(提供用戶數(shù)據(jù)查詢)。其中數(shù)據(jù)采集部分和數(shù)據(jù)轉(zhuǎn)發(fā)部分是基于增強(qiáng)型工業(yè)標(biāo)準(zhǔn)的8051核
17、單片機(jī)處理器構(gòu)成的;服務(wù)器端主要是收集基站發(fā)來的數(shù)據(jù)、存儲、并負(fù)責(zé)將數(shù)據(jù)傳輸?shù)竭h(yuǎn)程用戶使用端;遠(yuǎn)程主機(jī)部分主要實(shí)現(xiàn)從服務(wù)端接收溫濕度數(shù)據(jù),并以此為基礎(chǔ)為用戶提供豐富軟件功能。本系統(tǒng)重點(diǎn)將放在軟件設(shè)計(jì)和實(shí)現(xiàn)上。1.4 本文組織結(jié)構(gòu)本文總共分6章來講述關(guān)于無線蔬菜大棚的設(shè)計(jì)和實(shí)現(xiàn)。第一章主要陳述了研究本系統(tǒng)的背景和意義、國內(nèi)國外相關(guān)領(lǐng)域的研究現(xiàn)狀以及本人在本系統(tǒng)中所作的工作;第二章主要介紹了整個(gè)系統(tǒng)的整體框架以及一些必要流程圖來幫助理解本系統(tǒng);第三章主要論述了開發(fā)本系統(tǒng)所用到的開發(fā)環(huán)境、工具等;第四章對本系統(tǒng)的軟硬件實(shí)現(xiàn)進(jìn)行了詳細(xì)的描述;第五章將對本系統(tǒng)運(yùn)行的結(jié)果進(jìn)行驗(yàn)證;第六章對本系統(tǒng)及本文進(jìn)行
18、了總結(jié)。第二章 系統(tǒng)結(jié)構(gòu)框架分析和設(shè)計(jì)2.1 無線蔬菜大棚模型結(jié)構(gòu)分析經(jīng)過對Zigbee無線組網(wǎng)技術(shù)的了解、對蔬菜大棚的自動(dòng)化控制的了解、溫濕度采集等環(huán)節(jié)的了解,再根據(jù)預(yù)期開始時(shí)間、成本、經(jīng)濟(jì)效益的方面的考慮,本系統(tǒng)的模型主要分為四塊:溫濕度的數(shù)據(jù)采集節(jié)點(diǎn)、負(fù)責(zé)從節(jié)點(diǎn)接收數(shù)據(jù)并向主機(jī)發(fā)送數(shù)據(jù)的基站節(jié)點(diǎn)、主機(jī)(服務(wù)器)以及最終的用戶。該系統(tǒng)的模型框架如圖2-1所示:遠(yuǎn)程主機(jī)端服務(wù)端程序基站節(jié)點(diǎn)數(shù)據(jù)采集節(jié)點(diǎn)圖2-1 系統(tǒng)整體模型框架圖溫濕度采集節(jié)點(diǎn)是由CC2430核心板和溫濕度傳感器構(gòu)成的。其中CC2430是用來實(shí)現(xiàn)Zigbee應(yīng)用的片上系統(tǒng),它支持2.4GHZ IEEE 802.15.4/Zig
19、bee通信協(xié)議。該模塊集成了增強(qiáng)型工業(yè)標(biāo)準(zhǔn)的8051單片機(jī)、Flash、SRAM和RF收發(fā)器3。數(shù)據(jù)采集節(jié)點(diǎn)的工作流程圖如圖2-2所示:開始N收集溫濕度數(shù)據(jù)系統(tǒng)初始化定時(shí)時(shí)間到Y(jié)發(fā)送溫濕度數(shù)據(jù)圖2-2 數(shù)據(jù)采集節(jié)點(diǎn)工作流程圖數(shù)據(jù)采集節(jié)點(diǎn)是定時(shí)的(默認(rèn)設(shè)置成10S采集一次溫濕度數(shù)據(jù))采集數(shù)據(jù),這個(gè)時(shí)間間隔是可以網(wǎng)絡(luò)中的基站向溫濕度傳感器節(jié)點(diǎn)發(fā)送重新設(shè)置時(shí)間間隙的控制命令來完成設(shè)置的。PPP(Point-to-Point Protocol)協(xié)議是在設(shè)計(jì)和實(shí)現(xiàn)網(wǎng)絡(luò)中基站節(jié)點(diǎn)功能所要用到的技術(shù)。PPP協(xié)議是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路設(shè)計(jì)的鏈路層協(xié)議。這種鏈路提供全雙工操作,并按照順序傳遞
20、數(shù)據(jù)包。設(shè)計(jì)目的主要是用來通過撥號或?qū)>€方式建立點(diǎn)對點(diǎn)連接發(fā)送數(shù)據(jù),使其成為各種主機(jī)、網(wǎng)橋和路由器之間簡單連接的一種共通的解決方案。傳感器應(yīng)用了其技術(shù)從而實(shí)現(xiàn)了數(shù)據(jù)的接力傳送,從而提高了網(wǎng)絡(luò)通信的效率4。溫濕度采集節(jié)點(diǎn)也是基于Zigbee通信協(xié)議的終端設(shè)。Zigbee的基礎(chǔ)是IEEE 802.15.4。但I(xiàn)EEE僅處理低級MAC層和物理層協(xié)議,因此Zigbee聯(lián)盟擴(kuò)展了IEEE,對其網(wǎng)絡(luò)層協(xié)議和API進(jìn)行了標(biāo)準(zhǔn)化。與其他無線標(biāo)準(zhǔn)802.11或802.16不同,Zigbee以250Kbps的最大傳輸速率承載有限的數(shù)據(jù)流量。它滿足國際標(biāo)準(zhǔn)組織(ISO)開放系統(tǒng)互連(OSI)參考模型,主要包括物理層
21、、數(shù)據(jù)鏈路層5。Zigbee是一種新興的短距離、低速率、低功耗的無線可自組的網(wǎng)絡(luò)技術(shù)。主要用于近距離無線連接。在數(shù)千個(gè)微小的傳感器之間相互協(xié)調(diào)實(shí)現(xiàn)通信,這些傳感器只需要很少的能量,以接力的方式通過無線電波將數(shù)據(jù)從一個(gè)傳感器傳到另一個(gè)傳感器,所以它們的通信效率非常高。Zigbee是一個(gè)最多可容納65000個(gè)無線數(shù)值傳輸模塊組成的一個(gè)無線網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)钠脚_。圖3-2是Zigbee的協(xié)議棧的體系結(jié)構(gòu)圖。圖2-3 Zigbee協(xié)議棧體系結(jié)構(gòu)Zigbee網(wǎng)絡(luò)和中國移動(dòng)通信的CDMA/GSM網(wǎng)絡(luò)非常的相似,每一個(gè)Zigbee無線網(wǎng)絡(luò)數(shù)據(jù)傳輸模塊類似于移動(dòng)網(wǎng)絡(luò)中的一個(gè)基站,在其構(gòu)成的真整個(gè)無線網(wǎng)絡(luò)范圍內(nèi),它
22、們之間可以進(jìn)行相互通信;每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的距離可以從標(biāo)準(zhǔn)的75米,到擴(kuò)展后的幾百米,甚至幾公里,這樣子可以滿足通信設(shè)備逐漸變大的今天;另外整個(gè)Zigbee網(wǎng)絡(luò)還可以與現(xiàn)有的其它的各種網(wǎng)絡(luò)連接6。2.2 系統(tǒng)整體框架設(shè)計(jì)本系統(tǒng)根據(jù)現(xiàn)有的農(nóng)業(yè)設(shè)施、計(jì)算機(jī)軟件基礎(chǔ)上進(jìn)行了設(shè)計(jì),主要分為傳感器數(shù)據(jù)采集節(jié)點(diǎn)部分,數(shù)據(jù)轉(zhuǎn)發(fā)部分(基站),服務(wù)器端部分以及遠(yuǎn)程主機(jī)4部分。終端節(jié)點(diǎn)既考慮到了功耗的要求,又考慮到了數(shù)據(jù)的安全性。各個(gè)傳感器節(jié)點(diǎn)每隔一定的時(shí)間采集一次它周圍的溫濕度,并將溫濕度數(shù)據(jù)通過臨近節(jié)點(diǎn)或直接傳給基站核心板上;基站核心板負(fù)責(zé)收集從各個(gè)幾點(diǎn)上傳來的數(shù)據(jù),并通過串口轉(zhuǎn)傳到服務(wù)器端上;遠(yuǎn)程主機(jī)將建立數(shù)據(jù)
23、庫來存儲這些數(shù)據(jù),為用戶提供查詢操作,主機(jī)也可以實(shí)現(xiàn)報(bào)警等功能。本系統(tǒng)的總體框架如圖2-4所示。圖2-4無線蔬菜大棚系統(tǒng)總體框架圖以下是對這4部分功能的詳細(xì)介紹:1、溫濕度傳感器數(shù)據(jù)采集節(jié)點(diǎn):本系統(tǒng)中該環(huán)節(jié)主要是通過CC2430集成的暴露在空氣中的溫濕度傳感器來采集菜蔬大棚里空氣的溫濕度,將其轉(zhuǎn)化成數(shù)字信號,并通過Zigbee無線網(wǎng)絡(luò)將這些采集到的數(shù)據(jù)發(fā)送到基站節(jié)點(diǎn)。數(shù)據(jù)采集節(jié)點(diǎn)并不是多對一的傳輸關(guān)系,每個(gè)節(jié)點(diǎn)都有路由轉(zhuǎn)發(fā)功能,也可以接受來自鄰近節(jié)點(diǎn)的數(shù)據(jù),并將其轉(zhuǎn)發(fā)給基站節(jié)點(diǎn),從而擴(kuò)大了測量的距離,解決了無線測量范圍有限的難題7。2、基站:基站作為本系統(tǒng)的核心環(huán)節(jié),它需要完成收集從自己網(wǎng)內(nèi)各
24、個(gè)數(shù)據(jù)采集節(jié)點(diǎn)發(fā)來的數(shù)據(jù),并將這些數(shù)據(jù)通過串口發(fā)送到計(jì)算機(jī)(也可以稱作服務(wù)器上)進(jìn)行存儲,從而為上層用戶提供查詢等服務(wù)提供了數(shù)據(jù)依據(jù)。基站也是一塊CC2430的增強(qiáng)型工業(yè)標(biāo)準(zhǔn)的嵌入式核心板,它在組網(wǎng)中的序號必須是01號,否則將接受不到數(shù)據(jù),此部分將在下面的章節(jié)詳解介紹。3、服務(wù)器端:服務(wù)器端通過串口線將從基站收到的數(shù)據(jù)存儲在數(shù)據(jù)庫中,并通過GPRS網(wǎng)絡(luò)傳輸給遠(yuǎn)程主機(jī)端,從而為上層軟件的設(shè)計(jì)、用戶的使用提供了數(shù)據(jù)依據(jù)。本系統(tǒng)的一個(gè)重點(diǎn)是在服務(wù)器端建立一個(gè)軟件系統(tǒng)來管理這些數(shù)據(jù)。4、遠(yuǎn)程用戶端:該部分主要負(fù)責(zé)從服務(wù)器端收集數(shù)據(jù),并存儲在自己的數(shù)據(jù)庫中,并以此為數(shù)據(jù)基礎(chǔ)為用戶提供數(shù)據(jù)。本系統(tǒng)在該軟件
25、設(shè)計(jì)中實(shí)現(xiàn)數(shù)據(jù)接收的控制、溫濕度數(shù)據(jù)的顯示、歷史數(shù)據(jù)的查詢、刪除、溫濕度的自報(bào)警以及系統(tǒng)用戶等的管理。第三章 系統(tǒng)開發(fā)環(huán)境和軟硬件選型3.1 系統(tǒng)開發(fā)環(huán)境本系統(tǒng)的開發(fā)環(huán)境可以分為硬件環(huán)境和軟件環(huán)境:(1)硬件環(huán)境主要有:1、溫濕度數(shù)據(jù)采集節(jié)點(diǎn):若干個(gè)基于CC2430溫濕度傳感器節(jié)點(diǎn);2、基站節(jié)點(diǎn):基于CC2430的核心板;3、服務(wù)器端:SIM300V1.5開發(fā)板。4、遠(yuǎn)程主機(jī):個(gè)人PC機(jī)。(2)軟件環(huán)境主要有:1、涉及的開發(fā)工具環(huán)境:SQL Servver 2005、Microsoft Visual Studio C+6.0、Cygwin等;2、涉及的操作系統(tǒng):TinyOS、Microsoft
26、 WindowsXP Professional等。3.2 系統(tǒng)軟硬件選型本系統(tǒng)選用集成了SHTxx系列的CC2430增強(qiáng)型8051內(nèi)核的芯片作為溫濕度數(shù)據(jù)采集模塊和基站模塊。圖3-1是溫濕度采集節(jié)點(diǎn)及其基站的實(shí)物展示。圖3-1 溫濕度數(shù)據(jù)采集及其基站節(jié)點(diǎn)數(shù)據(jù)采集節(jié)點(diǎn)及其基站節(jié)點(diǎn)是一組安放在蔬菜大棚實(shí)地內(nèi)的傳感器和無線通信模塊的終端集合。主要是負(fù)責(zé)大棚內(nèi)空氣的溫濕度的數(shù)據(jù)采集,并接收從基站發(fā)來的指令,定時(shí)通過無線模塊將本節(jié)點(diǎn)采集到的溫濕度數(shù)據(jù)傳輸給基站節(jié)點(diǎn)。數(shù)據(jù)采集節(jié)點(diǎn)主要由電源模塊、處理器模塊、溫濕度傳感器收集模塊和無線通信模塊4個(gè)模塊構(gòu)成的:1、電源:采用兩節(jié)1.5V的紐扣電池組成的3V直流
27、電為整個(gè)系統(tǒng)供電。2、處理器模塊和無線通信模塊:采用增強(qiáng)型工業(yè)標(biāo)準(zhǔn)的CC2430核心板,它是加強(qiáng)版的Zigbee模塊。3、溫濕度傳感器收集模塊:采用CC2430核心板集成溫濕度傳感器SHT10。數(shù)據(jù)采集節(jié)點(diǎn)的硬件框圖如圖3-2所示:圖3-2 為數(shù)據(jù)采集節(jié)點(diǎn)硬件框架圖該芯片的主要優(yōu)點(diǎn)有以下幾點(diǎn)8:1、功耗低:由于該節(jié)點(diǎn)應(yīng)用了Zigbee技術(shù),而Zigbee采用了多種節(jié)省功耗的工作模式,所以使用2節(jié)的5號電池可以確保節(jié)點(diǎn)工作12年。從而解決了功耗的問題。2、成本低:由于Zigbee協(xié)議是免專利費(fèi)用以及其工作的頻段為2.4Hz(免執(zhí)照頻段),所以減少了設(shè)備的成本。3、自組網(wǎng)、自愈能力強(qiáng):網(wǎng)絡(luò)間個(gè)個(gè)節(jié)
28、點(diǎn)之間無需人為操作下,可自行感知周圍其他節(jié)點(diǎn),并與其建立連接關(guān)系,組成相應(yīng)的網(wǎng)絡(luò)。當(dāng)刪除或添加網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)時(shí),或則是節(jié)點(diǎn)故障等情況發(fā)生不會導(dǎo)致網(wǎng)絡(luò)癱瘓,因?yàn)樽陨砭W(wǎng)絡(luò)能夠進(jìn)行自我的修復(fù)、調(diào)整,從而使整個(gè)系統(tǒng)繼續(xù)正常工作。4、除了以上優(yōu)點(diǎn)外,該芯片還具有節(jié)點(diǎn)間通訊間距遠(yuǎn)、可靠性高、數(shù)據(jù)安全以及網(wǎng)絡(luò)容納量大等眾多優(yōu)點(diǎn)。本系統(tǒng)中負(fù)責(zé)服務(wù)端和遠(yuǎn)程主機(jī)端通信的設(shè)備采用的是SIMCOM公司(希姆)生產(chǎn)的一款三頻段GSM/GPRS模塊SIM300以及外圍外接的單片機(jī)芯片組成的。由于其內(nèi)嵌TCP/IP協(xié)議棧以及GPRS標(biāo)準(zhǔn),再加上其低功耗、高傳輸速率以及性能優(yōu)良等諸多特點(diǎn),所以SIM300的應(yīng)用范圍很廣泛,
29、特別是在于開發(fā)一些GSM/GPRS的無線應(yīng)用產(chǎn)品更受到業(yè)內(nèi)人士的鐘愛。圖3-3是SIM300及其外圍芯片實(shí)物圖。圖3-3 SIM300及其外圍芯片實(shí)物圖使用串口將應(yīng)用系統(tǒng)和SIM300及其外圍電路連接起來,應(yīng)用系統(tǒng)通過GPRS模塊的AT指令向SIM300核心板發(fā)送控制指令,從而對其產(chǎn)生控制行為。SIM300模塊擁有一套完整的、標(biāo)準(zhǔn)的AT命令集,包括一般命令、(中英文)短消息控制命令、電話本控制命令、GPRS命令、網(wǎng)絡(luò)服務(wù)命令以及呼叫控制命令等。本系統(tǒng)的SIM300模塊主要負(fù)責(zé)從基站接收數(shù)據(jù),并存儲在數(shù)據(jù)庫中,并通過GPRS網(wǎng)絡(luò)以及對相應(yīng)的AT指令的響應(yīng)后發(fā)送到遠(yuǎn)程的主機(jī)上。從而實(shí)現(xiàn)將基站的數(shù)據(jù)
30、存儲在服務(wù)端的數(shù)據(jù)以及遠(yuǎn)程主機(jī)上。圖3-4是SIM300模塊反面電話卡的插槽實(shí)物圖。圖3-4 反面電話卡插槽本系統(tǒng)中數(shù)據(jù)采集節(jié)點(diǎn)及其基站節(jié)點(diǎn)程序是采用NesC編寫,通過Cygwin環(huán)境平臺編譯的。NesC 是對C語言的擴(kuò)展(也有一種說法是說NesC是集結(jié)了C、C+、java等三種語言的),它基于體現(xiàn)TinyOS 的結(jié)構(gòu)化概念和執(zhí)行模型而設(shè)計(jì)的。這是一種針對于程序工作者開發(fā)基于結(jié)構(gòu)化的組件編程而產(chǎn)生的新語言。NesC 語言主要是用在傳感器網(wǎng)絡(luò)(特別是無線傳感器網(wǎng)絡(luò))等嵌入式系統(tǒng)。與C語言的存儲格式不同,用NesC語言編寫的文件是以“nc”為后綴。NesC的最大特點(diǎn)是將組件化模塊化思想和基于事件驅(qū)
31、動(dòng)的執(zhí)行模型相結(jié)合。圖3-5是源程序到燒錄的示意圖。圖3-5 源碼到燒錄的示意圖所以每個(gè)nc文件實(shí)現(xiàn)一個(gè)組件功能(組件化模塊化)。在nesC程序中,主要定義兩種功能不同的組件組件(configuration)和模塊(module) 9。 組件主要是描述組件不同接口的關(guān)系,完成各個(gè)組件接口之間的相互連接和調(diào)用。一個(gè)組件必須實(shí)現(xiàn)它提供接口的指令和它的使用的接口事件。組件之間通過接口彼此靜態(tài)地相連。組件相關(guān)執(zhí)行部分主要包含提供給其他組件的接口和配件要使用的接口的組件接口列表和如何將各個(gè)組件接口連接在一起的執(zhí)行連接列表。在應(yīng)用程序中存在多個(gè)配置文件,并且配件之間存在一個(gè)層次關(guān)系。 模塊主要用于描述組件
32、的接口函數(shù)功能以及具體的實(shí)現(xiàn)過程,每個(gè)模塊的具體執(zhí)行都由4個(gè)相關(guān)部分組成:數(shù)據(jù)幀、一組執(zhí)行線程、事件函數(shù)和命令函數(shù)。不同的模塊可以實(shí)現(xiàn)相同的接口。一個(gè)NesC應(yīng)用程序有3個(gè)部份組成:聲明和定義、接口類型和組件,每一個(gè)NesC應(yīng)用程序是由一個(gè)或則多個(gè)組件通過接口鏈接起來,并通過ncc或gcc編譯生成一個(gè)完整的可執(zhí)行程序。Cygwin是一個(gè)類Linux模擬仿真器,但它是運(yùn)行在Windows環(huán)境下的。Cygwin是由Cygnus Solutions公司開發(fā)的自由軟件。Cygwin包括了一套庫,該庫在Win32系統(tǒng)下實(shí)現(xiàn)了POSIX系統(tǒng)所要調(diào)用的應(yīng)用程序接口(API);以及自己的一套GNU開發(fā)工具集(
33、如GDB、GCC),這樣我們可以在windows下進(jìn)行簡單的Unix軟件開發(fā);還有一些UNIX系統(tǒng)下的常見程序10。Cygnus Solutions公司把gas、gdb、gcc等軟件開發(fā)工具進(jìn)行了一些的改進(jìn),使它們能夠生成并解析Win32的目標(biāo)文件。接著公司的工程師們要把這些工具移植到Windows平臺上去。他們寫了一個(gè)cygwin庫(共享庫),把Win32 API中沒有的Unix風(fēng)格的調(diào)用等全部封裝在該共享庫里。那么,在開發(fā)程序的過程中,我們只要把共享庫和這些工具的源代碼鏈接起來,就可以通過Unix上的交叉編譯器生成在Windows平臺上運(yùn)行的工具集。從而程序開發(fā)者就可以在windows平臺
34、上使用用戶工具盒開發(fā)工具,并可以運(yùn)行bash等工具,從而在Windows環(huán)境下使用Unix的工具。本系統(tǒng)采用微軟的基礎(chǔ)類庫MFC作為服務(wù)端和遠(yuǎn)程主機(jī)端程序的編寫。并采用SQL Server 2005作為系統(tǒng)后臺數(shù)據(jù)庫的支持。MFC是Microsoft Foundation Classes(微軟基礎(chǔ)類)的簡稱。它以C+的編程風(fēng)格封裝了Windows的API,即減少了大量在建立Windows程序時(shí)必須編寫的代碼,同時(shí)還為程序工作者提供了一個(gè)應(yīng)用程序框架,從而大大的提高了程序工作者的工作效率。由于它是C+的風(fēng)格,所以它還提供了所有一般C+編程的優(yōu)點(diǎn),例如繼承和封裝。MFC是可移植的,例如,在Wind
35、ows 3.1下編寫的代碼可以很容易地移植到Windows NT或Windows 95上11。MFC是一個(gè)擴(kuò)展了C+類層次結(jié)構(gòu)的類庫,而且是一個(gè)很龐大的類庫,它讓程序工作者在開發(fā)Windows應(yīng)用程序時(shí)不再像以前晦澀難懂。MFC 可以兼容整個(gè) Windows 家族的應(yīng)用程序開發(fā),也就是說,無論是 Windows3.x、Windows95 還是 Windows NT,所使用的 MFC 類庫都是兼容的。每每有新的Windows版本出現(xiàn)時(shí),MFC類庫工作者都會根據(jù)新版Windows特點(diǎn)來修改類庫,從而使得無論新舊編譯器都可以兼容MFC,以便減輕程序工作者的工作量和兼容性。通過Visual c+6.0
36、建立的MFC框架如圖3-6所示12。 圖3-6 MFC應(yīng)用程序框架SQL Server 2005 是Microsoft公司推出的全面的關(guān)系型數(shù)據(jù)庫服務(wù)器產(chǎn)品,是面向企業(yè)級用戶的數(shù)據(jù)庫應(yīng)用平臺。它給企業(yè)級應(yīng)用數(shù)據(jù)和分析程序帶來了極高的安全性與穩(wěn)定性,并以其易于操作與管理的特性極大地提升了企業(yè)的運(yùn)營效率13。SQL即Structured Query Language的縮寫,中文譯為結(jié)構(gòu)化查詢語言。Server中文譯為服務(wù)器,而2005代表的是版本號。SQL Server 2005不同于以往的數(shù)據(jù)庫服務(wù)器,它不僅是一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫服務(wù)器,實(shí)質(zhì)上還是一個(gè)關(guān)系型數(shù)據(jù)庫,同時(shí)還是一個(gè)數(shù)據(jù)分析平臺。它為用戶提
37、供了一個(gè)安全、可靠、高效的開發(fā)平臺,能夠廣泛的應(yīng)用于企業(yè)數(shù)據(jù)管理和商業(yè)智能。通過全面的功能集、現(xiàn)有系統(tǒng)的集成性以及對日常任務(wù)的自動(dòng)化管理能力,SQL Server 2005為不同規(guī)模的企業(yè)提供全面的、集成的、端到端的數(shù)據(jù)解決方案。SQL Server 2005 的組件架構(gòu)如圖3-7所示14。圖3-7 SQL Server 2005 的組件架構(gòu)第四章 系統(tǒng)軟硬件的設(shè)計(jì)和實(shí)現(xiàn)早期對蔬菜大棚內(nèi)溫濕度的監(jiān)控是采用手工控制的,通過長期的經(jīng)驗(yàn)積累,對蔬菜大棚內(nèi)農(nóng)作物的生長狀況的記錄等形成的依據(jù),直接對大棚的溫濕度進(jìn)行調(diào)節(jié)以使給大棚里的作物一個(gè)適宜生長的環(huán)境。而基于Zigbee網(wǎng)絡(luò)的蔬菜大棚監(jiān)控系統(tǒng)可以節(jié)省
38、一定的人力資源,將收集到的數(shù)據(jù)和系統(tǒng)設(shè)置的上下限進(jìn)行對比,將準(zhǔn)確的進(jìn)行報(bào)警,通知相關(guān)人員進(jìn)行處理。相比于人工管理階段,本系統(tǒng)一定程度上提高了生產(chǎn)效率15。在設(shè)計(jì)本系統(tǒng)的時(shí)候,充分考慮到了系統(tǒng)界面的友好、方便于用戶操作;數(shù)據(jù)傳輸和接收的實(shí)時(shí)性以及整個(gè)系統(tǒng)的穩(wěn)定、安全等因素。本系統(tǒng)主要致力于軟件的設(shè)計(jì)上,實(shí)現(xiàn)了系統(tǒng)的啟動(dòng)和關(guān)閉、溫濕度的實(shí)時(shí)監(jiān)控、險(xiǎn)情警示、溫濕度上下閥值設(shè)置、查詢歷史記錄、按需刪除歷史記錄、管理用戶等功能。4.1 數(shù)據(jù)采集節(jié)點(diǎn)的設(shè)計(jì)和實(shí)現(xiàn)數(shù)據(jù)采集節(jié)點(diǎn)按功能模塊劃分可分為:溫濕度數(shù)據(jù)采集模塊和數(shù)據(jù)發(fā)送模塊(無線通信模塊)。下面詳細(xì)介紹這兩個(gè)模塊。4.1.1 溫濕度數(shù)據(jù)采集模塊溫濕度采
39、集模塊式采用溫濕度傳感器SHT10。SHT10 是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,采用CMOSens專利技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器及數(shù)字接口無縫結(jié)合。SHT10與CC2430連接電路原理圖如圖4-1所示:圖4-1 CC2430與SHT10連接電路原理圖該傳感器由1個(gè)能隙式測溫元件、1個(gè)電容式聚合體測濕元件、1個(gè)14位A/D轉(zhuǎn)換器和1個(gè)2-wire數(shù)字接口組成,使得該產(chǎn)品具有體積小、精度高、功耗低、反應(yīng)快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。而且SHT10 數(shù)字式傳感器具有類似I2C 總線數(shù)字接口的通信方式與CRC 數(shù)據(jù)傳輸校驗(yàn)。數(shù)據(jù)采集節(jié)點(diǎn)在上電后,經(jīng)過11ms后,SHT10會從休眠狀態(tài)
40、恢復(fù)到等待狀態(tài);接著發(fā)送一組“傳輸啟動(dòng)”時(shí)序進(jìn)行數(shù)據(jù)傳輸?shù)某跏蓟ぷ?6。然后發(fā)送一組測量命令(其中相對濕度RH量的時(shí)序命令為“0000 0101”,攝氏溫度T量的時(shí)序命令為“0000 0011”)開始測量周圍的溫濕度量,等待測量結(jié)束(大約需要20/80/320ms對應(yīng)其8/12/14位的時(shí)間);最后SHT10將下拉DATA到低電平(進(jìn)入空閑模式)表示測量結(jié)束了,并傳入一個(gè)字節(jié)的CRC校驗(yàn)并開始接收數(shù)據(jù)17。該流程圖如圖4-2所示:開始傳輸啟動(dòng)測量命令設(shè)P1.1為輸入YP1.1=1?N接收數(shù)據(jù)返回圖4-2為溫濕度數(shù)據(jù)采集模塊流程圖其中產(chǎn)生啟動(dòng)傳輸時(shí)序的程序片段如下:/相關(guān)其他的代碼P1_1=1
41、;P1_0=1;wait(1);P1_1=0;wait(1);P1_0=0;wait(1);P1_0=1;wait(1);P1_1=1;wait(1);P1_0=0;/其他相關(guān)代碼4.1.2 無線通信模塊CC2430是一塊符合IEEE802.15.4標(biāo)準(zhǔn)的片上Zigbee芯片。它的無線通信模塊的基礎(chǔ)是數(shù)據(jù)采集節(jié)點(diǎn)之間是采用點(diǎn)對點(diǎn)的通信方式。其數(shù)據(jù)采集的流程圖如圖4-3所示:圖4-3 數(shù)據(jù)采集節(jié)點(diǎn)流程圖在系統(tǒng)啟動(dòng),數(shù)據(jù)采集節(jié)點(diǎn)開啟后,并完成初始化工作后,節(jié)點(diǎn)將開始搜索其無線范圍內(nèi)的網(wǎng)絡(luò)信息。由于Zibgee網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)具有路由轉(zhuǎn)發(fā)的功能,所以節(jié)點(diǎn)之間也可以互發(fā)數(shù)據(jù),直至將源數(shù)據(jù)發(fā)送到最終的基站節(jié)
42、點(diǎn)。接下來介紹點(diǎn)對點(diǎn)通信的實(shí)現(xiàn)。表4-1 MAC層數(shù)據(jù)幀格式11111222目標(biāo)地址(DA)源地址(SA)標(biāo)志位(Flags)有效負(fù)載(Payload)幀校驗(yàn)(FCS)由上表4-1可知:1、目標(biāo)地址是用1個(gè)字節(jié)表示,它是數(shù)據(jù)采集節(jié)點(diǎn)在同組網(wǎng)絡(luò)中自身的編號。2、源地址也是用1個(gè)字節(jié)表示,它和目標(biāo)地址是一個(gè)相對的概念。3、標(biāo)志位用1個(gè)字節(jié)來表示,當(dāng)?shù)?位為1時(shí),表示目標(biāo)節(jié)點(diǎn)在收到該數(shù)據(jù)幀后要答復(fù);當(dāng)?shù)?位為1時(shí)表示該幀是接收到數(shù)據(jù)幀后的答復(fù)幀;當(dāng)?shù)?位為1時(shí),表示該幀是超時(shí)重傳的數(shù)據(jù)幀;當(dāng)當(dāng)數(shù)據(jù)幀中Flags字節(jié)的第8位為1時(shí),表示該幀是數(shù)據(jù)序列中的一幀。4、有效負(fù)載是用1122不等字節(jié)表示,由于
43、IEEE802.15.4協(xié)議的規(guī)范中規(guī)定了數(shù)據(jù)在傳輸時(shí)的物理服務(wù)數(shù)據(jù)單元(PSDU)的最大負(fù)載量為127個(gè)字節(jié),而由于已經(jīng)被使用了5個(gè)字節(jié),所以數(shù)據(jù)的有效負(fù)載的長度只能介于1122個(gè)字節(jié)之間。每當(dāng)有超過有效負(fù)載長度(超過122個(gè)字節(jié))的數(shù)據(jù)需要發(fā)送時(shí),我們需要將數(shù)據(jù)進(jìn)行拆解,拆解成符合IEEE802.15.4協(xié)議規(guī)定的數(shù)據(jù)長度。而負(fù)責(zé)接收數(shù)據(jù)的節(jié)點(diǎn)則需要將分成段得數(shù)據(jù)進(jìn)行整合后才可進(jìn)行使用。5、幀校驗(yàn)由2字節(jié)組成,它是對物理層協(xié)議的數(shù)據(jù)單元MPDU的校驗(yàn)。如果CC2430芯片中的RF寄存器相關(guān)的某些控制位設(shè)為高電平(即為1)的時(shí)候,幀校驗(yàn)FCS將由硬件自動(dòng)來繼續(xù)調(diào)整,燃油由多項(xiàng)式x16+x12
44、+x5+1進(jìn)行CRC軟件校驗(yàn)和生成。數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送數(shù)據(jù)的步驟可以總結(jié)為5步,具體的流程如下:1、系統(tǒng)初始化主要是將整個(gè)系統(tǒng)的工作頻率(晶振頻率)設(shè)置為32MHz,,為后面的RF初始化調(diào)工了必要的條件。2、RF初始化主要是設(shè)置通信頻率,設(shè)置電源,并使用代碼清空Rx和Tx,并開啟Rx等工作。3、DMA的初始化主要是為Tx分配1個(gè)空閑的DMA通道,并為其設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。4、當(dāng)設(shè)置為Tx準(zhǔn)備的DMA通道時(shí),需將數(shù)據(jù)的源地址設(shè)為所要發(fā)送數(shù)據(jù)的起始地址,目標(biāo)地址設(shè)為寄存器RFD的地址。然后,在設(shè)置所要發(fā)送數(shù)據(jù)的長度。并設(shè)置DMA數(shù)據(jù)按字節(jié)進(jìn)行傳輸以及一些必要位的設(shè)置從而完成DMA的設(shè)置。5、等到DM
45、A描述等的設(shè)置好后,系統(tǒng)將啟動(dòng)DMA通道上數(shù)據(jù)塊的傳輸。而在我們啟動(dòng)DMA通道數(shù)據(jù)傳輸之前,將當(dāng)前數(shù)據(jù)幀的標(biāo)志字節(jié)、目標(biāo)節(jié)點(diǎn)地址、源節(jié)點(diǎn)地址、數(shù)據(jù)長度通過直接寫寄存器RFD的方式寫入TxFIFO。通過這樣的流程后,我們在啟動(dòng)DMA通道傳輸后,完整的數(shù)據(jù)幀將會被傳輸?shù)絋xFIFO。最后發(fā)送指令I(lǐng)STXONCCA給CSP來啟動(dòng)Tx傳輸。這樣子就完成發(fā)送一幀數(shù)據(jù)的整個(gè)過程。數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送數(shù)據(jù)的流程圖如圖4-4所示:開始 系統(tǒng)初始化RF初始化DMA初始化DMA設(shè)置將幀數(shù)據(jù)寫入緩存NRSSL正常?Y開啟Tx并延時(shí)啟動(dòng)Tx返回圖4-4 發(fā)送數(shù)據(jù)流程圖4.2 基站節(jié)點(diǎn)的設(shè)計(jì)和實(shí)現(xiàn)4.2.1 IEEE802
46、.15.4標(biāo)準(zhǔn)和Zigbee協(xié)議介紹IEEE(Institute of Electrical and Electronics Engineers 美國電氣和電子工程師協(xié)會)無線個(gè)人區(qū)域網(wǎng)工作組的IEEE802.15.4技術(shù)標(biāo)準(zhǔn)是Zigbee的技術(shù)基礎(chǔ)。IEEE802.15.4標(biāo)準(zhǔn)的制定是為低能耗的簡單設(shè)備提供有效覆蓋范圍在10m之內(nèi)的低速連接,用用于用于無線監(jiān)測、工業(yè)控制等消費(fèi)與商用應(yīng)用領(lǐng)域。IEEE802.15.4支持兩種的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),即單跳星狀或當(dāng)通信線路超過10 m時(shí)的多跳對等拓?fù)?。但是對等拓?fù)涞倪壿嫿Y(jié)構(gòu)由網(wǎng)絡(luò)層定義。LR-WPAN中的器件既可以使用64位IEEE地址,也可以使用在關(guān)聯(lián)
47、過程中指配的16位短地址。一個(gè)IEEE802.15.4網(wǎng)最多可以容納216個(gè)器件。IEEE802.15.4標(biāo)準(zhǔn)最重要的特點(diǎn)是低功耗。因?yàn)樵诂F(xiàn)實(shí)中用電池供電的嵌入式器件,經(jīng)常的更換電池所產(chǎn)生的費(fèi)用往往比器件本身的成本還要高。所以在IEEE802.15.4標(biāo)準(zhǔn)的制定中,在數(shù)據(jù)傳輸過程中引入了節(jié)省功率的機(jī)制。多數(shù)機(jī)制是基于信標(biāo)使能的方式,主要是限制器件或協(xié)調(diào)器之收發(fā)信機(jī)的開通時(shí)間,或者在無數(shù)據(jù)傳輸時(shí)使它們處于休眠狀態(tài)18,從而很大程度上降低了嵌入式應(yīng)用設(shè)備的功耗量。IEEE802.15.4標(biāo)準(zhǔn)里有三種不同的數(shù)據(jù)傳輸方式從而突出了低功耗的特點(diǎn):間接數(shù)據(jù)傳輸、直接數(shù)據(jù)傳輸和有時(shí)隙保證的數(shù)據(jù)傳輸。Zigb
48、ee網(wǎng)絡(luò)是一種高可靠性的無線數(shù)字傳輸網(wǎng)絡(luò),它可工作在三種流行的免費(fèi)頻段上(如全球流行的2.4GHz、美國流行的915 MHz 和歐洲流行的868MHz)。其傳輸速率分別可以達(dá)到250kbit/s、40kbit/s和20kbit/s。Zigbee是一組基于IEEE批準(zhǔn)通過的IEEE802.15.4無線標(biāo)準(zhǔn)研制開發(fā)的組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。并由Zigbee Alliance和IEEE 802.15.4小組共同制定了Zigbee技術(shù)標(biāo)準(zhǔn)。Zigbee棧體系結(jié)構(gòu)由一組稱為層的塊兒組成。每個(gè)層為上層執(zhí)行指定一套服務(wù):數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù),管理實(shí)體提供所有其它服務(wù)。每個(gè)服務(wù)實(shí)體通過一個(gè)服務(wù)
49、接入點(diǎn)(SAP)為上層提供一個(gè)接口,每個(gè)SAP支持一些服務(wù)原語來完成必須的功能19。Zigbee網(wǎng)絡(luò)層(NWK)支持星形、樹狀形和網(wǎng)狀拓?fù)浣Y(jié)構(gòu)三種結(jié)構(gòu)。在星狀形的拓?fù)浣Y(jié)構(gòu)里,整個(gè)網(wǎng)絡(luò)是由一個(gè)獨(dú)立的通信設(shè)備Zigbee協(xié)調(diào)器來進(jìn)行控制20。Zigbee協(xié)調(diào)器的功能主要是負(fù)責(zé)對已連入網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行控制和維護(hù)。在樹狀形拓?fù)浜途W(wǎng)狀拓?fù)浣Y(jié)構(gòu)里,Zigbee協(xié)調(diào)器得功能主要是對已建立的網(wǎng)絡(luò)中的一些參數(shù)進(jìn)行選擇、確定和設(shè)置等。ZigBee網(wǎng)絡(luò)的組建主要是為工業(yè)化的現(xiàn)場實(shí)現(xiàn)自動(dòng)化控制時(shí)對數(shù)據(jù)的傳輸。它的協(xié)議規(guī)范使得設(shè)備功耗低、工作可靠、工作安全、結(jié)構(gòu)簡單、價(jià)格低廉、使用方便等特點(diǎn)。而移動(dòng)通信網(wǎng)的CDMA網(wǎng)或
50、GSM網(wǎng)主要是為用戶的語音的通信而建立的,其單個(gè)基站的費(fèi)用一般都在百萬元以上,而Zigbee協(xié)議中的每個(gè)Zigbee的基站價(jià)值卻不到人民幣1000元?;谝陨蠈igbee節(jié)點(diǎn)的分析,我們選擇使用CC2430的基站節(jié)點(diǎn)。4.2.2 基站節(jié)點(diǎn)實(shí)現(xiàn)功能描述基站節(jié)點(diǎn)是作為整個(gè)系統(tǒng)的核心部分,它應(yīng)用Zigbee網(wǎng)絡(luò)從數(shù)據(jù)采集節(jié)點(diǎn)收集它們的溫濕度數(shù)據(jù),然后按一定的數(shù)據(jù)格式編碼后,最后通過串口通信方式將數(shù)據(jù)傳到上位機(jī)(服務(wù)端)上。圖4-5向我們展示了基站節(jié)點(diǎn)的實(shí)物圖:圖4-5 基站節(jié)點(diǎn)實(shí)物圖上位機(jī)是負(fù)責(zé)從基站那里收集數(shù)據(jù),并將數(shù)據(jù)存儲在上位機(jī)(或則其他上位機(jī))的數(shù)據(jù)庫里面,這樣子上位機(jī)就可以為用戶提供豐富
51、的軟件服務(wù)提供了數(shù)據(jù)支持。而基站向服務(wù)器端發(fā)送的數(shù)據(jù)要有一定的數(shù)據(jù)格式(數(shù)據(jù)傳輸協(xié)議),從而來規(guī)范和保證數(shù)據(jù)傳輸?shù)恼_性?;竞蜕衔粰C(jī)通訊的協(xié)議如表4-2所示:表4-2 基站和上位機(jī)通訊協(xié)議表字段長度字節(jié)序內(nèi)容包頭包頭標(biāo)志1字節(jié)默認(rèn)為0x37硬件類型2字節(jié)Big Endian默認(rèn)值0x24 0x30包負(fù)載長度2字節(jié)Big Endian減去9字節(jié)后為傳感器數(shù)據(jù)長度數(shù)據(jù)傳感器類型2字節(jié)Big Endian詳細(xì)定義參考表4-3下一跳節(jié)點(diǎn)編號2字節(jié)Big Endian若如果節(jié)點(diǎn)的數(shù)據(jù)經(jīng)過路由轉(zhuǎn)發(fā),那么第一次轉(zhuǎn)發(fā)的節(jié)點(diǎn)編號便是該字段值源發(fā)數(shù)據(jù)節(jié)點(diǎn)編號2字節(jié)Big Endian最初發(fā)送傳感器數(shù)據(jù)的節(jié)點(diǎn)編號
52、順序號2字節(jié)Big Endian保留 默認(rèn)為0x00 0x00跳數(shù)1字節(jié)路由轉(zhuǎn)發(fā)過程中所經(jīng)過的節(jié)點(diǎn)數(shù)傳感器數(shù)據(jù)(包負(fù)載長度-9)字節(jié)Big Endian源節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)校驗(yàn)位校驗(yàn)碼1字節(jié)除包頭標(biāo)志外所有字節(jié)的異或的結(jié)果通過串口調(diào)試可以驗(yàn)證我們收到的收據(jù)也是20個(gè)字節(jié)的,詳細(xì)數(shù)據(jù)如圖4-6所示:圖4-6 從基站收到的數(shù)據(jù)由表4-2和圖4-5可知基站給上位機(jī)傳輸?shù)臄?shù)據(jù)是由三部分組成的:包頭、數(shù)據(jù)和校驗(yàn)碼。其中1、包頭段:包頭段共有5個(gè)字節(jié),其中1個(gè)字節(jié)的包頭標(biāo)志、2個(gè)字節(jié)的硬件類型和2個(gè)字節(jié)的包負(fù)載長度。包頭標(biāo)志固定是0x37。硬件類型也是固定的0x30 0x24。包負(fù)載長度指定了基站向上位機(jī)所傳
53、輸?shù)臄?shù)據(jù)的字節(jié)數(shù)。2、數(shù)據(jù)段:數(shù)據(jù)段的總字節(jié)數(shù)取決于傳感器數(shù)據(jù)的字節(jié)數(shù),由如圖3-9可知包負(fù)載長度為0x0E所以傳感器數(shù)據(jù)的字節(jié)數(shù)是5個(gè)字節(jié),所以數(shù)據(jù)段的總字節(jié)數(shù)是14個(gè)字節(jié)。其中包含2個(gè)字節(jié)的傳感器類型,該段的定義詳見表4-3;接著是2個(gè)字節(jié)的數(shù)據(jù)來表示嚇一跳節(jié)點(diǎn)的ID,如果節(jié)點(diǎn)是直接和基站通表4-3 傳感器類型定義圖傳感器名稱縮寫類型值溫濕度TH1溫度T2光LIGHT3流量FLUX4血壓BLOOD_PRESSURE5海拔高度ALTITUDE6磁場HOARE7雨滴RAIN8訊的該字段應(yīng)該同最初發(fā)送信息節(jié)點(diǎn)的ID是一致的,否則說明節(jié)點(diǎn)的數(shù)據(jù)是被其他節(jié)點(diǎn)轉(zhuǎn)發(fā)到基站的,并且這個(gè)字段的值就是首發(fā)轉(zhuǎn)發(fā)
54、的節(jié)點(diǎn)的ID;再接著就是2個(gè)字節(jié)的字段來表示最初發(fā)送信息節(jié)點(diǎn)的ID;然后是用2個(gè)字節(jié)來表示節(jié)點(diǎn)的順序號,該字段的值是保留值為0x00 0x00;接著用1個(gè)字節(jié)數(shù)據(jù)來表示節(jié)點(diǎn)的跳數(shù);最后使用5個(gè)字節(jié)來傳輸節(jié)點(diǎn)傳來的溫濕度數(shù)據(jù),關(guān)于溫濕度數(shù)據(jù)的解碼將在下一小節(jié)進(jìn)行詳解。3、校驗(yàn)碼段:校驗(yàn)碼字段是用1個(gè)字節(jié)來表示的。它的值是前面除包頭標(biāo)志外的所有字節(jié)異或的結(jié)果。4.2.3溫濕度數(shù)據(jù)解碼基站將溫濕度數(shù)據(jù)傳輸給上位機(jī)后,上位機(jī)的應(yīng)用軟件將這些數(shù)據(jù)進(jìn)行解碼,讓數(shù)據(jù)以更直觀的形式展示給用戶。這些數(shù)據(jù)包括溫濕度采集節(jié)點(diǎn)的編號、該位置節(jié)點(diǎn)測到的溫度和濕度:1、節(jié)點(diǎn)編號的解碼:由圖4-7可知在傳輸?shù)膮f(xié)議中的9、1
55、0字節(jié)決定了是哪個(gè)編號的節(jié)點(diǎn)傳來的數(shù)據(jù),所以在上位機(jī)的應(yīng)用軟件中使用a = RXData9*256 + RXData10;便可以解碼出節(jié)點(diǎn)的編號,其中RXData就是我們接收到的一次數(shù)據(jù)編碼,它共有20個(gè)字節(jié),由圖4-8也可知道。2、溫度數(shù)據(jù)的解碼:經(jīng)過多次的數(shù)據(jù)收集和計(jì)算,最后可知溫度數(shù)據(jù)是由1418字節(jié)中的15、16字節(jié)決定的。再根據(jù)如圖4-7公式和圖4-8的系數(shù)可以得到溫度數(shù)據(jù)圖4-7 溫度轉(zhuǎn)化公式圖4-8 相關(guān)系數(shù)參考圖4-9中Temperature是我們所要解碼的溫度數(shù)據(jù),d1和d2系數(shù)的值要參考圖4-10中的值。經(jīng)過多次計(jì)算對比可以得到該段的程序源碼如圖4-9所示:圖4-9 溫度解
56、碼程序3、濕度數(shù)據(jù)的解碼:濕度數(shù)據(jù)的解碼比溫度復(fù)雜了許多,它還需要溫度的數(shù)據(jù)。為了補(bǔ)償濕度傳感器的非線性以獲得準(zhǔn)確的數(shù)據(jù),首先我們要進(jìn)行如圖4-10的公式來修正輸出數(shù)值:圖4-10 濕度非線性補(bǔ)償公式其中c1、c2、c3系數(shù)的值如圖4-11所示,SOrh的值是我們協(xié)議中17、18字節(jié)的數(shù)據(jù)決定的。圖4-11 濕度轉(zhuǎn)換系數(shù)接著需要對濕度傳感器相對濕度的溫度補(bǔ)償?shù)挠?jì)算,依據(jù)圖4-12的公式:圖4-12 濕度傳感器相對于溫度的轉(zhuǎn)化公式該公式中的T是我們測出的溫度數(shù)據(jù),t1、t2的系數(shù)值參照圖4-13:圖4-13 t1、t2系數(shù)參考經(jīng)過多次的測量、比較、計(jì)算可得到如圖4-14的源程序來解碼濕度數(shù)據(jù):圖4-14 解碼濕度數(shù)據(jù)源碼
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大棚蔬菜種植與農(nóng)業(yè)休閑農(nóng)業(yè)項(xiàng)目合作協(xié)議2篇
- 二零二五年度南京市房地產(chǎn)經(jīng)紀(jì)行業(yè)勞務(wù)派遣及銷售服務(wù)合同
- 2025年度豬場生物安全防護(hù)與防疫物資供應(yīng)合同4篇
- 二手房地產(chǎn)交易安全保障與監(jiān)管合同
- 2025年水果采摘與農(nóng)家樂特色農(nóng)產(chǎn)品銷售合同3篇
- 二零二五年度企業(yè)股權(quán)激勵(lì)計(jì)劃轉(zhuǎn)讓合同
- 2025年大數(shù)據(jù)處理與分析軟件服務(wù)采購協(xié)議3篇
- 二零二五年建筑資質(zhì)掛靠與工程進(jìn)度調(diào)整服務(wù)協(xié)議3篇
- 2025年度二手房買賣合同附加物業(yè)管理費(fèi)結(jié)算協(xié)議3篇
- 二零二五年度大型商業(yè)綜合體工程分包管理協(xié)議2篇
- 四川省高職單招電氣技術(shù)類《電子基礎(chǔ)》歷年考試真題試題庫(含答案)
- 中級半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(含答案)
- 2024年江西生物科技職業(yè)學(xué)院單招職業(yè)技能測試題庫帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開工、停工、復(fù)工安全管理臺賬表格(流程圖、申請表、報(bào)審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級下冊教材分析萬永霞
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
- 上海高考英語詞匯手冊列表
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)五 其他內(nèi)容類型的生產(chǎn)
評論
0/150
提交評論