摘è¦ï¼šç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)çµ¡é€šå¸¸é‡‡ç”¨é›»æ± ä¾›é›»ï¼Œæ”¾ç½®åœ¨æ²’æœ‰åŸºç¤Žçµæ§‹çš„地方,節(jié)點的通信能力å分有é™ã€‚é€™å°±è¦æ±‚傳感器節(jié)點具有自組織的能力,自動形æˆè½‰ç™¼(fÄ)監(jiÄn)測數(shù)據(jù)的多跳無線網(wÇŽng)絡。本文æå‡ºä¸€ç¨®ç°¡å–®ã€æ˜“實ç¾(xià n)的自組織å”(xié)è°ï¼Œé¸ç”¨MSP430F149單片機è¨è¨ˆå¾®åž‹å‚³æ„Ÿå™¨ç¯€(jié)點,并實ç¾(xià n)了一種低功耗無線網(wÇŽng)絡。
é—œéµè©žï¼šç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)絡 自組織å”(xié)è° ä½ŽåŠŸè€—
引言
無線傳感器網(wÇŽng)絡具有éžå¸¸å»£é—Šçš„æ‡‰ç”¨å‰æ™¯ã€‚一種傳統(tÇ’ng)的洪泛算法(Floodingï¼‰ï¼Œä¹Ÿæ˜¯æœ€æ—©ã€æœ€ç°¡å–®çš„路由å”(xié)è°ã€‚節(jié)點以廣æ’的形å¼ç™¼(fÄ)逿¶ˆæ¯ï¼ŒæŽ¥æ”¶åˆ°æ¶ˆæ¯çš„節(jié)點å†ä»¥å»£æ’å½¢å¼è½‰ç™¼(fÄ)數(shù)據(jù)包給所有的鄰節(jié)點,這個éŽç¨‹é‡å¾©åŸ·(zhÃ)行,直到數(shù)據(jù)包到é”目的地或者é”到é å…ˆè¨å®šçš„æœ€å¤§è·³æ•¸(shù)。æå‡ºäº†æœ€å…·ä»£è¡¨æ€§çš„層次型自組織算法(LEACH,Low Energy Adaptive Clustering Hierarchy)。LEACH是MITçš„Heinzelmanç‰äººç‚ºç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)絡è¨è¨ˆçš„ä½ŽåŠŸè€—è‡ªé©æ‡‰èšé¡žè·¯ç”±ç®—法,主è¦é€šéŽéš¨æ©Ÿé¸æ“‡èšé¡žé¦–é ˜ã€å¹³å‡åˆ†æ”¤ä¸ç¹¼é€šä¿¡æ¥(yè)務來實ç¾(xià n)。以數(shù)據(jù)為ä¸å¿ƒçš„自組織算法SPIN(Sensor Protocols for Information Via Negotiationï¼‰ã€‚å®ƒçš„ä¸»è¦æ€æƒ³æ˜¯é€šéŽé«˜å±¤çš„æè¿°æ–¹å¼â€”元數(shù)據(jù)來命å傳感數(shù)據(jù)。在發(fÄ)é€çœŸå¯¦çš„æ•¸(shù)據(jù)之å‰ï¼Œå‚³æ„Ÿå™¨ç¯€(jié)點廣æ’采集數(shù)據(jù)çš„æè¿°ä¿¡æ¯å…ƒæ•¸(shù)據(jù)ï¼Œç•¶æœ‰ç›¸æ‡‰çš„è«‹æ±‚æ™‚ï¼Œæ‰æœ‰ç›®çš„地發(fÄ)逿•¸(shù)據(jù)ä¿¡æ¯ã€‚é€™äº›ç ”ç©¶å‡åœ¨ç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)絡的自組織算法上å–得進展,但是,F(xià n)loodingå˜åœ¨æ¶ˆæ¯â€œå…§çˆ†â€å’Œâ€œé‡ç–Šâ€çš„缺陷;LEACH的動態(tà i)分簇帶來了拓撲變æ›å’Œå¤§é‡å»£æ’這樣的é¡å¤–開銷;SPINä¸çš„元數(shù)據(jù)沒有統(tÇ’ng)一的形å¼ï¼Œä¸”å…¶æ‹“æ’²è®ŠåŒ–æ˜¯å±€éƒ¨æ€§çš„ï¼Œå› æ¤ä¸é©ç”¨äºŽéœ€è¦é«˜å¯é 性的應用。還有很多其他相關算法åœç•™åœ¨ç†è«–ç ”ç©¶éšŽæ®µã€‚
é‡å°é€™ç¨®ç ”ç©¶ç¾(xià n)狀,本文æå‡ºä¸€ç¨®ç°¡å–®æ˜“實ç¾(xià n)的自組織å”(xié)è°ï¼Œé¸ç”¨MSP430F149單片機è¨è¨ˆäº†å¾®åž‹å‚³æ„Ÿå™¨ç¯€(jié)點,并實ç¾(xià n)了一種低功耗無線網(wÇŽng)絡。
1.自組織å”(xié)è°
在å”(xié)è°ä¸ï¼Œé€šéŽå®šç¾©æ•¸(shù)據(jù)åŒ…çš„æ ¼å¼å’Œé—œéµå—來實ç¾(xià n)節(jié)點的自組織。
1.1 å”(xié)è°æ ¼å¼
自組織å”(xié)è°æ ¼å¼å¦‚下:

å…¶ä¸ï¼ŒPre表示å‰å°Žç¢¼ï¼Œé€™äº›å—符雜波ä¸å®¹æ˜“產(chÇŽn)ç”Ÿï¼Œé€šéŽæ¸¬è©¦å’Œè©¦é©—發(fÄ)ç¾(xià n),噪è²ä¸ä¸å®¹æ˜“產(chÇŽn)生0x55å’Œ0xAAç‰éžå¸¸æœ‰è¦(guÄ«)律的信號;Key表示關éµå—,用來å€(qÅ«)分å„種情æ³ä¸‹çš„æ•¸(shù)據(jù),接收節(jié)é»žæœƒæ ¹æ“š(jù)這些關éµå—分別進入ä¸åŒçš„æ•¸(shù)據(jù)處ç†å–®å…ƒï¼›From表示æºåœ°å€ï¼Œæ˜¯ç™¼(fÄ)逿•¸(shù)據(jù)的節(jié)點自身信æ¯ï¼›Final表示數(shù)據(jù)的目標地å€ï¼›Data表示有效數(shù)據(jù),這些數(shù)據(jù)隨著å—符Keyçš„ä¸åŒé‡‡ç”¨ä¸åŒçš„æ ¼å¼ï¼Œå¯æ”œå¸¶ä¸åŒçš„ä¿¡æ¯ï¼›Check表示檢驗ä½ï¼Œå¯é¿å…接收錯誤的數(shù)據(jù)包;Flag表示數(shù)據(jù)åŒ…çš„çµæŸæ¨™å¿—ä½ã€‚
æ ¹æ“š(jù)å”(xié)è°æ ¼å¼ä¸çš„Key,å¯ä»¥å°‡ç¯€(jié)點通信時æŽå¸¶çš„æ•¸(shù)據(jù)包分為自組網(wÇŽng)ä¿¡æ¯ã€ç’°(huán)境çªè®Šä¿¡æ¯ã€ä¸Šä½æ©Ÿçš„æŽ§åˆ¶å‘½ä»¤ã€å»£æ’ä¿¡æ¯ç‰ã€‚節(jié)點在發(fÄ)é€ç‹€æ…‹(tà i)çªè®Šæ™‚的數(shù)據(jù)åŒ…æ ¼å¼å¦‚下:

å…¶ä¸ï¼Œ0x55å’Œ0xAA為數(shù)據(jù)å‰å°Žç¢¼ï¼Œ0xFF為傳感器節(jié)點在感測到其狀態(tà i)çªè®Šæ™‚å‘外發(fÄ)逿•¸(shù)據(jù)的關éµå—,0x11表示發(fÄ)é€ç¯€(jié)點的地å€ï¼Œ0x00為數(shù)據(jù)包è¦åˆ°é”的目標地å€ï¼Œ0x01表示數(shù)據(jù)包在網(wÇŽng)絡傳輸ä¸çš„跳數(shù),接著的0x01表示節(jié)點在當å‰ç¶²(wÇŽng)絡ä¸çš„級別,0x15表示節(jié)點當時采集的溫度,0x20表示節(jié)點當時采集的電æºé›»å£“值,0x03表示節(jié)點的狀態(tà i)é‡, 0x00…0x00為11個å—節(jié)的有效數(shù)據(jù),å¯è¨˜éŒ„數(shù)據(jù)包經(jÄ«ng)éŽç¯€(jié)點的地å€ï¼Œ0x3A為å‰é¢æ ¸å¿ƒæ•¸(shù)據(jù)和的低8ä½ï¼Œä½œç‚ºæ•¸(shù)據(jù)包的檢驗碼,0xBB為數(shù)據(jù)åŒ…çš„çµæŸæ¨™å¿—。
接收節(jié)點需è¦å‘發(fÄ)é€ç¯€(jié)點åšå‡ºæ‡‰ç”,應ç”狀態(tà i)çªè®Šæ™‚的數(shù)據(jù)åŒ…æ ¼å¼å¦‚下:

å…¶ä¸ï¼Œ0xFF就表示應ç”狀態(tà i)çªè®Šçš„é—œéµå—,åŽé¢åˆ†åˆ¥æ˜¯ç™¼(fÄ)é€ç¯€(jié)點和接收節(jié)點的地å€ã€‚
1.2 自組網(wÇŽng)éŽç¨‹
ç¶²(wÇŽng)絡包å«ä¸€å€‹èˆ‡ä¸Šä½æ©Ÿç›¸é€£æŽ¥çš„基站節(jié)點和若干傳感器節(jié)點。基站節(jié)點上電åˆå§‹åŒ–åŽå°±é€²å…¥ä½ŽåŠŸè€—æ¨¡å¼ã€‚傳感器節(jié)點隨機布放,上電åˆå§‹åŒ–åŽï¼Œå‚³æ„Ÿå™¨ç¯€(jié)點首先會å‘基站節(jié)點發(fÄ)出請求分é…級別的命令,然åŽé€²å…¥ä½ŽåŠŸè€—ç‹€æ…‹(tà i)并打開定時器。若在è¨å®šæ™‚間內收到基站節(jié)點分é…的級別,該傳感器節(jié)點就會å‘基站節(jié)點發(fÄ)é€è‡ªçµ„織信æ¯çš„æ•¸(shù)據(jù)包。如果在è¨å®šæ™‚間內沒有收到基站節(jié)點分é…的級別,該節(jié)點會從低功耗狀態(tà i)å–šé†’ï¼Œå†æ¬¡ç™¼(fÄ)é€è«‹æ±‚分é…級別的命令,如æ¤å¾ªç’°(huán)。當傳感器節(jié)點發(fÄ)出請求基站分é…級別的命令é”到è¨å®šä¸Šé™åŽï¼Œä½†ä»ç„¶æ²’有確定自己在網(wÇŽng)絡ä¸çš„級別時,該節(jié)點就會å‘全網(wÇŽng)發(fÄ)出廣æ’命令,然åŽé€²å…¥ä½ŽåŠŸè€—ç‹€æ…‹(tà i)并打開定時器。定時時間到,節(jié)é»žé‡æ–°å›žåˆ°ç™¼(fÄ)射廣æ’命令狀態(tà i)。當傳感器節(jié)點發(fÄ)射廣æ’的次數(shù)é”到è¨å®šå€¼æ™‚,該節(jié)點就會將接收到的應ç”ä¿¡æ¯é€²è¡Œæ•´ç†ï¼Œç¢ºå®šè‡ªå·±åœ¨ç¶²(wÇŽng)絡ä¸çš„級別,并確定上級ã€åŒç´šå’Œä¸‹ç´šç¯€(jié)點的相關信æ¯ã€‚該節(jié)點å†å‘上級節(jié)點發(fÄ)é€åŒ…å«é€™äº›ä¿¡æ¯çš„æ•¸(shù)據(jù)包,直到數(shù)據(jù)包傳é€åˆ°åŸºç«™ç¯€(jié)點,從而確定整個網(wÇŽng)çµ¡çš„æ‹“æ’²çµæ§‹ã€‚節(jié)點的自組織æµç¨‹å¦‚圖1所示。

圖1 節(jié)點的自組織æµç¨‹
2ã€ç¡¬ä»¶ç ”制
ç‚ºäº†é©—è‰æå‡ºçš„è‡ªçµ„ç¹”å”(xié)è°ï¼Œæœ¬æ–‡é¸ç”¨äº†ç‰‡ä¸Šè³‡æºè±å¯Œçš„MSP430F149單片機作為處ç†å™¨ï¼Œç ”制了一種微型傳感器節(jié)點。
2.1 總體方案
系統(tÇ’ng)由基站節(jié)點和傳感器節(jié)點組æˆã€‚節(jié)é»žç¡¬ä»¶é¸æ“‡äº†æ”¯æŒä½ŽåŠŸè€—å·¥ä½œæ¨¡å¼çš„MSP430F149單片機和nRF905å°„é »æ¨¡å¡Šï¼Œä½¿ç”¨32 768 Hzçš„ä½Žé »æ™¶æŒ¯ï¼Œé‡‡ç”¨2節(jié)5è™Ÿé›»æ± ä¾›é›»ã€‚åœ¨è¨è¨ˆç¯€(jié)點的éŽç¨‹ä¸ï¼Œæ’¥ç¢¼é–‹é—œã€èœ‚鳴器ã€LCD指示燈的è¨è¨ˆæ¥µå¤§æ–¹ä¾¿äº†å¯¦é©—的調試。
2.2 節(jié)點è¨è¨ˆ
圖2為傳感器節(jié)點的框圖,該節(jié)é»žä½¿ç”¨é›»æ± ä¾›é›»ï¼Œé«”ç©å°å·§ï¼Œåªæœ‰æ‰“ç«æ©Ÿèˆ¬å¤§å°ã€‚
圖2 傳感器節(jié)點框圖
MSP430系列單片機是TIå…¬å¸ç”Ÿç”¢(chÇŽn)的一種混åˆä¿¡è™ŸæŽ§åˆ¶å™¨ï¼Œå…¶çªå‡ºå„ª(yÅu)點是低電æºé›»å£“ã€è¶…低功耗,å¯é‡‡ç”¨é›»æ± 工作,有很長的使用時間。
nRF905是挪å¨Nordic VLSIå…¬å¸æŽ¨å‡ºçš„å–®ç‰‡å°„é »æ”¶ç™¼(fÄ)器,低電壓工作,功耗éžå¸¸ä½Žï¼Œå·¥ä½œäºŽ433/868/915 MHz三個ISM(工æ¥(yè)ã€ç§‘å¸å’Œé†«(yÄ«)å¸ï¼‰é »é“ï¼Œé »é“ä¹‹é–“çš„è½‰æ›æ™‚é–“å°äºŽ650 μs。ShockBurstTM工作模å¼ï¼Œèƒ½è‡ªå‹•處ç†å—é å’ŒCRC(循環(huán)å†—ä½™ç¢¼æ ¡é©—ï¼‰ã€‚é€šéŽSPI串å£èˆ‡å¾®æŽ§åˆ¶å™¨é€šä¿¡ï¼Œä½¿ç”¨éžå¸¸æ–¹ä¾¿ï¼›å…§å»ºç©ºé–‘模å¼èˆ‡é—œæ©Ÿæ¨¡å¼ï¼Œæ˜“于實ç¾(xià n)節(jié)能。nRF905é©ç”¨äºŽç„¡ç·šæ•¸(shù)據(jù)通信ã€ç„¡ç·šé–‹éŽ–ç‰è«¸å¤šé ˜åŸŸã€‚
天線的è¨è¨ˆæ˜¯æ•´å€‹ç³»çµ±(tÇ’ng)è¨è¨ˆçš„一個éžå¸¸é‡è¦çš„ç’°(huán)節(jié)。系統(tÇ’ng)功耗的高低以åŠç¶²(wÇŽng)絡性能的好壞與天線的è¨è¨ˆéƒ½æœ‰å¯†åˆ‡é—œç³»ã€‚天線部分的è¨è¨ˆé‡‡ç”¨æ•´é«”PCBç’°(huán)行差分天線。與傳統(tÇ’ng)çš„éžç‹€å¤©ç·šç›¸æ¯”,ä¸åƒ…節(jié)çœç©ºé–“,é™ä½Žç”Ÿç”¢(chÇŽn)æˆæœ¬ï¼Œæ©Ÿæ§‹ä¸Šä¹Ÿæ›´ç©©(wÄ›n)固å¯é 。
å› ç‚ºæœ¬æ–‡ä¸»è¦ç ”究無線傳感器網(wÇŽng)絡的自組網(wÇŽng)和低功耗技術,所以åªé¸æ“‡äº†MSP430系列單片機的內部集æˆç†±æ•二極管來測é‡ç¯€(jié)點的工作溫度,但é 留了大é‡å¤–接傳感器接å£ï¼Œå¤–æŽ¥å‚³æ„Ÿå™¨çš„ä¿¡è™Ÿèƒ½ä»¥ä¸æ–·æ–¹å¼å–šé†’節(jié)點。
2.3 系統(tǒng)功耗
傳感器節(jié)é»žé‡‡ç”¨é›»æ± ä¾›é›»ï¼ŒåŠŸè€—çš„é«˜ä½Žç›´æŽ¥å½±éŸ¿æ•´å€‹ç¶²(wÇŽng)絡的生命期。系統(tÇ’ng)的功耗ä¸åƒ…èˆ‡é¸æ“‡çš„元器件有關,還與整個網(wÇŽng)絡的控制ç–略有關。采用ä¸åŒçš„æŽ§åˆ¶ç–略,系統(tÇ’ng)的工作時間就會ä¸åŒã€‚若希望節(jié)點工作一年的時間(365×24=8 760å°æ™‚),則ç†è«–ä¸Šè¦æ±‚å¹³å‡å·¥ä½œé›»æµç´„為263 μA(2 300÷8 760)。發(fÄ)射數(shù)據(jù)到接收應ç”的工作時間約為50msï¼Œé€™æ¨£å¯æŽ¨ç®—å‡ºæ¯æ¬¡å·¥ä½œå‰çš„å¹³å‡ä¼‘çœ æ™‚é–“ç‚º2.3s。實際應用ä¸ï¼Œå¯ä»¥æ ¹æ“š(jù)ç¶²(wÇŽng)çµ¡çš„åæ‡‰é€Ÿåº¦å’Œä¿¡æ¯çš„é‡‡æ¨£çŽ‡ä¾†é¸æ“‡ç³»çµ±(tÇ’ng)å·¥ä½œå’Œä¼‘çœ çš„æ™‚é–“ã€‚
3ã€è»Ÿä»¶é–‹ç™¼(fÄ)
低功耗系統(tÇ’ng)çš„è¨è¨ˆæ˜¯ä¸€ç¨®ç¶œåˆç¡¬ä»¶å’Œè»Ÿä»¶ç‚ºä¸€é«”çš„æŠ€è¡“ï¼Œå¿…é ˆåœ¨ä½¿ç”¨ä½ŽåŠŸè€—èŠ¯ç‰‡çš„åŒæ™‚,采用智能的控制ç–略。例如,讓系統(tÇ’ng)在需è¦å·¥ä½œæ™‚全速é‹è¡Œï¼›è€Œç•¶æ•´å€‹ç³»çµ±(tÇ’ng)處ç†å®Œäº‹ä»¶å°±é€²å…¥ä½ŽåŠŸè€—æ¨¡å¼ï¼Œç‰å¾…外部事件的喚醒。
系統(tÇ’ng)軟件包括基站節(jié)點軟件ã€å‚³æ„Ÿå™¨ç¯€(jié)é»žè»Ÿä»¶å’Œä¸Šä½æ©Ÿè™•ç†è»Ÿä»¶ã€‚
3.1 基站節(jié)點軟件
基站節(jié)é»žçš„ä¸»ç¨‹åºæ¯”較簡單,åˆå§‹åŒ–åŽå°±é€²å…¥ä½ŽåŠŸè€—æ¨¡å¼ï¼Œç‰å¾…外部事件喚醒。外部事件包括串å£ä¸æ–·äº‹ä»¶ã€æŽ¥æ”¶åˆ°æ•¸(shù)據(jù)äº‹ä»¶å’Œå®šæ™‚å™¨çš„ä¸æ–·äº‹ä»¶ã€‚
圖3給出了基站節(jié)點的串å£ä¸æ–·æµç¨‹ã€‚
圖3 基站節(jié)點串å£ä¸æ–·æµç¨‹
為了防æ¢ä¸²å£é€šä¿¡éŽç¨‹ä¸ä¸Ÿå¤±æ•¸(shù)據(jù),軟件è¨è¨ˆä¸ŠåŠ äº†æ¡æ‰‹å”(xié)è°ã€‚當基站節(jié)點æ¯ç™¼(fÄ)é€ä¸€å€‹æ•¸(shù)據(jù)åŒ…çµ¦ä¸Šä½æ©Ÿæ™‚ï¼Œä¸Šä½æ©Ÿéƒ½æœƒå‘基站節(jié)點發(fÄ)逿‡‰ç”信號,直到數(shù)據(jù)包發(fÄ)é€çµ¦ä¸Šä½æ©Ÿã€‚接收到數(shù)據(jù)包åŽï¼Œç¯€(jié)點會從低功耗模å¼ä¸å–šé†’,æ ¹æ“š(jù)接收到的數(shù)據(jù)䏿¨™å¿—ä½çš„ä¸åŒå—符分別進入ä¸åŒçš„處ç†å–®å…ƒã€‚
當多個傳感器節(jié)é»žåŒæ™‚與æŸå€‹å‚³æ„Ÿå™¨ç¯€(jié)點通信時,å˜åœ¨æŽ™æ¶ä¿¡é“çš„ç¾(xià n)象。為了é¿å…多個傳感器節(jié)é»žåŒæ™‚與æŸå€‹å‚³æ„Ÿå™¨ç¯€(jié)é»žé€šä¿¡é€ æˆæ•¸(shù)據(jù)ä¸Ÿå¤±ï¼Œè»Ÿä»¶ä¸Šé‡‡ç”¨ä¸€å®šçš„é€€é¿æ©Ÿåˆ¶ã€‚一方é¢ï¼Œåˆ©ç”¨å°„é »èŠ¯ç‰‡nRF905çš„CD(載波åµè½ï¼‰ä¿¡è™Ÿä¾†ç”¢(chÇŽn)生隨機延時,以é¿å…åŒæ™‚發(fÄ)é€ä¿¡è™Ÿï¼›å¦ä¸€æ–¹é¢ï¼Œç•¶ä¸€å€‹å‚³æ„Ÿå™¨ç¯€(jié)點與æŸå€‹å‚³æ„Ÿå™¨ç¯€(jié)é»žå»ºç«‹äº†é€šä¿¡é€šé“æ™‚,其他發(fÄ)逿•¸(shù)據(jù)的節(jié)é»žæœƒå¢žåŠ ç™¼(fÄ)射數(shù)據(jù)的次數(shù)。
3.2 傳感器節(jié)點軟件
傳感器節(jié)點åˆå§‹åŒ–åŽï¼Œé¦–先發(fÄ)é€è«‹æ±‚基站節(jié)點分é…ç´šåˆ¥çš„å‘½ä»¤ï¼ŒåŒæ™‚打開一個定時喚醒的定時器;然åŽé€²å…¥ä½ŽåŠŸè€—æ¨¡å¼ï¼Œç‰å¾…外部事件的喚醒。若傳感器發(fÄ)é€è«‹æ±‚基站節(jié)點分é…級別的次數(shù)é”到è¨å®šä¸Šé™ï¼Œä»æœªç¢ºå®šç¯€(jié)點在網(wÇŽng)絡ä¸çš„級別,則該節(jié)點就會å‘周åœå‚³æ„Ÿå™¨ç¯€(jié)點廣æ’ä¿¡æ¯ã€‚ç•¶å»£æ’æ¬¡æ•¸(shù)é”到è¨å®šå€¼æ™‚,傳感器節(jié)é»žå°±æ ¹æ“š(jù)收到的信æ¯ç¢ºå®šè‡ªå·±çš„級別以åŠèˆ‡è©²ç¯€(jié)點有直接è¯(lián)系的節(jié)點的信æ¯ï¼Œå¹¶æŠŠé€™äº›ä¿¡æ¯ç™¼(fÄ)é€çµ¦åŸºç«™ç¯€(jié)點。傳感器節(jié)é»žçš„å¤–éƒ¨ä¸æ–·äº‹ä»¶åŒ…括接收到數(shù)據(jù)事件ã€å®šæ™‚噍䏿–·äº‹ä»¶ã€ç‹€æ…‹(tà i)çªè®Šäº‹ä»¶ã€‚
當傳感器節(jié)點檢測到狀態(tà i)çªè®ŠåŽï¼Œæœƒå¾žä½ŽåŠŸè€—ç‹€æ…‹(tà i)å–šé†’ï¼Œå¹¶åŠæ™‚é‡‡é›†æ¤æ™‚的環(huán)å¢ƒåƒæ•¸(shù)(包括狀態(tà i)é‡ã€æº«åº¦å€¼åŠç¯€(jié)點電壓值),將這些數(shù)據(jù)發(fÄ)é€å‡ºåŽ»ã€‚è©²æ•¸(shù)據(jù)包通éŽå–®è·³æˆ–多跳到é”基站節(jié)é»žå¹¶åœ¨ä¸Šä½æ©Ÿè»Ÿä»¶ä¸Šé¡¯ç¤ºã€‚
3.3 ä¸Šä½æ©Ÿè™•ç†è»Ÿä»¶
為了監(jiÄn)測整個網(wÇŽng)絡情æ³ï¼Œéœ€è¦åœ¨ä¸»æ©Ÿä¸Šå»ºç«‹è‰¯å¥½çš„人機交互界é¢ã€‚采用Visual Basic(VB)來è¨è¨ˆäººæ©Ÿç•Œé¢ã€‚利用VBçš„MSComm控件實ç¾(xià n)上ã€ä¸‹ä½æ©Ÿçš„串å£é€šä¿¡ï¼Œåˆ©ç”¨å…¶ä»–控件實ç¾(xià n)å°ç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)絡的分æžã€é¡¯ç¤ºå’Œæ“作。
ä¸Šä½æ©Ÿä¸»ç¨‹åºä¸»è¦å®Œæˆä¸€äº›è®Šé‡å’ŒæŽ§ä»¶åˆå§‹åŒ–,然åŽç‰å¾…䏲壿•¸(shù)據(jù)。數(shù)據(jù)的接收和發(fÄ)é€éƒ½æ˜¯ç”±ä¸æ–·ç¨‹åºå®Œæˆçš„,其æµç¨‹å¦‚圖4所示。

圖4 ä¸Šä½æ©Ÿçš„串å£ä¸æ–·æµç¨‹
ä¸Šä½æ©ŸæŽ¥æ”¶åˆ°å®Œæ•´çš„æ•¸(shù)據(jù)包åŽï¼Œæœƒæ ¹æ“š(jù)數(shù)據(jù)包ä¸çš„é—œéµå—進行ä¸åŒçš„處ç†ã€‚發(fÄ)逿•¸(shù)據(jù)æ™‚ï¼Œæ ¹æ“š(jù)ä¿å˜çš„ç¶²(wÇŽng)絡數(shù)據(jù)計算ä¸è½‰æ•¸(shù)據(jù)的路徑。為節(jié)約基站節(jié)點的能é‡ï¼Œç¶²(wÇŽng)çµ¡ä¸æœ‰å¾ˆå¤šçš„æ•¸(shù)據(jù)è™•ç†æ˜¯åœ¨ä¸Šä½æ©Ÿä¸é€²è¡Œçš„。
4ã€å¯¦é©—çµæžœ
系統(tÇ’ng)ç ”åˆ¶å®ŒæˆåŽï¼Œéœ€è¦è¨è¨ˆå¯¦é©—ä¾†è€ƒæ ¸è‡ªçµ„ç¶²(wÇŽng)效果åŠç¶²(wÇŽng)絡性能。實驗ä¸ï¼Œé¦–先關注的å•題是隨機分布的傳感器節(jié)點在自定義的組織å”(xié)è°ä¸‹çš„組網(wÇŽng)情æ³ã€‚ç‚ºäº†è€ƒæ ¸è‡ªçµ„ç¹”æ•ˆæžœï¼Œ 首先讓基站節(jié)點通éŽä¸²å£èˆ‡ä¸Šä½æ©Ÿç›¸é€£å¹¶æ‰“é–‹ä¸Šä½æ©Ÿè™•ç†è»Ÿä»¶ï¼›ç„¶åŽæ‰“開傳感器節(jié)點的電æºï¼Œå¹¶é€šéŽäººå·¥å®‰æ”¾æˆ–è€…éš¨æ©Ÿæ’’æ’æ–¹å¼å¸ƒç½®å¥½å‚³æ„Ÿå™¨ç¯€(jié)點。
å€ŸåŠ©ä¸Šä½æ©Ÿçš„處ç†è»Ÿä»¶ï¼Œå¯ä»¥éžå¸¸æ¸…楚地看到整個網(wÇŽng)çµ¡çš„æ‹“æ’²çµæ§‹å’Œç¶²(wÇŽng)絡節(jié)點的環(huán)å¢ƒåƒæ•¸(shù)ã€‚ç•¶ä¸Šä½æ©Ÿè™•ç†è»Ÿä»¶æª¢æ¸¬åˆ°ç¶²(wÇŽng)絡內的傳感器節(jié)點åŽï¼Œæœƒåœ¨ä¸Šä½æ©Ÿä¸Šé€²è¡Œé¡¯ç¤ºå¹¶ä¿å˜?zhèn)鞲衅鞴?jié)點的數(shù)據(jù)。圖5為系統(tÇ’ng)演示的11個傳感器節(jié)點自由組網(wÇŽng)時界é¢çš„顯示情æ³ã€‚組網(wÇŽng)時間約3min。
圖5ä¸çš„黑色曲線為數(shù)據(jù)çš„å‚³è¼¸è·¯å¾‘ã€‚ç•¶é¼ æ¨™é»žæ“ŠæŸå€‹ç¯€(jié)點,會彈出該節(jié)點的信æ¯é‡‡é›†å¡ã€‚ä¿¡æ¯é‡‡é›†å¡åæ˜ äº†ç¯€(jié)點的狀態(tà i)é‡ã€æº«åº¦å€¼ã€é›»å£“值以åŠå‰©ä½™èƒ½é‡ï¼Œé€šéŽé‡‡é›†å¡å¯ç›´æŽ¥å°è©²ç¯€(jié)點進行é 程控制。

圖5 ç¶²(wÇŽng)çµ¡æ‹“æ’²åŠæ•¸(shù)據(jù)傳輸路線圖
在檢測網(wÇŽng)絡性能的實驗ä¸ï¼Œè®“傳感器節(jié)點一級一級分布下去。通éŽä¸Šä½æ©Ÿè»Ÿä»¶å¯ä»¥å¾ˆæ¸…楚地看到所投放的傳感器節(jié)點å¯çµ„æˆçš„æœ€å¤§è·³æ•¸(shù)的網(wÇŽng)çµ¡æ‹“æ’²çµæ§‹ã€‚ç•¶ç¶²(wÇŽng)絡組æˆåŽï¼Œå¯é€šéŽä¸Šä½æ©Ÿç•Œé¢å°ç¶²(wÇŽng)å…§å„個節(jié)點進行é 程控制;當å„個節(jié)點發(fÄ)生狀態(tà i)çªè®Šæ™‚ï¼Œæœƒä»¥ä¸æ–·å½¢å¼å–šé†’節(jié)點,以能é‡å„ª(yÅu)先的原則é€ç´šå‚³é€åˆ°åŸºç«™ç¯€(jié)é»žï¼Œå¹¶åœ¨ä¸Šä½æ©Ÿç•Œé¢ä¸Šé€²è¡Œç›¸æ‡‰é¡¯ç¤ºã€‚
當新的傳感器節(jié)é»žåŠ å…¥åˆ°ç¶²(wÇŽng)絡ä¸ï¼Œç³»çµ±(tÇ’ng)æœƒåŠæ™‚åæ˜ æ–°åŠ å…¥ç¯€(jié)點。當系統(tÇ’ng)檢測到傳感器節(jié)點由于電æºé›»å£“ä½ŽäºŽå·¥ä½œé›»å£“ï¼Œæˆ–äººç‚ºç ´å£žå¼•èµ·å¤±æ•ˆæ™‚ï¼Œæœƒå¾žç¶²(wÇŽng)絡ä¸åˆªé™¤è©²ç¯€(jié)é»žçš„æ‹“æ’²çµæ§‹åŠç›¸é—œä¿¡æ¯ï¼Œæª¢æ¸¬æ–¹æ³•有手動刷新和定時采樣兩種。網(wÇŽng)絡內傳é€çš„æ•¸(shù)據(jù)都ä¿å˜åœ¨ç¶²(wÇŽng)絡數(shù)據(jù)庫ä¸ï¼Œä¾¿äºŽæŸ¥å°‹ã€‚通éŽä¸Šä½æ©Ÿè»Ÿä»¶é‚„èƒ½å¤ å°ç¶²(wÇŽng)絡進行復ä½ï¼Œè®“所有傳感器節(jié)é»žé€²è¡Œé‡æ–°çµ„ç¶²(wÇŽng)。
çµèªž
本文首先æå‡ºäº†ä¸€ç¨®ç„¡ç·šå‚³æ„Ÿå™¨ç¶²(wÇŽng)絡的自組織å”(xié)è°ï¼Œç„¶åŽé¸ç”¨MSP430F149å’ŒnRF905è¨è¨ˆäº†å¾®åž‹å‚³æ„Ÿå™¨ç¯€(jié)點,并實ç¾(xià n)了一種低功耗無線網(wÇŽng)絡,其特點如下:
①利用無線通信攜帶的信æ¯è‡ªå‹•生æˆå¤šç´šç¶²(wÇŽng)狀網(wÇŽng)絡,并按能é‡å„ª(yÅu)å…ˆçš„åŽŸå‰‡è‡ªå‹•ç”Ÿæˆæ•¸(shù)據(jù)的傳輸路徑。
â‘¡ 采喿‡‰ç”å’Œé€€é¿æ©Ÿåˆ¶ï¼Œé˜²æ¢å¤šå€‹å‚³æ„Ÿå™¨ç¯€(jié)點å‘一個節(jié)點發(fÄ)逿•¸(shù)據(jù)時所導致的數(shù)據(jù)丟失。
â‘¢ ç„¡ç·šé€šä¿¡çš„é›™å‘æ€§ï¼Œä¸åƒ…被動顯示å„個傳感器節(jié)點的信æ¯ï¼Œé‚„å¯ä¸»å‹•å°æ¯å€‹å‚³æ„Ÿå™¨ç¯€(jié)點進行é 程控制。
â‘£ 使用支æŒä½ŽåŠŸè€—å·¥ä½œæ¨¡å¼çš„硬件,é…åˆè»Ÿä»¶ä¸Šçš„æ™ºèƒ½æŽ§åˆ¶ç–略來實ç¾(xià n)系統(tÇ’ng)低功耗,盡å¯èƒ½å»¶é•·ç¶²(wÇŽng)絡壽命。