版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> (二零 屆)</b></p><p> 位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電氣工程及其自動(dòng)化 </p&
2、gt;<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p>
3、 基于單片機(jī)傳口通訊的位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)的裝置。無線傳感器網(wǎng)絡(luò)由多個(gè)節(jié)點(diǎn)組成的面向任務(wù)的無線自組織網(wǎng)絡(luò)。它綜合了傳感器技術(shù)、嵌入式系統(tǒng)開發(fā)、現(xiàn)代網(wǎng)絡(luò)技術(shù)等,具有感知、計(jì)算和通信能力。主要由傳輸單元,計(jì)算單元、存儲(chǔ)單位組成。 </p><p> 本文介紹了一種用單片機(jī)以及一個(gè)基于cc1101的無線串口通信模塊作為主要硬件,通過單片機(jī)編程進(jìn)行無線通訊的一種裝置。該裝置具有內(nèi)置MAC地址,通過MAC地址能任
4、意的設(shè)置IP地址。設(shè)定了IP地址之后數(shù)據(jù)在網(wǎng)絡(luò)中能夠進(jìn)行自主的轉(zhuǎn)發(fā),從而到達(dá)目的地址。并且具有檢測網(wǎng)絡(luò)是否通暢的功能。整個(gè)設(shè)備硬件件結(jié)構(gòu)簡單,軟件編程靈活。</p><p> 關(guān)鍵詞:無線傳感器網(wǎng)絡(luò),節(jié)點(diǎn),多跳,單片機(jī)串口</p><p> The design of node’s position been fixed wireless sensor network</p>
5、;<p><b> Abstract</b></p><p> The device that node’s position been fixed wireless sensor network based on the communication of MCU’s Serial. Wireless sensor networks consisting of multip
6、le nodes. And it’s task-oriented self-organizing wireless network. It combines sensor technology, embedded systems development, modern network technology, with sensing, calculating and communication capabilities. Mainly
7、compose by the transmission unit, computing unit, storage units.</p><p> This paper describes a device consisting of MCU and wireless modules which based on the cc1101 use as the main hardware, and achieve
8、wireless communication by MCU programming. The device has a MAC address, and IP address which can arbitrarily be set through the MAC address. After setting the IP address,the data in the network can be carry out independ
9、ent forwarding to reach the destination address. It also has the function of detecting whether the node can be reached or not. The device’s hardwar</p><p> Key words:Wireless sensor networks,node,multi-jump
10、,MCU’s Serial</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> Abstract錯(cuò)誤!未定義書簽。</p><p><b> 1 緒論1</b></p><p> 1.1
11、無線傳感器網(wǎng)絡(luò)的基本要求和設(shè)計(jì)原則2</p><p> 1.2無線傳感器網(wǎng)絡(luò)的基本原理和特點(diǎn)1</p><p> 1.2.1無線傳感器網(wǎng)絡(luò)的原理錯(cuò)誤!未定義書簽。</p><p> 1.2.2無線傳感器網(wǎng)絡(luò)的特點(diǎn)錯(cuò)誤!未定義書簽。</p><p> 1.3無線傳感器網(wǎng)絡(luò)的國內(nèi)外發(fā)展現(xiàn)狀1</p><p&g
12、t; 1.4畢業(yè)設(shè)計(jì)的主要內(nèi)容2</p><p> 1.5課題的意義與應(yīng)用2</p><p> 2硬件電路的設(shè)計(jì)6</p><p> 2.1單片機(jī)最小系統(tǒng)6</p><p> 2.2無線串口模塊7</p><p> 2.3硬件上的連接8</p><p> 3算法研究與軟
13、件設(shè)計(jì)錯(cuò)誤!未定義書簽。</p><p> 3.1時(shí)分復(fù)用(TDMA)錯(cuò)誤!未定義書簽。</p><p> 3.1.1傳感器節(jié)點(diǎn)無效功率的主要來源錯(cuò)誤!未定義書簽。</p><p> 3.1.2減少無效功率的方式錯(cuò)誤!未定義書簽。</p><p> 3.1.3時(shí)分復(fù)用的實(shí)現(xiàn)錯(cuò)誤!未定義書簽。</p><p
14、> 3.2 最短路徑算法錯(cuò)誤!未定義書簽。</p><p> 3.2.1 假設(shè)與抽象錯(cuò)誤!未定義書簽。</p><p> 3.2.2 實(shí)現(xiàn)方法錯(cuò)誤!未定義書簽。</p><p> 3.3 轉(zhuǎn)發(fā)算法錯(cuò)誤!未定義書簽。</p><p> 3.4 地址設(shè)定錯(cuò)誤!未定義書簽。</p><p> 3.
15、3.1IP地址和硬件地址錯(cuò)誤!未定義書簽。</p><p> 3.3.2地址解析及其協(xié)議錯(cuò)誤!未定義書簽。</p><p> 3.4 ping功能錯(cuò)誤!未定義書簽。</p><p> 3.3.1ping功能的作用錯(cuò)誤!未定義書簽。</p><p> 3.3.2ping功能的協(xié)議錯(cuò)誤!未定義書簽。</p><
16、;p> 4調(diào)試現(xiàn)象及說明錯(cuò)誤!未定義書簽。</p><p><b> 結(jié)論23</b></p><p><b> 參考文獻(xiàn)24</b></p><p> 致謝錯(cuò)誤!未定義書簽。</p><p><b> 附錄25</b></p><
17、p> 附錄1串行通信的程序25</p><p> 附錄圖2 eerom保存數(shù)據(jù)的程序39</p><p> 附錄圖3主函數(shù)程序42、</p><p><b> 1 緒論</b></p><p> 1.1無線傳感器網(wǎng)絡(luò)的原理和特點(diǎn)</p><p> 1.1.1無線傳感器網(wǎng)絡(luò)的
18、原理</p><p> 無線傳感器網(wǎng)絡(luò)的基本構(gòu)成原理是由一種或幾種傳感器原件或模塊采集出一種或幾種信號(hào),然后將這種信號(hào)通過模數(shù)轉(zhuǎn)化,轉(zhuǎn)化成數(shù)字信號(hào),然后通過數(shù)據(jù)傳輸模塊進(jìn)行傳輸,最后在一個(gè)地方進(jìn)行匯總,通過對(duì)匯總的數(shù)據(jù)的處理,得到要執(zhí)行的方案,又通過數(shù)據(jù)傳輸模塊進(jìn)行再次傳輸,最后完成控制的過程。</p><p> 原理方面,包括傳感器測數(shù)據(jù)的原理,無線數(shù)據(jù)傳輸?shù)脑?,模?shù)轉(zhuǎn)化的原理。這
19、些原理都不在這進(jìn)行復(fù)述,后文會(huì)提到部分本次設(shè)計(jì)中使用到的無線數(shù)據(jù)傳輸原理,詳見后文。</p><p> 1.1.2無線傳感器網(wǎng)絡(luò)的特點(diǎn)</p><p> 本次設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)具有以下幾個(gè)特點(diǎn):</p><p> ?。╝)節(jié)點(diǎn)的地位對(duì)等。無中心結(jié)構(gòu),網(wǎng)絡(luò)中所有節(jié)點(diǎn)的地位對(duì)等,并構(gòu)建成一個(gè)對(duì)等式的網(wǎng)絡(luò)。節(jié)點(diǎn)可以隨時(shí)加入或離開網(wǎng)絡(luò),網(wǎng)絡(luò)中的部分節(jié)點(diǎn)發(fā)生故障不影響整
20、個(gè)網(wǎng)絡(luò)的運(yùn)行。而每一個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中的地位一致,在特定某一次通信時(shí)可以被作為特定的目標(biāo)節(jié)點(diǎn)或中繼節(jié)點(diǎn)。但是整體來看并無中心結(jié)構(gòu),地位一致。</p><p> ?。╞)自組方式組網(wǎng)。組網(wǎng)不依賴與任何固定的網(wǎng)絡(luò)設(shè)施,傳感器節(jié)點(diǎn)通過分布式網(wǎng)絡(luò)協(xié)議形成自組型網(wǎng)絡(luò),能夠自動(dòng)調(diào)整來適應(yīng)節(jié)點(diǎn)的移動(dòng)、加了和退出。網(wǎng)絡(luò)中多個(gè)運(yùn)行著的節(jié)點(diǎn)在起始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)確定以后就可以快速、自組的組成一個(gè)獨(dú)立的網(wǎng)絡(luò)。并且傳輸路徑也隨之確定,具體的路
21、徑在會(huì)在后文中的最短路徑中討論。</p><p> (c)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)不確定。無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)可能由于電池能量的耗盡或故障從網(wǎng)絡(luò)中退出,也可能是按照設(shè)定的程序從網(wǎng)絡(luò)中退出;網(wǎng)絡(luò)外的無線傳感器節(jié)點(diǎn)可以隨時(shí)加入到網(wǎng)絡(luò)中;傳感器節(jié)點(diǎn)具有移動(dòng)屬性。除此之外,環(huán)境因素或者節(jié)點(diǎn)能量耗盡等因素也可能導(dǎo)致節(jié)點(diǎn)故障或失效。為增強(qiáng)監(jiān)控精度而加入新的節(jié)點(diǎn),都會(huì)使網(wǎng)絡(luò)的拓?fù)浒l(fā)生改變。而拓?fù)浣Y(jié)構(gòu)發(fā)生改變之后,數(shù)據(jù)傳輸時(shí)都是簡化成
22、同一種拓?fù)浣Y(jié)構(gòu)之后再傳輸?shù)?,簡化方法也?huì)在算法中進(jìn)行詳細(xì)的分析。</p><p> ?。╠)采用多跳的形式進(jìn)行傳輸傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)的通信距離較短,節(jié)點(diǎn)只能以相鄰節(jié)點(diǎn)直接通信,要實(shí)現(xiàn)在網(wǎng)絡(luò)覆蓋范圍之內(nèi)的較遠(yuǎn)節(jié)點(diǎn)通信,需要通過中間節(jié)點(diǎn)進(jìn)行路由接力傳遞數(shù)據(jù)。無線傳感器網(wǎng)絡(luò)中的多跳路由是由普通網(wǎng)絡(luò)節(jié)點(diǎn)完成的,每個(gè)節(jié)點(diǎn)既能專發(fā)信息,又能發(fā)送信息。節(jié)點(diǎn)采用多跳接力來完成各個(gè)節(jié)點(diǎn)向目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)發(fā)送。</p>
23、<p> ?。╡)無線傳感器網(wǎng)絡(luò)能自動(dòng)空間尋址,傳感器節(jié)點(diǎn)都具有一個(gè)網(wǎng)絡(luò)中的唯一標(biāo)示,數(shù)據(jù)采集發(fā)生在某一個(gè)節(jié)點(diǎn),而用戶關(guān)心的是數(shù)據(jù)發(fā)生的具體位置,而不是空間位置尋址的方式。而空間位置尋址方式會(huì)在算法中分析。標(biāo)示的形式會(huì)在路由協(xié)議中進(jìn)行介紹</p><p> 1.2無線傳感器網(wǎng)絡(luò)技術(shù)的發(fā)展現(xiàn)狀</p><p> 早在20世紀(jì)90年代末,美國國防部高級(jí)研究計(jì)劃局就對(duì)傳感器節(jié)點(diǎn)技術(shù)
24、進(jìn)行研究,而在那時(shí)在傳感器群中,各個(gè)不同傳感器節(jié)點(diǎn)間只進(jìn)行較簡單的點(diǎn)對(duì)點(diǎn)通訊。</p><p> 而隨著無線通信技術(shù)和微電子技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)也漸漸的成為了一種新興技術(shù),到了20世紀(jì)末,美國《商業(yè)周刊》將無線傳感網(wǎng)絡(luò)技術(shù)列為21世紀(jì)最重要的21項(xiàng)技術(shù)之一。</p><p> 無線傳感器網(wǎng)絡(luò)是一種全新的信息獲取與處理技術(shù),目前是通信、計(jì)算機(jī)和自動(dòng)化等領(lǐng)域一個(gè)新興的研究熱點(diǎn)。它
25、能夠?qū)崟r(shí)感知和采集覆蓋區(qū)中的各種信息并進(jìn)行處理,處理后的信息通過無線方式發(fā)送給觀察者。傳感網(wǎng)能夠直接感知客觀世界,極大地增強(qiáng)了現(xiàn)有網(wǎng)絡(luò)的功能和人類認(rèn)識(shí)世界的能力。無線傳感器網(wǎng)絡(luò)深入我們生活的每個(gè)環(huán)節(jié)、滲透社會(huì)的每個(gè)角落,有利于提高人們認(rèn)識(shí)物理世界的深度、廣度、精確性、及時(shí)性,加強(qiáng)后和密切人類與物理世界的聯(lián)系,大力提高人類對(duì)物理環(huán)境的遠(yuǎn)端監(jiān)視和控制能力。因而具有十分廣闊的應(yīng)用前景。</p><p> 大規(guī)模的數(shù)據(jù)
26、通信是近些年無線傳感器網(wǎng)絡(luò)技術(shù)的一個(gè)重點(diǎn),也是取得成就比較多的方面。很多應(yīng)用場合中,需要大規(guī)模部署無線傳感器節(jié)點(diǎn),形成一個(gè)覆蓋面很大的監(jiān)控區(qū)域。在這樣的網(wǎng)絡(luò)系統(tǒng)中,傳感器節(jié)點(diǎn)經(jīng)過數(shù)據(jù)采集后,使用多跳路由將數(shù)據(jù)送往下一個(gè)節(jié)點(diǎn),大量的傳感器節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,而一個(gè)節(jié)點(diǎn)要對(duì)大量數(shù)據(jù)進(jìn)行協(xié)同處理,。監(jiān)測區(qū)域內(nèi)密集的自治節(jié)點(diǎn)產(chǎn)生大量的傳感數(shù)據(jù),有效地對(duì)大量節(jié)點(diǎn)所獲感知數(shù)據(jù)進(jìn)行協(xié)同處理,在此基礎(chǔ)上完成無線傳感器網(wǎng)絡(luò)的任務(wù)。</p>&
27、lt;p> 1.1無線傳感器網(wǎng)絡(luò)的基本要求和設(shè)計(jì)原則</p><p> 隨著我國社會(huì)主義市場經(jīng)濟(jì)的不斷發(fā)展和人民生活水平的不斷提高,無線傳感器網(wǎng)絡(luò)開始得到人們的關(guān)注。無線傳感器網(wǎng)絡(luò)剛開始研究的重點(diǎn)是傳感器節(jié)點(diǎn)技術(shù),在傳感器群中,各個(gè)不同傳感器節(jié)點(diǎn)間只進(jìn)行較簡單的點(diǎn)對(duì)點(diǎn)通訊。而隨著無線通信技術(shù)和微電子技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)的研發(fā)已經(jīng)轉(zhuǎn)到了整體網(wǎng)絡(luò)的實(shí)際設(shè)計(jì),無線轉(zhuǎn)發(fā)算法的設(shè)計(jì)。傳感器的節(jié)點(diǎn)也從點(diǎn)到
28、點(diǎn)轉(zhuǎn)變成了數(shù)目龐大的整體網(wǎng)絡(luò)。到了20世紀(jì)末,美國《商業(yè)周刊》將無線傳感網(wǎng)絡(luò)技術(shù)列為21世紀(jì)最重要的21項(xiàng)技術(shù)之一。</p><p> 無線傳感器網(wǎng)絡(luò)的基本要求包括以下幾個(gè)方面的要求:</p><p> 1、數(shù)據(jù)傳輸穩(wěn)定。數(shù)據(jù)傳輸是無線傳感器網(wǎng)絡(luò)主要用途。數(shù)據(jù)傳輸不丟幀是對(duì)無線傳感器網(wǎng)絡(luò)的最基本要求。在無線傳感器網(wǎng)絡(luò)的傳輸過程中,應(yīng)該設(shè)計(jì)一個(gè)防止丟幀的算法,即發(fā)送完成之后,接受的節(jié)點(diǎn)進(jìn)
29、行判斷,如果已經(jīng)接收到發(fā)送的數(shù)據(jù),則進(jìn)行返回?cái)?shù)據(jù),如果發(fā)送的節(jié)點(diǎn)也沒有接到返回的數(shù)據(jù),則數(shù)據(jù)進(jìn)行重發(fā)。但是這個(gè)方法只適用于節(jié)點(diǎn)較少的無線傳感器網(wǎng)絡(luò),因?yàn)槿绻麩o線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)目較大,則數(shù)據(jù)發(fā)送效率會(huì)過低。這就要求我們選擇數(shù)據(jù)發(fā)送較為穩(wěn)定的數(shù)據(jù)發(fā)送模塊。如果模塊發(fā)送數(shù)據(jù)穩(wěn)定則沒有這個(gè)問題。</p><p> 2、功耗小。無線傳感器網(wǎng)絡(luò)會(huì)一直處于監(jiān)聽狀態(tài),所以功耗也會(huì)一直處于最大狀態(tài),如果功耗一直過大則無線傳感
30、器網(wǎng)絡(luò)工作的時(shí)間就會(huì)過短,這是無線網(wǎng)絡(luò)傳感器能否良好工作的一個(gè)重要因素,除了選擇功耗較少的無線發(fā)射模塊和一塊功耗較低的單片機(jī)之外。必須對(duì)無線傳輸算法進(jìn)行一定的優(yōu)化,達(dá)到功耗較低的要求。</p><p> 3、 傳輸數(shù)據(jù)速度塊。傳感器網(wǎng)絡(luò)的傳輸具有很高的實(shí)時(shí)性,這就要求在傳輸?shù)倪^程中達(dá)到傳輸速度快。這可以通過兩個(gè)方法來實(shí)現(xiàn),其一、選擇傳輸速度較快的傳輸模塊。其二、在單片機(jī)的算法中進(jìn)行優(yōu)化,達(dá)到計(jì)算速度塊,轉(zhuǎn)發(fā)數(shù)據(jù)
31、計(jì)算快。 </p><p> 1.4畢業(yè)設(shè)計(jì)的主要內(nèi)容</p><p> 如圖1,就是本次設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)總的結(jié)構(gòu)示意圖。其中用戶可以根據(jù)需要控制的內(nèi)容,在上位機(jī)中輸入一定的數(shù)據(jù),通過無線傳輸送給集控器。集控器接收到后進(jìn)行轉(zhuǎn)化,再傳送到所需要控制的節(jié)點(diǎn)進(jìn)行具體的控制。而在節(jié)點(diǎn)與節(jié)點(diǎn)之間可以任意的傳輸,從而克服由于無線傳感器的距離限制帶來的局限性。例如需要從D傳送到A,但是無線傳感器
32、的傳輸距離只能從D傳輸?shù)紺或從C到B,此時(shí)就可以通過C,B做為中繼的傳輸節(jié)點(diǎn)來傳送。而C,B除了在D到A的傳輸中起到了中繼節(jié)點(diǎn)的作用以外還能作為一個(gè)目標(biāo)的節(jié)點(diǎn),而究竟是作為什么節(jié)點(diǎn)是由無線傳感器網(wǎng)絡(luò)的通信協(xié)議來規(guī)定。</p><p> 圖 1.1無線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)示意圖</p><p> 通信協(xié)議時(shí)本次設(shè)計(jì)的重點(diǎn),通信協(xié)議需要完成數(shù)據(jù)傳輸是所必須規(guī)定的中繼節(jié)點(diǎn),起始節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn),多
33、跳時(shí)的步長等等,當(dāng)然還有最重要的傳輸?shù)臄?shù)據(jù)。</p><p> 還有通信數(shù)據(jù)的重新生成也是本次設(shè)計(jì)的一個(gè)重要方面,需要根據(jù)要求重新判斷所需要傳輸?shù)臄?shù)據(jù),并且生成新的傳輸數(shù)據(jù)。</p><p> 除此之外,根據(jù)實(shí)際使用的需要,還包括了以下兩個(gè)實(shí)用的功能:</p><p> 1,設(shè)計(jì)一個(gè)檢驗(yàn)無線傳感器網(wǎng)絡(luò)是否通暢的命令,例如需要驗(yàn)證能否從D傳送到A,則需要發(fā)送一個(gè)
34、命令,而A能接受到之后進(jìn)行處理,并且返回一個(gè)命令,D能接受到這個(gè)命令則代表本條無線傳感網(wǎng)絡(luò)通暢,沒接收到則代表在傳送的過程中數(shù)據(jù)丟失。</p><p> 2,每一個(gè)節(jié)點(diǎn)的ID數(shù)據(jù)都不同,但是在實(shí)際生產(chǎn)過程中,不可能對(duì)單片機(jī)逐塊的進(jìn)行數(shù)據(jù)燒寫,這就需要在設(shè)計(jì)過程中進(jìn)行這方面的考慮,使無線網(wǎng)絡(luò)能夠通過上位機(jī)有設(shè)置數(shù)據(jù)的功能,而通過無線網(wǎng)絡(luò)的傳輸,使節(jié)點(diǎn)自動(dòng)設(shè)置數(shù)據(jù)。</p><p> 1.
35、5課題的意義與應(yīng)用</p><p> 本次課題主要圍繞著無線網(wǎng)絡(luò)傳感器的組網(wǎng)規(guī)則、最短路徑的傳輸方法和通信協(xié)議等問題進(jìn)行研究。解決了一個(gè)基本的無線網(wǎng)絡(luò)的通信問題,并且對(duì)于大規(guī)模生產(chǎn)提出了一整套可行的方便的解決方案。能夠切實(shí)解決實(shí)際應(yīng)用中遇到的問題。</p><p> 本次課題應(yīng)用廣泛,無論是軍事,生活,監(jiān)測,控制還是其他的領(lǐng)域都能夠得到廣泛的應(yīng)用。比如:加一個(gè)紅外的傳感器,就可以將這個(gè)
36、無線網(wǎng)絡(luò)傳感器網(wǎng)絡(luò)應(yīng)用于安全防衛(wèi)的場合。只需要再加一個(gè)電源模塊,并且對(duì)無線網(wǎng)絡(luò)傳輸協(xié)議進(jìn)行一定的修改,就能實(shí)現(xiàn)監(jiān)測到有人體發(fā)出的紅外線,就進(jìn)行報(bào)警的系統(tǒng)。把各個(gè)節(jié)點(diǎn)散布于一個(gè)需要監(jiān)測的區(qū)域內(nèi)就能通過此無線傳感器網(wǎng)絡(luò)進(jìn)行報(bào)警。</p><p><b> 2硬件電路的設(shè)計(jì)</b></p><p> 本次課題的硬件電路設(shè)計(jì)較為簡單,整體設(shè)計(jì)方案如圖。主要就是需要根據(jù)無線
37、傳感器網(wǎng)絡(luò)的工作特點(diǎn)進(jìn)行單片機(jī)和無線傳輸模塊的選擇。并且進(jìn)行兩個(gè)模塊的連接。</p><p> 圖2-1硬件電路的總體設(shè)計(jì)方案</p><p> 2.1單片機(jī)的最小系統(tǒng)</p><p> 無限網(wǎng)絡(luò)傳感器中使用的單片機(jī)需要盡量的減少功耗。由于無線傳感器網(wǎng)絡(luò)會(huì)一直處于監(jiān)聽狀態(tài),所以功耗也會(huì)一直處于最大狀態(tài),如果功耗一直過大則無線傳感器網(wǎng)絡(luò)工作的時(shí)間就會(huì)過短。所以需
38、要選擇一塊功耗較低的單片機(jī)。并且單片機(jī)能隨時(shí)進(jìn)入低功耗狀態(tài)。綜合以上幾點(diǎn),筆者放棄了經(jīng)常使用的 89c51單片機(jī),而采用了功耗更低的89c5612單片機(jī),下圖為本單片機(jī)的管腳圖。</p><p> 圖2-2 89s5612管腳圖</p><p> 本單片機(jī)除了有著功耗小的好處之外,還具有以下幾個(gè)優(yōu)勢能對(duì)本次設(shè)計(jì)起著一定的作用:</p><p> (1)超強(qiáng)的抗
39、干擾性能。根據(jù)大規(guī)模的傳感器網(wǎng)絡(luò)的需求,通常傳感器網(wǎng)絡(luò)工作在比較復(fù)雜的環(huán)境中,包括了強(qiáng)靜電的環(huán)境,低溫或者是高溫。這些方面本單片機(jī)都能夠很好的適用,他能順利工作在強(qiáng)靜電的環(huán)境下,而能工作的溫度范圍也達(dá)到了-40~85℃。這都已經(jīng)能基本滿足本傳感器網(wǎng)絡(luò)的工作環(huán)境。</p><p> ?。?)寬電壓。在后文中會(huì)提到無線串口模塊也能在寬電壓的條件下進(jìn)行工作,所以在整個(gè)系統(tǒng)的電源選擇過程中就可以達(dá)到比較豐富的目的。這也有
40、利于傳感器網(wǎng)絡(luò)的大規(guī)模使用。</p><p> ?。?)具有串行通訊口,雖然串行通訊口是大部分單片機(jī)都擁有的,但是本次選用的無線串口通訊模塊與傳送數(shù)據(jù)必須通過串行通訊口。所以就必須選用一塊具有串行通訊口的單片機(jī)。</p><p> ?。?)內(nèi)部工作時(shí)鐘。本次設(shè)計(jì)為了考慮到系統(tǒng)的穩(wěn)定性選擇了外接一個(gè)晶振進(jìn)行時(shí)鐘信號(hào)的提供。但是考慮到后期進(jìn)行改進(jìn)時(shí)可能對(duì)體積有嚴(yán)格的要求,所以就選用了這一款有內(nèi)
41、部工作時(shí)鐘的單片機(jī),便于以后的改進(jìn)。</p><p> 2.2 無線串口模塊</p><p> 本次設(shè)計(jì)的成敗與否很大程度上取決于無線通訊模塊選擇的成功與否,經(jīng)過慎重的考慮選擇了基于cc1101的無線模塊作為本次設(shè)計(jì)無線通訊模塊。無線串口模塊的實(shí)物圖如下:</p><p> 該無線串口模塊有幾下幾點(diǎn)優(yōu)勢:</p><p> ?。?)通訊
42、穩(wěn)定可靠。</p><p><b> ?。?)通訊距離遠(yuǎn)。</b></p><p> ?。?)線路連接簡單,端口占用少。</p><p> ?。?)寬電壓。在前文中會(huì)提到本次設(shè)計(jì)選用的單片機(jī)也能在寬電壓的條件下進(jìn)行工作,所以在整個(gè)系統(tǒng)的電源選擇過程中就可以達(dá)到比較豐富的目的。這也有利于傳感器網(wǎng)絡(luò)的大規(guī)模使用。</p><p&
43、gt;<b> 2.3硬件上的連接</b></p><p> 硬件上的連接主要是將串口與無線收發(fā)模塊相連,而單片機(jī)如果需要工作的話就必須得有最小系統(tǒng)的支持。最小系統(tǒng)包括兩個(gè)主要內(nèi)容,一個(gè)是外部的晶振,本次最小系統(tǒng)使用的晶振是11.0592mhz的晶振,包括兩個(gè)30pf的瓷片電容,連接了之后把兩個(gè)管教接到xtal1和xtal2上,起到了一個(gè)外部提供時(shí)鐘源的目的,還有一個(gè)是復(fù)位電路,這個(gè)電路
44、包括一個(gè)1k的電阻,和一個(gè)10uf的電解電容。提供了兩種復(fù)位的機(jī)會(huì),一個(gè)是上電復(fù)位,另外一個(gè)是按鈕復(fù)位。提供調(diào)試時(shí)有必要的使用。</p><p> 圖2-3 硬件連接圖</p><p> 3 算法研究與軟件設(shè)計(jì)</p><p> 如上文所述,本次設(shè)計(jì)的硬件部分比較簡單。但是軟件部分就比較復(fù)雜了,為了無線傳感器網(wǎng)絡(luò)能良好的工作,需要對(duì)很多問題進(jìn)行考慮和改進(jìn)。&
45、lt;/p><p> 為了提高本次設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)的穩(wěn)定性,需要對(duì)無線傳感器網(wǎng)絡(luò)的算法及軟件設(shè)計(jì)進(jìn)行研究。主要通過使用時(shí)分復(fù)用算法,最短路徑算法和轉(zhuǎn)發(fā)算法來提高傳輸過程中的穩(wěn)定性。</p><p> 3.1 時(shí)分復(fù)用(TDMA)</p><p> 3.1.1傳感器節(jié)點(diǎn)無效功率的主要來源</p><p> 無線傳感器網(wǎng)絡(luò)的核心問題之一就
46、是功耗管理,其原因是無線傳感器網(wǎng)絡(luò)需不斷處于監(jiān)聽狀態(tài),并且使用的獨(dú)立的電源,如果功耗管理問題沒有處理好,可能需要時(shí)常更換電源,而使網(wǎng)絡(luò)適用于大多場所。</p><p> 無線傳感器網(wǎng)絡(luò)中最大的耗能部件是射頻模塊,使用是優(yōu)化的主要目標(biāo)。傳感器節(jié)點(diǎn)的無效功耗主要來自以下四個(gè)來源。空閑偵聽:節(jié)點(diǎn)不知道其他節(jié)點(diǎn)何時(shí)給自己發(fā)數(shù)據(jù),所以射頻模塊必須一直處于接收和判斷狀態(tài),消耗大量的能源。而這個(gè)方面的問題并沒有在這次設(shè)計(jì)中得
47、到妥善的堅(jiān)決。數(shù)據(jù)沖突:多個(gè)節(jié)點(diǎn)同時(shí)向同一節(jié)點(diǎn)發(fā)送多幀數(shù)據(jù),信號(hào)相互干擾,波形相互疊加,收方無法準(zhǔn)確接收,雖可通過數(shù)據(jù)重發(fā)來解決數(shù)據(jù)接收的問題,但是數(shù)據(jù)重發(fā)會(huì)帶來能量的浪費(fèi)。數(shù)據(jù)串?dāng)_;使接收和處理發(fā)往其他節(jié)點(diǎn)的數(shù)據(jù)屬于無效功耗??刂崎_銷:發(fā)送的控制數(shù)據(jù)不是有效的數(shù)據(jù),而轉(zhuǎn)發(fā)所消耗的能量對(duì)用戶來說是無效的。應(yīng)盡量減少。在軟件設(shè)計(jì)的時(shí)候應(yīng)加以注意。</p><p> 綜上所述,空閑偵聽的能量消耗并未得以妥善的解決,
48、而控制開銷的能量損耗已經(jīng)在程序設(shè)計(jì)過程中已經(jīng)減少到最小。而數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_的能量消耗就需要應(yīng)用另外的方法進(jìn)行減小。</p><p> 3.1.2減少無效功率的方式</p><p> 為了減小無線傳感器網(wǎng)絡(luò)的無效功耗,比較常用的方式有以下幾種。頻分復(fù)用(FDMA)的方式;實(shí)現(xiàn)無沖突的強(qiáng)制信道分配,屬于非碰撞的MAC協(xié)議。理論上可以避免碰撞,從而可以保實(shí)時(shí)性。但是在本次設(shè)計(jì)中由于hh20
49、的局限性,只能使用波特率為9600的頻率,使用不適合使用。競爭方式(CSMA/CA);它是基于競爭的MAC協(xié)議,節(jié)點(diǎn)可以使用信道并且不受其他節(jié)點(diǎn)的干擾。不需使用任何MAC控制包。但是實(shí)現(xiàn)方法復(fù)雜,軟件編寫繁瑣。與時(shí)分復(fù)用(TDMA),此方式為各個(gè)節(jié)點(diǎn)分配獨(dú)立的信道,在一個(gè)子節(jié)點(diǎn)發(fā)送數(shù)據(jù)的時(shí)候其他節(jié)點(diǎn)禁聲,而轉(zhuǎn)發(fā)的時(shí)候只有一個(gè)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),其他不是最短路徑上的節(jié)點(diǎn)就不進(jìn)行轉(zhuǎn)發(fā)。從而在同一時(shí)間,空間上只有一個(gè)信號(hào),從而不會(huì)進(jìn)行相互干擾。從而
50、減小甚至消除數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_所帶來的能量消耗</p><p> 綜上所述,時(shí)分復(fù)用是適用于本次設(shè)計(jì),并且并不繁瑣的一個(gè)減少甚至消除數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_所帶來的能量消耗的好算法。</p><p> 3.1.2時(shí)分復(fù)用的實(shí)現(xiàn)</p><p> 需要實(shí)現(xiàn)時(shí)分復(fù)用主要是在數(shù)據(jù)轉(zhuǎn)發(fā)與數(shù)據(jù)數(shù)據(jù)到達(dá)目標(biāo)地址之前,進(jìn)行一些算法上的規(guī)定。</p><p>
51、; 為了實(shí)現(xiàn)數(shù)據(jù)在轉(zhuǎn)發(fā)過程中能夠?qū)崿F(xiàn)時(shí)分復(fù)用,需要在程序中實(shí)現(xiàn)中繼地址轉(zhuǎn)發(fā)時(shí),只有一個(gè)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。其他節(jié)點(diǎn)不發(fā)送任何的數(shù)據(jù),為了使數(shù)據(jù)能夠最快的到達(dá)目的地址,需要使轉(zhuǎn)發(fā)的次數(shù)達(dá)到最少,從而引入了最短路徑的算法,會(huì)在后文中進(jìn)行分析。</p><p> 如果在某一個(gè)子節(jié)點(diǎn)正在發(fā)送數(shù)據(jù)的時(shí)候,另一個(gè)子節(jié)點(diǎn)也需要發(fā)送數(shù)據(jù)。此時(shí),后一個(gè)需要發(fā)送數(shù)據(jù)的子節(jié)點(diǎn)必須禁聲,既不能發(fā)送,只有當(dāng)前一個(gè)節(jié)點(diǎn)數(shù)據(jù)發(fā)送完畢之后才能讓下
52、一個(gè)子節(jié)點(diǎn)發(fā)送數(shù)據(jù)。</p><p> 通過這兩個(gè)規(guī)定就能實(shí)現(xiàn)時(shí)分復(fù)用,而程序中具體的實(shí)現(xiàn)語句見附錄1。</p><p> 3.2 最短路徑算法</p><p> 前文中以及得出數(shù)據(jù)在轉(zhuǎn)發(fā)的過程中,必須沿著一條路徑進(jìn)行轉(zhuǎn)發(fā)這樣才能防止數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_的發(fā)生。而這條路徑也必須是轉(zhuǎn)發(fā)次數(shù)最少的路徑,只有這樣才能使數(shù)據(jù)以最快的速度,最小的功耗到達(dá)目的地址。<
53、/p><p> 在實(shí)際使用工程中節(jié)點(diǎn)的擺放是有很多種的,而必須對(duì)節(jié)點(diǎn)的擺放進(jìn)行假設(shè)和抽象才能進(jìn)行實(shí)際的分析。</p><p> 3.2.1假設(shè)和抽象</p><p> 如圖3-1是實(shí)際使用中的網(wǎng)絡(luò)模型圖(在此我們只分析二維的,三維的可同理得到),我們就可以假設(shè)某個(gè)節(jié)點(diǎn)的坐標(biāo)為(i ,j)而它的四個(gè)附近的節(jié)點(diǎn)為(i - H, j),(i , j - H),(i +
54、H, j),(i , j + H)。(i - H, j),(i , j - H),稱為低鄰居節(jié)點(diǎn),(i + H, j),(i , j + H)稱為高鄰居節(jié)點(diǎn)。其中H為正整數(shù),是通信協(xié)議中的一個(gè)內(nèi)容稱為最大跳,會(huì)在后文中進(jìn)行說明。</p><p><b> 圖3-1</b></p><p> 而(i ,j)節(jié)點(diǎn)所能接收的信息只能來自(i - H, j),(i , j
55、 - H),(i + H, j),(i , j + H)。這四個(gè)節(jié)點(diǎn),如果不是這四個(gè)節(jié)點(diǎn)來的信息則會(huì)因?yàn)榫嚯x的原因而接收不到,這是在程序書寫過程中要盡量避免的。所以在這個(gè)假設(shè)條件下我們可以把實(shí)際的網(wǎng)絡(luò)模型抽象成如圖3-2所示的一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)。數(shù)據(jù)再能在連線的兩個(gè)節(jié)點(diǎn)中傳輸。</p><p><b> 圖3-2</b></p><p> 3.2.2 實(shí)現(xiàn)方法</
56、p><p> 由上述的假設(shè)和抽象,我們可以知道數(shù)據(jù)只能在連線的兩個(gè)節(jié)點(diǎn)中傳輸,不能從(0,0)傳輸?shù)剑?,1)。既任意節(jié)點(diǎn)(i ,j)在傳輸過程中只能傳輸?shù)礁哙従庸?jié)點(diǎn)或低鄰居節(jié)點(diǎn)中的任意一點(diǎn)。而最短路徑的傳輸要求每跳一次,即接近目標(biāo)節(jié)點(diǎn)一次。有了這些原則不難得到最短路徑的傳輸方法如圖3-3所示:</p><p><b> 圖3-3</b></p><
57、;p> 需要說明的是這里分析的是二維的情況,而在編程中使用的是三維的指標(biāo)系。原理相同,可以由二維的情況推導(dǎo)出三維的情況。并且在使用過程中有引入最大跳的概念,這個(gè)情況是最大跳H=1的情況,而H的數(shù)值為其他值的情況會(huì)在后文中進(jìn)行分析。最后就是優(yōu)先的問題,圖示的為X優(yōu)先的情況,X,Z優(yōu)先的情況也會(huì)在后文中進(jìn)行分析</p><p><b> 3.2 轉(zhuǎn)發(fā)算法</b></p>
58、<p> 轉(zhuǎn)發(fā)算法所需考慮的問題已在上文中全都提及了,這里就不多加贅述了。</p><p> 截止到上文為為止,基本的無線傳感器網(wǎng)絡(luò)已經(jīng)能夠正常工作了</p><p><b> 3.3地址設(shè)定</b></p><p> 在實(shí)際生產(chǎn)過程,為了實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)能普遍適用,重復(fù)利用以及交換使用。需要能夠通過集控器來進(jìn)行地址的設(shè)定,
59、通過把地址分為IP地址和硬件地址。IP地址為實(shí)際通訊構(gòu)成中使用的地址,硬件地址為單片機(jī)生產(chǎn)時(shí),直接寫在單片機(jī)中的ID標(biāo)識(shí)。IP地址和硬件地址的轉(zhuǎn)換叫做地址解析,通過集控器來完成。地址解析所使用的協(xié)議叫做地址解析協(xié)議。</p><p> 3.3.1 IP地址和硬件地址</p><p><b> ?。?)硬件地址</b></p><p> 硬件
60、地址已經(jīng)固化在單片機(jī)的ROM中,所以也可以被稱為物理地址。通過燒寫的時(shí)候進(jìn)行分片固化,既在集控器燒寫程序的時(shí)候,每一個(gè)單片機(jī)要有一個(gè)唯一的硬件地址。為了方便辨識(shí)和使用,可以將該地址打印出來貼在集控器上。硬件地址占4個(gè)字節(jié)。形式如下表所示</p><p> 表3-1 串行接口指令時(shí)序圖</p><p> 中央控制單元軟件依據(jù)硬件地址對(duì)集控器進(jìn)行初始化參數(shù),既設(shè)定IP地址。</p&
61、gt;<p><b> ?。?)IP地址</b></p><p> IP地址是在網(wǎng)絡(luò)通訊時(shí)網(wǎng)絡(luò)層上使用的地址,由于IP地址是由軟件實(shí)現(xiàn)的,所以又可以稱為邏輯地址,并沒有一個(gè)相應(yīng)的硬件和其對(duì)應(yīng),硬件地址的存在是為了在生產(chǎn)過程中區(qū)別單片機(jī)用的。而在實(shí)際使用過程中,用的都是IP的地址。而在整個(gè)網(wǎng)絡(luò)初始化的時(shí)候,需要對(duì)IP地址進(jìn)行設(shè)定。而IP地址的形式如下表所示</p>
62、<p> 表3-2 串行接口指令時(shí)序圖</p><p> 在網(wǎng)絡(luò)初始化的過程中,可以根據(jù)實(shí)際使用的需要,把帶有固定的硬件地址的單片機(jī)解析成IP地址。</p><p> 3.2 地址解析及其協(xié)議</p><p><b> ?。?)地址解析</b></p><p> 地址解析的作用是,把單片機(jī)生產(chǎn)過程中
63、固化在單片機(jī)內(nèi)部的物理地址(即ID標(biāo)識(shí))轉(zhuǎn)化為實(shí)際使用的IP地址。除了IP地址之外,還需要對(duì)跳級(jí)范圍進(jìn)行初始化設(shè)定。地址解析的過程包括兩個(gè)階段。</p><p> 第一階段、把收到的數(shù)據(jù)進(jìn)行解析,解析出所需要設(shè)定的物理地址(包括三個(gè)ID標(biāo)識(shí)),并且和單片機(jī)內(nèi)部固化的ID標(biāo)識(shí)進(jìn)行比對(duì)。如果有所不同,則程序返回主函數(shù),不進(jìn)行其他的任何操作。如果完全一樣,則進(jìn)入下一階段。</p><p>
64、第二階段、繼續(xù)對(duì)收到的數(shù)據(jù)進(jìn)行解析,解析出需要最終設(shè)定的IP地址(包括三個(gè)坐標(biāo))以及跳級(jí)的范圍。把IP地址寫入ROM,在以后的通訊過程中,就使用這個(gè)IP地址。并且可以具有掉電不消失的功能,以便在意外掉電或者重啟之后,能夠繼續(xù)正常使用。</p><p><b> (2)地址解析協(xié)議</b></p><p> 表3-3 地址解析協(xié)議</p><p
65、> 該地址解析協(xié)議意義特定,具體意義會(huì)在后文中進(jìn)行匯總,詳細(xì)表格見后文。</p><p> 3.4 ping功能</p><p> 3.4.1ping功能的作用</p><p> 在實(shí)際的生產(chǎn)應(yīng)用之中,有可能出現(xiàn)單個(gè)的傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)出現(xiàn)故障,而致使整個(gè)傳感器網(wǎng)絡(luò)或者是傳感器網(wǎng)絡(luò)的一部分不能接受或發(fā)送出信息。而又由于無線傳感器網(wǎng)絡(luò)遍布范圍之大不能夠依次
66、的實(shí)地檢驗(yàn)傳感器網(wǎng)絡(luò)是否通暢,這個(gè)需要就要求我們在設(shè)計(jì)無線傳感器網(wǎng)絡(luò)的過程中設(shè)計(jì)一個(gè)功能能夠在一個(gè)節(jié)點(diǎn)的位置上通過發(fā)送出一種指令,而這種指令通過某種協(xié)議能夠使我們檢驗(yàn)出無線傳感器網(wǎng)絡(luò)是否通暢。</p><p> 根據(jù)這個(gè)設(shè)計(jì)的思路,我們可以想象出ping功能的基本工作過程,就是想要檢驗(yàn)一條固定的無線傳感器網(wǎng)絡(luò)傳輸路徑能否通路,就可先由一個(gè)起始節(jié)點(diǎn)發(fā)送出一個(gè)傳輸指令,該指令必須包括一個(gè)字符是指出不是普通的命令而是
67、一個(gè)ping命令,該ping命令通過傳輸,最終到達(dá)目標(biāo)地址,而該目標(biāo)地址對(duì)得到的數(shù)據(jù)進(jìn)行解碼,最終的又生成一個(gè)指令,該指令的目標(biāo)地址為ping命令的起始地址,而我們將之稱為reping命令,該reping命令通過傳輸又回到了起始的地址,也就是ping命令的發(fā)出地址,只要該發(fā)出地址能夠接收到這個(gè)reping命令,地址就為通路,而如果沒有接收到這個(gè)命令就為斷路。知道該無線傳感器網(wǎng)絡(luò)為斷路之后又可以發(fā)出離起始地址較近的地址直到能接收到repi
68、ng命令為止,而這個(gè)能與不能接收到reping命令的臨界節(jié)點(diǎn)即為不能正常工作的節(jié)點(diǎn)。</p><p> 3.4.1ping功能的協(xié)議</p><p> 根據(jù)上文分析的ping功能的作用與工作方式,可以將ping功能的協(xié)議制定如下。定長16字節(jié)。根據(jù)前文中提到的地址設(shè)定等要求匯總與此表:</p><p> 表3-4 通訊協(xié)議格式</p><p
69、><b> 各部分如下表所示</b></p><p><b> 表3-5各部分含義</b></p><p> 著重強(qiáng)調(diào)其中類型與數(shù)據(jù)表示的意義為中央控制單元與控制器之間的命令,格式為如下,共3個(gè)字節(jié)</p><p> 表3-5中央控制單元與控制器之間的命令</p><p><b&
70、gt; 含義如下</b></p><p><b> 協(xié)議類型</b></p><p><b> 1代表Ping</b></p><p> 2代表Re ping</p><p> 3代表燈控/燈狀態(tài),使用數(shù)據(jù)狀態(tài)</p><p><b> 4代
71、表控制回復(fù)</b></p><p> 至此本次要考慮的軟件傳輸上的問題結(jié)束,具體的整個(gè)程序見附錄。</p><p><b> 4調(diào)試現(xiàn)象及說明</b></p><p> 通過上述的硬件和軟件的介紹和注意事項(xiàng)進(jìn)行硬件和軟件的設(shè)計(jì),最終設(shè)計(jì)出一套可以實(shí)際使用的實(shí)物系統(tǒng),對(duì)該地同進(jìn)行一定的調(diào)試。</p><p&g
72、t; 調(diào)試過程中,需要一個(gè)無線串口模塊和電腦的串口進(jìn)行直接相連,由電腦產(chǎn)生一個(gè)最原始的傳輸數(shù)據(jù)來模擬無線傳感器網(wǎng)絡(luò)內(nèi)部產(chǎn)生的傳輸?shù)臄?shù)據(jù)。通過操作計(jì)算機(jī)軟件通過無線串口模塊發(fā)射數(shù)據(jù)入無線傳感器網(wǎng)絡(luò),一一的進(jìn)行調(diào)試。示意圖如圖所示:</p><p> 以下對(duì)無線傳感器網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)的回復(fù)進(jìn)行一個(gè)說明,我們對(duì)前面已經(jīng)介紹過的地址的設(shè)定,控制命令的傳輸,ping命令等一一的進(jìn)行說明。</p><p
73、> 圖 4.1設(shè)地址成功不返回?cái)?shù)據(jù)</p><p> 前3位的數(shù)值為00 00 00 、代表是設(shè)地址的命令,單片機(jī)的id為01 01 01 01。id匹配之后進(jìn)行設(shè)地址命令,設(shè)定的地址是01 02 05。設(shè)定地址成功所以不返回?cái)?shù)據(jù)。</p><p> 圖 4.2 控制命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p> 中繼地址為01 02 05,起始地址
74、是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為03,代表是控制的命令。未到達(dá)目標(biāo)地址,從01 02 05 傳輸?shù)?1 02 03并且跳數(shù)為01跳,所以下一個(gè)中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為控制命令,所以其他位數(shù)不變。</p><p> 圖 4.3 控制命令 達(dá)到目的地址進(jìn)行燈光控制</p><p> 中繼地址為01 02 05,起始地址是01 0
75、1 01,目標(biāo)地址為01 02 05。倒數(shù)第4位為03,代表是控制的命令。到達(dá)目標(biāo)地址,所以進(jìn)行控制命令的執(zhí)行,沒有返回?cái)?shù)據(jù)。</p><p> 圖 4.4 ping命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p> 中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為01,代表是ping命令。未到達(dá)目標(biāo)地址,從01 02 05 傳輸?shù)?1 0
76、2 03并且跳數(shù)為01跳,所以下一個(gè)中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為ping命令,所以其他位數(shù)不變。</p><p> 圖 4.5 ping命令 達(dá)到目的地址的數(shù)據(jù)返回reping命令</p><p> 中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 05,倒數(shù)第4位為01,代表是ping命令。到達(dá)目標(biāo)地址,需要返回reping命
77、令,所以倒數(shù)第4位變成了02 ,并且在reping命令中是從01 02 05起始的,目標(biāo)地址為01 01 01 。即需要將起始地址和目標(biāo)地址進(jìn)行互換。</p><p> 圖 4.4 ping命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p> 中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為02,代表是reping命令。未到達(dá)目標(biāo)地址,從01
78、 02 05 傳輸?shù)?1 02 03并且跳數(shù)為01跳,所以下一個(gè)中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為reping命令,所以其他位數(shù)不變。</p><p> 圖 4.4 reping命令 達(dá)到目的地址</p><p> 中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 05。倒數(shù)第4位為02,代表是reping命令。到達(dá)目標(biāo)地址,進(jìn)行一定
79、的控制顯示網(wǎng)絡(luò)通路。</p><p><b> 結(jié)論</b></p><p> 通過前后將近5個(gè)月的硬件設(shè)計(jì),軟件調(diào)試。得出了以下幾個(gè)結(jié)論:</p><p> 1、89c5612和基于cc1101的無線串口通訊模塊的硬件確實(shí)可以完成無線傳感器網(wǎng)絡(luò)通訊的任務(wù)。</p><p> 2、本次設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)確實(shí)可以
80、完成數(shù)據(jù)自行通訊,自行按最短路徑傳輸完成通信任務(wù)。</p><p> 3、這套軟件確實(shí)可以完成地址設(shè)定,網(wǎng)絡(luò)是否通暢的檢查。</p><p> 4、采用的無線串口通訊模塊和89c5612單片機(jī),都是功耗較小的模塊,所以整體耗能較小。</p><p> 除了實(shí)現(xiàn)的功能之外,本次設(shè)計(jì)還有以下的一些不足之處:由于基于cc1101的無線串口模塊比較昂貴,所以整個(gè)無線傳
81、感器網(wǎng)絡(luò)的構(gòu)建是成本是計(jì)較昂貴的。這限制了無線傳感器網(wǎng)絡(luò)的搭建和使用。還有就是最短路徑算法是基于一定的抽象和假設(shè)的前提之下,可能不能真正的達(dá)到最短路徑傳輸?shù)哪康摹S幸欢ǖ馁Y源的浪費(fèi)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]郁有文,常健,程續(xù)紅.傳感器原理及工程應(yīng)用[TP].西安:西安電子科技大學(xué)出版社,2003</p>
82、<p> [2] 陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[TP].電子工業(yè)出版社.2009.3.</p><p> [3] 汪 濤.無線傳感器技術(shù)導(dǎo)論[TP].清華大學(xué)出版社.2008.2.</p><p> [4] 崔遜學(xué),左從菊.無線傳感器網(wǎng)絡(luò)簡明教程[TP]. 清華大學(xué)出版社. 2009.7.</p><p> [5] 李文峰.無線傳感器網(wǎng)絡(luò)與移
83、動(dòng)機(jī)器人控制[TP].科學(xué)出版社.2009.1.</p><p> [6] 崔遜學(xué),趙 堪,王成.無線傳感器網(wǎng)絡(luò)的領(lǐng)域應(yīng)用與技術(shù)設(shè)計(jì)[TP].國防工業(yè)出版社.2009.5.</p><p> [7] 李朝青.單片機(jī)原理及接口技術(shù).北京航空航天大學(xué)出版社.2005.10</p><p> [8] 王玲芳,費(fèi) 嵐,嚴(yán)正香.移動(dòng)無線傳感器網(wǎng)——原理、應(yīng)用和發(fā)展方向.
84、機(jī)械工業(yè)出版社.2010.1</p><p> [9] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第5版).電子工業(yè)出版社.2010.4</p><p> [10] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京航空航天大學(xué)出版社,1999.</p><p> [11] 黎連業(yè),郭春芳,向東明.無線網(wǎng)絡(luò)及其應(yīng)用技術(shù).清華大學(xué)出版社,2004.</p&
85、gt;<p> [12] 孫利民, 李建忠等.無線傳感器網(wǎng)絡(luò).清華大學(xué)出版社, 2005.5.</p><p> [13] 張少軍.無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用.中國電力出版社,2010. </p><p> [14] 孫增圻,張?jiān)倥d,鄧志東.智能控制理論與技術(shù).清華大學(xué)出版社,1997</p><p> [15] 倪志蓮.單片機(jī)應(yīng)用技術(shù)[M].北
86、京理工大學(xué)出版社, 2007.06.</p><p> [16] 胡漢才.單片原理及其接口技術(shù)[M].北京清華大學(xué)出版社.2008</p><p> [17] 李曉維,徐勇軍,任豐原.無線傳感器網(wǎng)絡(luò)技術(shù)[M].北京理工大學(xué)出版社, 2007.</p><p> [18] 孫利民,李建中,陳 渝等.無線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社, 2005.</p&
87、gt;<p> [19]Tilak S, Abu- Ghazaleh N B, Heinzelman W. A Taxonomy of Wireless Micro- Sensor Network Models. Mobile Computing and communications review. 2002.</p><p> [20] T. Hunter and A. Nosratinia.
88、 Cooperation Diversity Through Coding. Proc. International Symposium on Information Theory,2002</p><p><b> 附錄</b></p><p> #include <STC12C56.h></p><p> #include
89、 "Glob.H"</p><p> //在此全局定義默認(rèn)地址</p><p> extern unsigned char Addr_DY;</p><p> extern unsigned char Addr_Z;</p><p> extern unsigned char Addr_X;</p>
90、<p> //宏定義單片機(jī)id,方式有待改進(jìn)</p><p> #define ID0 2</p><p> #define ID1 2</p><p> #define ID2 2</p><p> #define ID3 2</p><p> //全局定義默認(rèn)跳級(jí)</p><
91、;p> extern unsigned char Max_Y;</p><p> extern unsigned char Max_Z;</p><p> extern unsigned char Max_X;</p><p> void SendFrame0(unsigned char cmd,unsigned char data1,unsigned
92、 char data2,unsigned char data3,unsigned char data4,unsigned char sumd); </p><p> //sbit Led_Com=P1^3;//紅外通信</p><p> bit Led_Com;</p><p> unsigned char Senddata[16]; </p>
93、<p> unsigned char Rev_i=0; </p><p> unsigned char RevData[16]; //接受字節(jié) </p><p> unsigned char framdata[16];</p><p> unsigned char Send_i=0;&
94、lt;/p><p> bit Com_ROK=0;</p><p> bit Com_SOK=1;</p><p> bit FindCom=0;</p><p> //--------------------------------------------------------------------------------</
95、p><p> unsigned char AUXR0;</p><p> bit EADC_SPI0;</p><p> void CloseInit()</p><p> { AUXR0=AUXR;</p><p> EADC_SPI0=EADC_SPI;</p><p> AUXR=
96、0X00;</p><p> EADC_SPI=0;</p><p><b> }</b></p><p> //--------------------------------------------------------------------------------</p><p> void SendF
97、rame1() </p><p> { unsigned char fori; </p><p> for(fori=0;fori<16;fori++)</p><p> Senddata[fori]=framdata[fori];</p><p><b> Send_i=0;</b></p>
98、<p> CloseInit();</p><p> SBUF=Senddata[0];</p><p> Com_SOK=0;</p><p> while(!Com_SOK);</p><p><b> }</b></p><p> //----------------
99、----------------------------------------------------------------</p><p> void FrameProcess()</p><p><b> { </b></p><p> unsigned char fchange; //目標(biāo)地址和源地址交換用的變量</p&
100、gt;<p> //SendFrame0(0xf7,0x33,0x11,0x11,0x11,0x11);</p><p> if((framdata[1]==Addr_DY)&&(framdata[2]==Addr_Z)&&(framdata[3]==Addr_X)) //中繼地址判斷</p><p><b> { <
101、;/b></p><p> if((framdata[5]==Addr_DY)&&(framdata[6]==Addr_Z)&&(framdata[7]==Addr_X)) //目的地址判斷</p><p><b> { </b></p><p> if(framdata[12]==0x01)
102、 //ping命令,需要回復(fù)</p><p><b> {</b></p><p> fchange=framdata[5];</p><p> framdata[5]=framdata[8];</p><p> framdata[8]=fchange;</p><p> fchange
103、=framdata[6];</p><p> framdata[6]=framdata[9];</p><p> framdata[9]=fchange;</p><p> fchange=framdata[7];</p><p> framdata[7]=framdata[10];</p><p> fra
104、mdata[10]=fchange; //起始地址,目的地址交換</p><p> framdata[12]=2; // 回復(fù)reping </p><p> //生成新的中繼地址 </p><p> if(framdata[4]==1)//Z優(yōu)先</p><p><b> { //層跳</b&g
105、t;</p><p> if(Addr_Z<framdata[6]) //正向跳</p><p><b> { </b></p><p> unsigned char D_Addr=framdata[6]-Addr_Z; </p><p> if(D_Addr>Max_Z)</p>&
106、lt;p> { framdata[2]=Addr_Z+Max_Z;</p><p><b> }</b></p><p><b> else</b></p><p> { framdata[2]=framdata[6];</p><p><b> }</b>&l
107、t;/p><p><b> }</b></p><p> else if(Addr_Z>framdata[6]) //反向跳</p><p><b> {</b></p><p> unsigned char D_Addr=Addr_Z-framdata[6];</p>&
108、lt;p> if(D_Addr>Max_Z)</p><p> { framdata[2]=Addr_Z-Max_Z; </p><p><b> }</b></p><p><b> else</b></p><p> { framdata[2]=framdata[6];
109、</p><p><b> }</b></p><p><b> }</b></p><p><b> else//同層跳</b></p><p><b> { </b></p><p> if(Addr_X&
110、lt;framdata[7]) //正向跳</p><p> { unsigned char D_Addr=framdata[7]-Addr_X;</p><p> if(D_Addr>Max_X)</p><p> { framdata[3]=Addr_X+Max_X;</p><p><b> }</b>
111、;</p><p><b> else</b></p><p> { framdata[3]=framdata[7];</p><p><b> }</b></p><p><b> }</b></p><p> else if(Addr_X&
112、gt;framdata[7]) //反向跳</p><p><b> {</b></p><p> unsigned char D_Addr=Addr_X-framdata[7];</p><p> if(D_Addr>Max_X)</p><p> { framdata[3]=Addr_X-Max_X;
113、 </p><p><b> }</b></p><p><b> else</b></p><p> { framdata[3]=framdata[7];</p><p><b> } </b></p><p><b> }<
114、/b></p><p><b> }</b></p><p><b> }</b></p><p> else if(framdata[4]==2)//X優(yōu)先</p><p><b> {//同層跳</b></p><p> if(Ad
115、dr_X<framdata[7]) //正向跳</p><p> { unsigned char D_Addr=framdata[7]-Addr_X;</p><p> if(D_Addr>Max_X)</p><p> { framdata[3]=Addr_X+Max_X;</p><p><b> }<
116、/b></p><p><b> else</b></p><p> { framdata[3]=framdata[7];</p><p><b> }</b></p><p><b> }</b></p><p> else if(Ad
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)【文獻(xiàn)綜述】
- 位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)【開題報(bào)告】
- 位置固定節(jié)點(diǎn)的無線傳感器網(wǎng)絡(luò)廣播算法研究【畢業(yè)設(shè)計(jì)】
- 無線傳感器網(wǎng)絡(luò)路由協(xié)議研究【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 空氣濕度監(jiān)測無線傳感器網(wǎng)絡(luò)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于無線傳感器網(wǎng)絡(luò)的溫度采集與管理系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 無位置傳感器無刷電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述無線傳感器系統(tǒng)的設(shè)計(jì)
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述無線傳感器系統(tǒng)的設(shè)計(jì)
- 開題報(bào)告(無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn))
- 位置固定節(jié)點(diǎn)的無線傳感網(wǎng)絡(luò)廣播算法研究【開題報(bào)告】
- 基于timac的cc2530無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[文獻(xiàn)綜述]
- 基于wince的無線傳感器數(shù)據(jù)采集軟件的實(shí)現(xiàn)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 基于remoti的cc2530無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[文獻(xiàn)綜述]
- 基于無線傳感網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 無線傳感器系統(tǒng)的設(shè)計(jì)【文獻(xiàn)綜述】
- 基于remoti的cc2530無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[開題報(bào)告]
- 無線傳感器網(wǎng)絡(luò)的應(yīng)用[文獻(xiàn)綜述]
- 空氣濕度監(jiān)測無線傳感器網(wǎng)絡(luò)設(shè)計(jì)【文獻(xiàn)綜述】
評(píng)論
0/150
提交評(píng)論