【導讀】城市道路照明隨著(zhù)LED照明技術(shù)的更迭,內容也越加的豐富。本文提出了采用短距離無(wú)線(xiàn)通信技術(shù)構建LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò ),從而實(shí)現對路燈任意單盞、多盞燈、全網(wǎng)絡(luò )等進(jìn)行開(kāi)關(guān)、調光的控制,實(shí)現智能化管理。
作為無(wú)線(xiàn)傳感網(wǎng)絡(luò ),其體系結構應該包含四個(gè)基本層次:物理層和數據鏈路層、網(wǎng)絡(luò )層以及應用層。LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )采用IEEE 802.15.4標準作為其物理層和數據鏈路層的技術(shù)標準,網(wǎng)絡(luò )層與應用層集成在一起,采用單跳、雙跳以及變跳3種接力通信模式作為網(wǎng)絡(luò )協(xié)議的基礎。本文圍繞LED無(wú)線(xiàn)傳感網(wǎng)絡(luò )的體系結構,以網(wǎng)絡(luò )拓撲及通信節點(diǎn)的組成為基礎,論述了網(wǎng)絡(luò )層的協(xié)議包格式、路由工作原理,以及節點(diǎn)通信的設計流程。
1 網(wǎng)絡(luò )體系
LED無(wú)線(xiàn)傳感網(wǎng)絡(luò )的網(wǎng)絡(luò )體系是網(wǎng)絡(luò )層實(shí)現路由的基礎,包括節點(diǎn)組成及網(wǎng)絡(luò )拓撲結構。
1.1 LED路燈傳感網(wǎng)絡(luò )節點(diǎn)的組成
LED路燈網(wǎng)絡(luò )由間隔均勻的若干盞路燈組成,每一盞LED路燈均為網(wǎng)絡(luò )的一個(gè)通信節點(diǎn),用來(lái)構建無(wú)線(xiàn)傳感網(wǎng)絡(luò )。圖1所示,為構建無(wú)線(xiàn)傳感網(wǎng)絡(luò )LED路燈節點(diǎn)的組成,除了照明部分的電路外,還附加了對LED電流的采樣、LED發(fā)光亮度的檢測、以及對LED發(fā)光亮度的PWM控制等電路。每一盞LED路燈既是傳感器節點(diǎn)也是網(wǎng)絡(luò )路由節點(diǎn);每一個(gè)節點(diǎn)包含一個(gè)微控制器(MCU,如cc2530),都具有射頻通信功能,既能發(fā)送信號也能接收信號;每一個(gè)節點(diǎn)具有32bit(位)的唯一ID號。通過(guò)在物理層和MAC層采用IEEE 802.15.4協(xié)議標準,結合網(wǎng)絡(luò )層與應用層的協(xié)議,所有這些節點(diǎn)有機地組合在一起,便構成了LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )。由于現有的一些網(wǎng)絡(luò )層與應用層協(xié)議如Zigbee、RF4CE等并不是很適合LED路燈傳感網(wǎng)絡(luò )應用,因此,需要重新設計網(wǎng)絡(luò )層與應用層協(xié)議。

圖1 LED路燈節點(diǎn)的組成
1.2 網(wǎng)絡(luò )拓撲
根據LED路燈的分布規律,每盞LED路燈作為網(wǎng)絡(luò )節點(diǎn)構成無(wú)線(xiàn)通信網(wǎng)絡(luò ),其拓撲結構如圖2所示,(a)是信號逐點(diǎn)(單跳)接力傳送拓撲結構圖,(b)是信號隔點(diǎn)(雙跳)接力傳送拓撲結構圖。為便于下文網(wǎng)絡(luò )應用協(xié)議的設計與討論,作出如下定義:
(1)所有節點(diǎn)可分為2類(lèi),即LED路燈節點(diǎn)(簡(jiǎn)稱(chēng)LED節點(diǎn),如a1 a2 … an , b1 b2 … bn)和路燈控制器節點(diǎn)(簡(jiǎn)稱(chēng)控制節點(diǎn),如a,b);
(2)相鄰節點(diǎn)之間的距離均為L(cháng),每個(gè)節點(diǎn)的無(wú)線(xiàn)信號覆蓋半徑大于等于2L;
(3)根據節點(diǎn)的相對位置,節點(diǎn)可分為前驅節點(diǎn)與后繼節點(diǎn),離控制器近的是前趨節點(diǎn),離控制器遠的是后繼節點(diǎn)。例如a1是a2前驅節點(diǎn),a3是a2后繼節點(diǎn);同理b2是b4前驅節點(diǎn),b6是b4后繼節點(diǎn),以此類(lèi)推。

圖2 網(wǎng)絡(luò )拓撲結構示意圖
(4)控制節點(diǎn)與LED節點(diǎn)之間,LED節點(diǎn)相互之間,只要無(wú)線(xiàn)信號可以覆蓋到,都可以相互通信,不需要設基站或專(zhuān)門(mén)的路由協(xié)調裝置。
(5)每個(gè)節點(diǎn)的32bit唯一ID號由兩部分組成,分別為網(wǎng)絡(luò )ID和節點(diǎn)地址(編號),均為16bit。同一路燈網(wǎng)絡(luò )所有節點(diǎn)的網(wǎng)絡(luò )ID相同;從控制節點(diǎn)開(kāi)始,節點(diǎn)地址由小到大順序編排。
[page]
2 網(wǎng)絡(luò )協(xié)議
LED路燈傳感網(wǎng)絡(luò )協(xié)議包括協(xié)議包的定義與路由協(xié)議的定義,其設計目標是簡(jiǎn)單、實(shí)用,易實(shí)現。
2.1 網(wǎng)絡(luò )協(xié)議包格式
LED路燈傳感網(wǎng)絡(luò )協(xié)議傳輸的信息包共有3種類(lèi)型,分別為命令包、參數包以及應答確認包。

圖3 網(wǎng)絡(luò )協(xié)議包格式
(1)命令包
圖3(a)所示,為控制器節點(diǎn)對LED路燈節點(diǎn)下發(fā)的命令包格式。命令有三種類(lèi)型:針對整個(gè)網(wǎng)絡(luò )所有LED節點(diǎn)的廣播命令、針對部分LED節點(diǎn)的群組命令以及針對單個(gè)LED節點(diǎn)的單點(diǎn)命令。
命令包各字段定義如下:
包類(lèi)型:為1;
目的地址:為指定LED節點(diǎn)的地址;
包序列號:為向指定節點(diǎn)發(fā)送的包編號;
接力模式:為1時(shí),表示單跳模式;為2時(shí),表示雙跳模式偶鏈;為3時(shí),表示雙跳模式奇鏈;
命令字段的定義方法見(jiàn)表1,表1只列出了部分命令,實(shí)際中可以根據需要增加命令;

表1 命令包命令字段定義
命令參數字段:用來(lái)表示調光的亮度,數值越小LED發(fā)光亮度越低,耗電越少,數值為 0時(shí)表示關(guān)燈;
跳數:命令傳送到目的地址所需經(jīng)過(guò)的節點(diǎn)數,最大值為路燈網(wǎng)絡(luò )所有LED節點(diǎn)的數量。傳送命令包時(shí),每經(jīng)轉發(fā)一次則跳數減1,當跳數值為0時(shí),命令包不再被轉發(fā)。
(2)參數包
圖3(b)所示,為L(cháng)ED路燈網(wǎng)絡(luò )節點(diǎn)上傳的參數包格式??刂乒濣c(diǎn)可采用定時(shí)輪詢(xún)或即時(shí)查詢(xún)方式獲取網(wǎng)絡(luò )內各LED節點(diǎn)的狀態(tài)參數,如電流值、發(fā)光亮度值等,各LED節點(diǎn)只有在接到讀取參數的命令后才會(huì )向控制節點(diǎn)發(fā)送參數包。參數包各字段定義如下:
包類(lèi)型:為2;
源地址:為上傳參數LED節點(diǎn)的地址;
包序列號:為上傳參數LED節點(diǎn)發(fā)出的參數包編號;
接力模式:由于只有在節點(diǎn)收到讀取狀態(tài)參數命令后才會(huì )發(fā)送參數包,因此,參數包的接力模式由命令包的接力模式確定;
狀態(tài)標志:為0,表示對應LED節點(diǎn)無(wú)故障;為1,表示對應節點(diǎn)有故障;為2,表示對應節點(diǎn)及后繼節點(diǎn)有故障;
狀態(tài)參數1-3:為L(cháng)ED節點(diǎn)的有關(guān)參數,如電流值、電壓值以及LED的發(fā)光亮度值等。
(3)應答確認包
圖3(c)所示,為應答確認包格式。為了實(shí)現可靠傳輸,每個(gè)節點(diǎn)在收到命令包或參數包后需要發(fā)送應答確認信息包。如果信息包的發(fā)送(轉發(fā))方在設定的時(shí)間內沒(méi)有收到應答確認包,則會(huì )啟動(dòng)對該信息包的重新發(fā)送。應答確認包各字段的數值定義如下:
包類(lèi)型:為3;
節點(diǎn)地址:發(fā)出確認應答包節點(diǎn)的地址。
確認類(lèi)型:收到信息包的包類(lèi)型;
確認號:為節點(diǎn)收到信息包的包序列號;
[page]
2.2 網(wǎng)絡(luò )路由協(xié)議
LED路燈傳感網(wǎng)絡(luò )路由協(xié)議的核心是各節點(diǎn)對信息包的轉發(fā)機制。由于每一個(gè)節點(diǎn)的信號覆蓋范圍有限,其信息只能向鄰近的節點(diǎn)發(fā)送,如要將信息送往遠處節點(diǎn)則只能依賴(lài)中間節點(diǎn)的多次轉發(fā)。根據前述1.2定義的條件,節點(diǎn)轉發(fā)信息包可以分為三種模式,即單跳接力模式,雙跳接力模式和變跳接力模式,各LED節點(diǎn)將根據信息包中接力模式字段的定義進(jìn)行選擇。
2.2.1 單跳接力模式
圖2(a)所示,為單跳接力模式的拓撲結構圖。它是一個(gè)比較簡(jiǎn)單的轉發(fā)模式,要求每個(gè)節點(diǎn)無(wú)線(xiàn)信號覆蓋的半徑范圍大于節點(diǎn)間距L即可,信息包只需往鄰近的前驅節點(diǎn)或后繼節點(diǎn)轉發(fā)。在這種模式下,節點(diǎn)處理收到信息包的方法如下:
①節點(diǎn)接收一個(gè)命令包(如圖3(a))后,向前驅節點(diǎn)發(fā)送接收確認應答包;將命令包中的跳數減1;比較節點(diǎn)自身地址(NA)與命令包中目標地址的大小,相等則執行包中的命令且無(wú)須轉發(fā)命令包,不等則向后繼節點(diǎn)轉發(fā)該包;如果是廣播命令(目標地址值為0xffff),既在本節點(diǎn)執行該命令同時(shí)也向后繼節點(diǎn)轉發(fā)該命令包。轉發(fā)時(shí)的路由地址為:NA+1。當命令包傳送到網(wǎng)絡(luò )中的最后一個(gè)LED節點(diǎn)時(shí),跳數減1后將為0,包將不再被轉發(fā)。
②節點(diǎn)接收到參數包(如圖3(b))后,只需向后繼節點(diǎn)發(fā)送接收確認包和向前驅節點(diǎn)轉發(fā),轉發(fā)參數包的路由地址為:NA-1。
③節點(diǎn)收到命令包或參數包后,必須發(fā)送接收確認包(如圖3(c)),當收到命令包時(shí),確認類(lèi)型值為1,發(fā)送應答確認包的路由地址為NA-1;當收到參數包時(shí)確認類(lèi)型值為2, 發(fā)送應答確認包的路由地址為NA+1。
2.2.2 雙跳接力模式
圖2(b)所示,為雙跳接力模式的拓撲結構圖。這種模式要求每一個(gè)節點(diǎn)的無(wú)線(xiàn)信號覆蓋半徑范圍≥2L。從圖2可知,雙跳接力模式每次跨越兩個(gè)節點(diǎn),傳送信息包到指定節點(diǎn)的轉發(fā)次數比單跳接力模式要少一半,因此其傳送時(shí)延也要小。在雙跳接力模式下,將整個(gè)網(wǎng)絡(luò )所有LED節點(diǎn)按照其地址值的奇偶性分成2個(gè)接力鏈,即奇地址節點(diǎn)鏈和偶地址節點(diǎn)鏈??刂乒濣c(diǎn)發(fā)送廣播命令時(shí),需要針對奇地址節點(diǎn)鏈和偶地址節點(diǎn)鏈分別發(fā)送,命令信息包分別在奇地址節點(diǎn)鏈和偶地址節點(diǎn)鏈上同時(shí)傳播。在雙跳接力模式下,節點(diǎn)處理收到信息包的方法如下:
①節點(diǎn)接收到命令包后的處理方法與單跳接力模式基本相同,但包轉發(fā)時(shí)的路由地址變?yōu)椋篘A+2。
②同樣節點(diǎn)接收到數據包后的處理方法也與單跳接力模式基本相同,只是在包轉發(fā)時(shí)的路由地址變?yōu)椋篘A-2。
③節點(diǎn)收到命令包或參數包后,必須發(fā)送接收確認包,當收到命令包時(shí),確認類(lèi)型值為1,發(fā)送應答確認包的路由地址為NA-2;當收到參數包時(shí)確認類(lèi)型值為2, 發(fā)送應答確認包的路由地址為NA+2。
無(wú)論是單跳接力模式還是雙跳接力模式,節點(diǎn)發(fā)送命令信息包或參數信息包后,在規定的時(shí)間內未收到確認信息包,則需要重發(fā),重發(fā)次數一般不超過(guò)3次。
2.2.3 變跳接力模式
變跳接力模式實(shí)際上是單跳接力模式和雙跳接力模式的一種補充,主要用于下一跳節點(diǎn)出現通信故障時(shí)。在單跳接力模式或雙跳接力模式工作時(shí),如果在多次重發(fā)后仍收不到下一跳節點(diǎn)的應答確認信息包,說(shuō)明下一跳節點(diǎn)出現了通信故障。這時(shí)通過(guò)改變接力模式,由單跳變雙跳或者由雙跳變單跳可以繞開(kāi)下一跳有通信故障的節點(diǎn),繼續信息包的接力傳送。同時(shí),將故障節點(diǎn)的相關(guān)信息反饋到控制節點(diǎn)。變跳接力模式要求每一個(gè)節點(diǎn)的無(wú)線(xiàn)信號覆蓋半徑范圍≥2L。變跳接力模式分為兩種情況:
(1)初始傳送為單跳接力模式
設LED節點(diǎn)i的地址為NAi,當LED節點(diǎn)i以單跳模式轉發(fā)命令包(或參數包)時(shí),即使重發(fā),仍然收不到LED節點(diǎn)i+1(或i-1)的確認包,于是斷定下一跳節點(diǎn)出現故障。這時(shí)如果傳送的是命令包則從①開(kāi)始執行,如果傳送的是參數包則執行②,因為故障節點(diǎn)在傳命令包時(shí)已遇上,傳送參數包時(shí)遇故障節點(diǎn)無(wú)須重復報告故障信息。
①LED節點(diǎn)i向控制節點(diǎn)報告故障節點(diǎn)信息。此時(shí),節點(diǎn)i向控制節點(diǎn)發(fā)送參數包,包的狀態(tài)參數置為1,源地址為故障節點(diǎn)的地址,即NAi+1,發(fā)送參數包的路由地址為NAi-1。
②改變接力模式為雙跳模式,將信息包轉發(fā)給節點(diǎn)i+2(或i-2),以繞開(kāi)故障節點(diǎn),路由地址為NAi+2(或NAi-2),若能收到應答確認包,則本節點(diǎn)轉發(fā)完成,否則說(shuō)明遇上了兩個(gè)或兩個(gè)以上連續故障節點(diǎn),需繼續執行③。
③如果此時(shí)傳送的是命令包,則LED節點(diǎn)i需向控制節點(diǎn)報告故障節點(diǎn)狀態(tài)信息,狀態(tài)參數包的狀態(tài)標志置為2,源地址為故障節點(diǎn)的地址,即NAi+2,發(fā)送參數包的路由地址為NAi-1。隨后,轉發(fā)中止。
(2)初始傳送為雙跳接力模式
當LED節點(diǎn)i(地址為NAi)欲以雙跳接力模式轉發(fā)命令包(或參數包)時(shí),必須對包進(jìn)行分析,根據接力模式字段的值為2或3,可以判定當前為偶地址鏈或奇地址鏈接力模式。當NAi的值為奇數,跳變模式為奇鏈,或者NAi的值為偶數,跳變模式為偶鏈時(shí),執行如下步驟①;當NAi的值為奇數,跳變模式為偶鏈,或者NAi的值為偶數,跳變模式為奇鏈時(shí),執行如下步驟②;
①節點(diǎn)i以雙跳接力模式轉發(fā)命令包(或參數包),路由地址為NAi+2(或NAi-2),如果收不到應答確認,則下一跳節點(diǎn)出現故障。如果這時(shí)轉發(fā)的是命令包,則需向控制節點(diǎn)報告故障,往其前驅節點(diǎn)i-2發(fā)送故障信息參數包,路由地址為NAi-2,故障信息參數包的源地址(即故障節點(diǎn)的地址)為NAi+2,狀態(tài)標志為1。同時(shí),改用單跳接力模式將信息包轉發(fā)給節點(diǎn)i+1(或i-1),以繞開(kāi)故障節點(diǎn),轉發(fā)的路由地址為NAi+1(或NAi-1);若能收到確認包,則本節點(diǎn)轉發(fā)完成,否則執行③;
②節點(diǎn)i改為單跳接力模式轉發(fā)命令包(或參數包),路由地址為NAi+1(或NAi-1),若能收到確認包,則本節點(diǎn)轉發(fā)完成,否則,再改用雙跳接力模式轉發(fā),將信息包轉發(fā)給節點(diǎn)i+2(或i-2),以繞開(kāi)故障節點(diǎn),轉發(fā)的路由地址為NAi+2(或NAi-2);若能收到確認包,則本節點(diǎn)轉發(fā)完成,否則執行③;
③說(shuō)明遇上了兩個(gè)或兩個(gè)以上連續故障節點(diǎn),LED節點(diǎn)i需向控制節點(diǎn)報告故障節點(diǎn)信息。此時(shí),節點(diǎn)i向控制節點(diǎn)發(fā)送故障參數包的狀態(tài)標志為2,源地址為故障節點(diǎn)的地址,即NAi+1,發(fā)送參數包,路由地址為NAi-1。隨后轉發(fā)中止。
上述變跳接力模式能解決分散的單個(gè)通信故障節點(diǎn)接力傳送問(wèn)題。但當網(wǎng)絡(luò )中出現連續2個(gè)或2個(gè)以上通信故障節點(diǎn)時(shí),則只能報告故障節點(diǎn)位置而不能再繼續接力傳送。若要解決連續多故障節點(diǎn)的問(wèn)題,既需要改變接力算法,也需要各節點(diǎn)的無(wú)線(xiàn)信號覆蓋半徑范圍更大。
[page]
3 網(wǎng)絡(luò )節點(diǎn)工作流程與協(xié)議實(shí)現
LED路燈傳感網(wǎng)絡(luò )上的每一個(gè)節點(diǎn),既是命令執行與狀態(tài)參數采集的終端節點(diǎn),也是路由協(xié)調工作節點(diǎn)。各節點(diǎn)除了接收到信息包進(jìn)入處理流程外,其余時(shí)間幾乎都處在監聽(tīng)查詢(xún)狀態(tài),檢查是否收到信息包。圖4所示為L(cháng)ED路燈傳感網(wǎng)絡(luò )節點(diǎn)的工作流程,它是網(wǎng)絡(luò )協(xié)議在節點(diǎn)上實(shí)現過(guò)程的描述。

圖4 LED傳感網(wǎng)絡(luò )節點(diǎn)的工作流程
結語(yǔ)
通過(guò)網(wǎng)絡(luò )體系、網(wǎng)絡(luò )協(xié)議、網(wǎng)絡(luò )節點(diǎn)工作流程與協(xié)議實(shí)現等幾個(gè)部分的詳細介紹,析構了LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )的組成,希望能為L(cháng)ED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )的應用起到拋磚引玉的作用。LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )構建的基礎是點(diǎn)到點(diǎn)的通信技術(shù),命令信息要覆蓋全網(wǎng)絡(luò )需要點(diǎn)到點(diǎn)的通信技術(shù)來(lái)完成,良好的網(wǎng)絡(luò )協(xié)議是組建傳感網(wǎng)絡(luò )的關(guān)鍵所在,簡(jiǎn)易可行的網(wǎng)絡(luò )協(xié)議是實(shí)用化的前提。實(shí)際應用表明,上述方法構建的LED路燈無(wú)線(xiàn)傳感網(wǎng)絡(luò )具有良好的實(shí)時(shí)性,能穩定、可靠地工作,能滿(mǎn)足對LED路燈網(wǎng)絡(luò )的智能化管理要求。
相關(guān)閱讀:
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )打造高效節能LED路燈遠程控制
中大功率LED路燈"足夠節能"的散熱設計方案
LED路燈的高能效驅動(dòng)電源方案的探究