張永剛 王 斌 胡 歡
(1.住房和城鄉(xiāng)建設(shè)部IC卡應(yīng)用服務(wù)中心/中外建設(shè)信息有限責任公司,北京 100081;2.嘉興學院,浙江嘉興 523001)
隨著集成電路、傳感器、無線通信以及微機電系統(tǒng)等技術(shù)的迅猛發(fā)展和日益成熟,智能建筑領(lǐng)域應(yīng)用的無線傳感器網(wǎng)絡(luò)也越來越多,如建筑照明,安防監(jiān)控等[1~3]。通常每個房間都會有一個或多個節(jié)點,因而,智能建筑中的無線傳感器網(wǎng)絡(luò)具有以下特點:
節(jié)點位置相對固定;
節(jié)點數(shù)量龐大,密集度高。
所以,智能建筑的無線傳感器網(wǎng)絡(luò)的拓撲信息是已知的,并且拓撲結(jié)構(gòu)變化很少,目前的傳感器網(wǎng)絡(luò)大都,忽略了這一有用信息。通過能量強度動態(tài)的構(gòu)建自組織網(wǎng)絡(luò),造成通訊協(xié)議復雜,穩(wěn)定性差等缺陷[4~6]。為此,本文設(shè)計了特殊地址編碼的智能建筑專用無線傳感器網(wǎng)絡(luò)。
智能建筑的信息節(jié)點可以被簡化為一個“魔方”模型,魔方的每一格代表一個房間。如圖1所示。
圖中,Z方向為垂直方向,代表層高;X方向與房間的走廊方向平行,代表房間的行數(shù);Y代表房間的列數(shù)。 Z方向的單位為每層為1;X,Y方向的單位為房間個數(shù),房間無論大小,單位均為1。因為無線信號通過墻壁的衰減,遠比房間尺寸變化的大小要大的多。因而無線傳感器網(wǎng)絡(luò)的魔方模型具有以下特點:
1.1 一個房間是一個立體的網(wǎng)狀網(wǎng)的信息拓撲單位;
1.2 每個房間至少有1個或多個信息節(jié)點。
智能建筑的“魔方”模型中的網(wǎng)絡(luò)拓撲信息,是用網(wǎng)絡(luò)地址來表達的。網(wǎng)絡(luò)地址是在網(wǎng)絡(luò)通訊時網(wǎng)絡(luò)層上使用的地址,由于網(wǎng)絡(luò)地址是由軟件實現(xiàn)的,所以又可以稱為邏輯地址,并沒有一個相應(yīng)的硬件和其對應(yīng),硬件地址的存在是為了在生產(chǎn)過程中區(qū)別單片機用的。而在實際使用過程中,用的都是網(wǎng)絡(luò)的地址。而在整個網(wǎng)絡(luò)初始化的時候,需要對網(wǎng)絡(luò)地址進行設(shè)定。而網(wǎng)絡(luò)地址的形式如下表所示
圖1 魔方模型
表1 網(wǎng)絡(luò)地址的規(guī)定
在網(wǎng)絡(luò)初始化的過程中,可以根據(jù)實際使用的需要,把帶有固定的硬件地址的單片機解析成網(wǎng)絡(luò)地址。
為了實現(xiàn)數(shù)據(jù)在轉(zhuǎn)發(fā)過程中能夠?qū)崿F(xiàn)時分復用,需要在程序中實現(xiàn)中繼地址轉(zhuǎn)發(fā)時,只有一個節(jié)點進行轉(zhuǎn)發(fā)。其他節(jié)點不發(fā)送任何的數(shù)據(jù),為了使數(shù)據(jù)能夠最快的到達目的地址,需要使轉(zhuǎn)發(fā)的次數(shù)達到最少,從而引入了最短路徑的算法。如果在某一個子節(jié)點正在發(fā)送數(shù)據(jù)的時候,另一個子節(jié)點也需要發(fā)送數(shù)據(jù)。此時,后一個需要發(fā)送數(shù)據(jù)的子節(jié)點必須禁聲,既不能發(fā)送,只有當前一個節(jié)點數(shù)據(jù)發(fā)送完畢之后才能讓下一個子節(jié)點發(fā)送數(shù)據(jù)。
在實際生產(chǎn)過程,地址分為網(wǎng)絡(luò)地址和硬件地址。硬件地址已經(jīng)固化在單片機的ROM中,所以也可以被稱為物理地址。通過燒寫的時候進行分片固化,既在集控器燒寫程序的時候,每一個單片機要有一個唯一的硬件地址。為了方便辨識和使用,可以將該地址打印出來貼在集控器上。硬件地址占4個字節(jié)。中央控制單元軟件依據(jù)硬件地址對集控器進行初始化參數(shù),既設(shè)定IP地址。
地址解析的作用是,把單片機生產(chǎn)過程中固化在單片機內(nèi)部的物理地址(即ID標識)轉(zhuǎn)化為實際使用的IP地址。除了IP地址之外,還需要對跳級范圍進行初始化設(shè)定。地址解析的過程包括兩個階段。
第一階段、把收到的數(shù)據(jù)進行解析,解析出所需要設(shè)定的物理地址(包括三個ID標識),并且和單片機內(nèi)部固化的ID標識進行比對。如果有所不同,則程序返回主函數(shù),不進行其他的任何操作。如果完全一樣,則進入下一階段。
第二階段、繼續(xù)對收到的數(shù)據(jù)進行解析,解析出需要最終設(shè)定的IP地址(包括三個坐標)以及跳級的范圍。把IP地址寫入ROM,在以后的通訊過程中,就使用這個IP地址。并且可以具有掉電不消失的功能,以便在意外掉電或者重啟之后,能夠繼續(xù)正常使用。
表2 路由數(shù)據(jù)幀
在實際使用工程中節(jié)點的擺放是有很多種的,而必須對節(jié)點的擺放進行假設(shè)和抽象才能進行實際的分析。
2.2.1 假設(shè)和抽象
如圖1是實際使用中的網(wǎng)絡(luò)模型圖(在此我們只分析二維的,三維的可同理得到),我們就可以假設(shè)某個節(jié)點的坐標為(i ,j)而它的四個附近的節(jié)點為(i - H, j),(i , j - H),(i + H,j),(i , j + H)。(i - H, j),(i , j - H),稱為低鄰居節(jié)點,(i+ H, j),(i , j + H)稱為高鄰居節(jié)點。其中H為正整數(shù),是通信協(xié)議中的一個內(nèi)容稱為最大跳。
圖1
圖2
圖3
而(i ,j)節(jié)點所能接收的信息只能來自(i - H, j),(i, j - H),(i + H, j),(i , j + H)。這四個節(jié)點,如果不是這四個節(jié)點來的信息則會因為距離的原因而接收不到,這是在程序書寫過程中要盡量避免的。所以在這個假設(shè)條件下我們可以把實際的網(wǎng)絡(luò)模型抽象成如圖3-2所示的一個網(wǎng)絡(luò)結(jié)構(gòu)。數(shù)據(jù)再能在連線的兩個節(jié)點中傳輸。
2.2.2 實現(xiàn)方法
由上述的假設(shè)和抽象,我們可以知道數(shù)據(jù)只能在連線的兩個節(jié)點中傳輸,不能從(0,0)傳輸?shù)剑?,1)。既任意節(jié)點(i ,j)在傳輸過程中只能傳輸?shù)礁哙従庸?jié)點或低鄰居節(jié)點中的任意一點。而最短路徑的傳輸要求每跳一次,即接近目標節(jié)點一次。有了這些原則不難得到最短路徑的傳輸方法如圖3-3所示:
需要說明的是這里分析的是二維的情況,而在編程中使用的是三維的指標系。原理相同,可以由二維的情況推導出三維的情況。并且在使用過程中有引入最大跳的概念,這個情況是最大跳H=1的情況,而H的數(shù)值為其他值的情況會在后文中進行分析。最后就是優(yōu)先的問題,圖示的為X優(yōu)先的情況,X,Z優(yōu)先的情況也會在后文中進行分析
在實際的生產(chǎn)應(yīng)用之中,有可能出現(xiàn)單個的傳感器網(wǎng)絡(luò)的節(jié)點出現(xiàn)故障,而致使整個傳感器網(wǎng)絡(luò)或者是傳感器網(wǎng)絡(luò)的一部分不能接受或發(fā)送出信息。根據(jù)這個設(shè)計的思路,我們可以想象出ping功能的基本工作過程,就是想要檢驗一條固定的無線傳感器網(wǎng)絡(luò)傳輸路徑能否通路,就可先由一個起始節(jié)點發(fā)送出一個傳輸指令,該指令必須包括一個字符是指出不是普通的命令而是一個ping命令,該ping命令通過傳輸,最終到達目標地址,而該目標地址對得到的數(shù)據(jù)進行解碼,最終的又生成一個指令,該指令的目標地址為ping命令的起始地址,為reping命令,該reping命令通過傳輸又回到了起始的地址,也就是ping命令的發(fā)出地址,只要該發(fā)出地址能夠接收到這個reping命令,地址就為通路,而如果沒有接收到這個命令就為斷路。
表3-4 通訊協(xié)議格式
各部分如下表所示
表3-5 各部分含義
ping功能的作用與工作方式,可以將ping功能的協(xié)議制定如下。定長16字節(jié)。根據(jù)前文中提到的地址設(shè)定等要求匯總與此表:
著重強調(diào)其中類型與數(shù)據(jù)表示的意義為中央控制單元與控制器之間的命令,格式為如下,共3個字節(jié)
表3-5 中央控制單元與控制器之間的命令
含義如下
協(xié)議類型
1代表Ping
2代表Re ping
3代表燈控/燈狀態(tài),使用數(shù)據(jù)狀態(tài)
4代表控制回復
本無線網(wǎng)絡(luò)應(yīng)用于智能建筑內(nèi)部的燈光控制,節(jié)點單元采用cc1101的無線模芯片,通過STC89C52實現(xiàn)通訊協(xié)議。節(jié)點的實物如下。
上位機采用串行口和網(wǎng)絡(luò)連接,通過計算機實現(xiàn)了對整棟大樓的集中控制。控制軟件采用C++Builder2010開發(fā)。
本文設(shè)計了一種應(yīng)用于智能建筑的無線傳感器網(wǎng)絡(luò),建立了智能建筑的網(wǎng)“魔方”信息網(wǎng)絡(luò)拓撲模型,并用三維地址編碼法,描述網(wǎng)絡(luò)的拓撲信息,在此基礎(chǔ)上提出了最短路徑算法。形成的通訊協(xié)議在以CC1101無線控制器+STC89C52單片機的硬件系統(tǒng)驗證,最終應(yīng)用于某建筑的燈光集中控制。實驗證明,本設(shè)計切實可行,具有協(xié)議棧簡單可靠的優(yōu)點。
[1]郁有文,常健,程續(xù)紅.傳感器原理及工程應(yīng)用[TP].西安:西安電子科技大學出版社,2003
[2]李朝青.單片機原理及接口技術(shù).北京航空航天大學出版社.2005.10
[3]孫利民, 李建忠等.無線傳感器網(wǎng)絡(luò).清華大學出版社,2005.5.
[4]李曉維,徐勇軍,任豐原.無線傳感器網(wǎng)絡(luò)技術(shù)[M].北京理工大學出版社, 2007.
[5]Tilak S, Abu- Ghazaleh N B, Heinzelman W.A Taxonomy of Wireless Micro- Sensor Network Models.Mobile Computing and communications review.2002.
[6]T.Hunter and A.Nosratinia.Cooperation Diversity Through Coding.Proc.International Symposium on Information Theory,2002