湯亞玲+劉彥鵬+張輝宜
摘 要:通過對DASH7協議棧的分析與設計,并利用嵌入式web服務器技術,實現了一個DASH7協議無線傳感器網絡的Mesh網絡設計,同時基于網絡分層思想設計了鏈路加權代價函數,優化了網絡路由選擇。該Mesh網的實現解決了DASH7協議網絡無法多跳路由所帶來的應用瓶頸。
關鍵詞:DASH7;Mesh網;嵌入式平臺;web服務器
中圖分類號:TP393.1 文獻標志碼:A文章編號:2095-1302(2014)07-0035-04
0引言
為了滿足無線傳感器網絡在工業、農業、軍事等應用中不斷提高的要求,更加健壯、低功耗的無線通信協議成為研究的關鍵,目前比較流行的無線通信技術包括藍牙、Wi-Fi、ZigBee、DASH7等。
DASH7是基于ISO18000-7標準的無線通信協議,具有通用性好,低功耗、穿透障礙能力強等特點。但按照標準DASH7協議的傳輸只允許執行兩跳路由[1],只能組成單一的星型拓撲結構,無法對DASH7及節點建立多跳Mesh網,阻礙的DASH7遠距傳輸的應用。
本文使用嵌入式web服務器技術,將DASH7協議與Wi-Fi協議(或TCP/IP協議)相轉化,從而實現一個具有路由選擇功能的DASH7協議的Mesh網,該網絡可提升DASH7協議在無線傳感器網絡(WSN)中的性能,擴展其應用范圍。
1DASH7協議的分析與設計
DASH7是一種基于ISO18000-7的超低功耗開源的無線通信協議標準,使用433 Hz的SIM射頻傳輸[2]。與目前流行的ZigBee技術相比具有以下特點:
(1)基于ISO18000-7的DASH7協議與基于IEEE802.15.4的ZigBee協議相比具有更好的通用性;
(2)DASH7的覆蓋范圍更大,約是ZigBee覆蓋范圍的6倍;
(3)DASH7的波長更短[3],具有更強的穿越障礙物的能力;
(4)具有更好的交互性。
由于ISO18000-7只簡單制定了DASH7協議標準框架,本文參照ZigBee協議棧[3]設計了一個比較完整的協議棧,其構架層次如圖1所示。
圖1DASH7協議棧的分層結構
DASH7協議棧分為物理層(PHY)、鏈路層(MAC)、網絡層(NWK)、應用支持子層(APS)、應用層(APL)。
PHY層首先做信道能量的檢測后,使用433 Hz頻率發送,物理層包括為MAC提供服務的接口和物理層管理實體(PLME),PLME需要維護物理層信息庫(PIB)。
MAC層依據ISO18000-7標準,使用了Z-MAC鏈路協議。Z-MAC是一種綜合TDMA和CSMA的混合型MAC協議,其可根據信道競爭負載大小自適應選擇策略。在信道負載過大環境下,Z-MAC執行類似CSMA方式[4],在信道負載較小環境下,Z-MAC執行類似TDMA[5]方式,圖2所示是Z-MAC自適應執行的描述圖。
在圖2中,圖2(b)與圖2(c)為圖2(a)中節點在不同信道負載下的通信機制,圖2(b)為低負載信道中A與B節點的TDMA通信機制,圖2(c)為節點在高負載信道中的CSMA通信機制。
(a)節點的Z-MAC通信
(b)低負載下的TDMA方式
(c)高負載下的CSMA方式
圖2Z-MAC自適應執行描述
NWK層負責設備之間的通信,其包括網絡安全策略、路由選擇等,為了解決NASH7無法多跳路由的問題,下文將具體描述使用嵌入式web服務技術實現多跳的Mesh網,并建立路由表,優化路由選擇的方法。
NWK層依據標準現將NASH7節點分為End_Worker、Rout_Worker、Edge_Worker三種網絡身份,并用NetStatus(uintf8)區別標記,表1所列是NASH7節點的網絡身份標記。
表1NASH7節點網絡身份標記Node End_WorkerRout_WorkerEdge_Worker
NetStatusOx02Ox01Ox00
由于對NASH7節點網絡管理引入了域的概念,只有相同域內節點才能自組網,同時,由Edge_Worker為域內節點分配一個網絡地址PAN_ID,并建立與維護一張節點的MAC地址與其PAN_ID的對應表,每個域只能有一個Edge_Worker。
End_Worker節點為終端工作節點,Rout_Worker節點為中間路由節點,Edge_Worker節點為協調節點或是域邊界節點,起作用為組網、接受數據、融合數據、轉發數據。
APS層是為NWK層與APL層提供一個通用的接口和安全管理,APL層為開發人員提供硬件設備管理接口應用框架下的API等。
2Mesh網的設計與實現
本文先將完整的DASH7協議棧架構于采用TI公司CC430系列中CC430F5137芯片的無線傳感器模塊上(模塊板裝載了溫濕度和電壓傳感器),并建立DASH7的無線傳感器網絡[6];然后建立了多個嵌入式web服務器站點,并與網絡中Edge_Worker節點相結合作為Mesh網的邊界路由節點,其兼顧了Wi-Fi或TCP/IP協議轉發的網關功能,同時具有路由優化功能,可降低網絡的通信代價。
2.1DASH7無線傳感網絡的設計搭建
基于DASH7協議的無線傳感器網絡拓撲結構是星型網絡,由多個End_Worker節點,一個Rout_Worker節點和一個Edge_Worker節點組成,End_Worker節點為終端工作節點,Rout_Worker節點為單跳中繼路由節點,其也可以作為終端工作節點,Edge_Worker節點為邊界融合節點,負責網絡協調、接受數據、數據的封裝與轉發等作用。圖3所示為DASH7星型網絡的運行流程圖。
圖3WSN星型網絡的運行流程圖
2.2邊界路由節點的實現
實現DASH7的Mesh網重點在于可以實現多跳功能邊界路由節點的設計,利用邊界路由節點將多個星型DASH7的WSN連通組成Mesh網。
邊界路由節點是將Edge_Worker節點與嵌入式web服務器技術結合,同時利用嵌入式web服務器的網關功能[7]將DASH7協議轉為Wi-Fi協議,并依賴Wi-Fi協議形成具有網關和多跳路由功能的異構Mesh網。
嵌入式web服務器具有成本低、處理能力強等特點。具體實現步驟如下:
(1)嵌入式平臺的搭建
本文基于ARM9系列的S3C2440嵌入式平臺,采用開源的Linux操作系統,修改Makefile文件和按照需求對Linux內核裁剪后進行交叉編譯,再將內核移植到嵌入式ARM平臺,并為其制作根文件系統yaff2,將TP-Link WN321G+無線網卡驅動[8]移植到Linux系統中,使用TP-Link WN321G+無線網卡轉發Wi-Fi協議數據。
(2)web服務器的實現
目前,常見的嵌入式web服務器有goahead、thttpd、lighttpd等,本文選用穩定性更強的boa-0.94.13。
上位機對boa-0.94.13源文件解壓后,修改configure配置文件和Makefile文件,并修改部分源代碼,交叉編譯后移植ARM平臺,建立相關目錄。
(3)sqlite數據庫的移植
為方便上位機直接對嵌入式web服務器進行數據訪問,需要為其建立數據庫,本文采用嵌入式輕量級數據庫sqlite-3.6.23, 解壓后交叉編譯移植到ARM機中。
(4)通用網關接口(CGI)應用程序開發
開發相應的CGI應用程序將嵌入式web服務器接收到的Edge_Worker節點數據存入sqlite數據庫,便于查詢,并使用socket技術將接收的數據通過TP-Link WN321G+無線網卡轉發出去。
圖4所示是邊界路由節點的組成圖。
圖4邊界路由節點的組成
2.3路由算法的設計與實現
為DASH7的Edge_Worker節點設計基于路由優化算法,是保證DASH7的Mesh網節點通信代價最小。本文以Dijkstra最短路徑代價算法為基礎,考慮了通信鏈路質量,設計了一個新的加權路徑代價函數來反應鏈路之間的節點通信代價。
Mesh網在考慮通信鏈路質量時,信道的負載通信質量通過MAC層Z-MAC協議調節,鏈路質量主要考慮到達目的節點所經歷不同路徑的鏈路代價。
DASH7路由算法的設計步驟如下:
步驟1:依據最短路由路徑樹算法(SPT)[9]將Mesh網路由節點建立分層,如圖5所示。
步驟2:結合將網絡分層的通信鏈路代價構造加權路徑代價函數Cost(Pi)。
步驟3:依據鏈路代價利用Dijkstra最短路徑代價算法[10]選擇最佳路由路徑。
圖5Mesh網路由節點分層
Mesh網中路由節點視為圖N(V,A),V={V1,V2,…,Vm}有限的m個路由節點,A={a1,a2,…,am}為m條有限的邊,Cm,n為同一條鏈路相鄰節點m與n之間通信代價,而Mesh網對應多條路由鏈路,則第i條鏈路第t個節點與第t+1個節點之間的通信代價。
SPT算法計算加權路徑代價計算引入了加權參數α,其取決于鏈路質量的好壞,鏈路i代價函數Cost(Pi)為:
在邊界路由節點中實現以上路由算法,并建立路由表,基于DASH7的Mesh網的實現方案如圖6所示。
2.4實驗結果分析
將上位PC機與Mesh網相連,就可以通過對嵌入式web服務器來訪問Mesh網節點的相關數據,圖7所示是在web服務器搭建的前臺頁面,上位機通過瀏覽器訪問嵌入式web服務器(訪問地址為192.168.1.230),并調用服務器中的CGI應用程序獲取數據。
圖7Mesh網部分節點的數據
實驗結論:上位PC機通過本文設計的DASH7的邊界路由節點訪問Mesh網內無線傳感器節點的數據,驗證了Mesh網絡的有效性。
3結語
本文通過對DASH7協議棧的研究與設計,在DASH7的無線傳感器網絡(WSN)基礎上使用嵌入式web服務器技術實現了具有路由優化選擇功能的邊界路由節點,解決了DASH7協議無法組建Mesh網絡的問題,其具有一定的理論研究意義與實踐應用價值。
參 考 文 獻
[1] ISO. ISO-IEC+18000-7, parameters for active air interface communications at 433 MHz [S]. Geneva: International Organization for Standardization, 2004.
[2] IEEE. IEEE Std 802.15.4-2006, ZigBee協議棧中文說明 [S]. USA: Institute of Electrical and Electronics Engineers, 2006.
[3] DE SANCTIS Mauro, STALLO Cosimo, PARRACINO Stefano, et al. Interoperability solutions between smartphones and wireless sensor networks [C]// 2012 IEEE ESTEL Conference.University of Rome Tor Vergata, Italy: IEEE, 2012: 111-121.
[4]范奕.基于CSMA/CA改進的Ad Hoc網MAC協議設計[D].成都:電子科技大學, 2007.
[5]劉瑞瑞.無線傳感器網絡通訊協議棧的研究[D].大連:大連理工大學,2007.
[6]楊林舉,詹宜巨,王榮杰.基于DASH7技術的溫度無線傳感器網絡設計[J].自動化與信息工程,2007(4):5-8.
[7]潘琢金,王秋實.嵌入式web服務器中動態web技術的研究[J].計算機工程與設計,2010,31(18):3975-3978.
[8]郭磊,廖啟征,魏世民,等.基于ARM9系統的USB無線網卡驅動程序設計[J].計算機系統應用,2007(1): 92-98.
[9] BECHKIT Walid, KOUDIL Mouloud, CHALLAL Yacine. A new weighted shortest path tree for converge cast traffic routing in WSN [J]. IEEE Transactions on Computers, 2013, 8(13): 187-192.
[10]王恒,李敏,劉其琛,等.一種基于確定性調度的工業無線網絡路由算法[J].儀器儀表學報,2011,9(32):1921-1928.
作者簡介:湯亞玲(1974—),男,安徽廬江人,副教授。研究方向為智能化信息處理、數據挖掘及網絡數據庫系統;
劉彥鵬(1987—),男,河南南陽人。研究方向為人工智能以及嵌入式和網絡技術;
汪 浩(1986—),男,安徽滁州人。研究方向為通信工程。
————————————————
收稿日期:2014-04-16
基金項目:安徽省高校重點項目(No.KJ2011A039);
安徽省高校優秀青年人才基金項目(No.2009SQRZ076)
Design of Mesh network based on DASH7 protocol
TANG Ya-ling, LIU Yan-peng, ZHANG Hui-yi
(School of Computer Science, Anhui University of Technology, Maanshan 243000, China)
Abstract: Based on the analysis of DASH7 protocol stack, the DASH7 protocol Mesh network of wireless sensor networks was designed by using the embedded Web server technology. On the basis of network hierarchical idea, the link weighted cost function was designed and network route selection was optimized. The Mesh network solves the application bottleneck that the DASH7 protocol network can not have multi-hop routing.
Keywords: DASH7; Mesh network; embedded platform; Web server
(3)sqlite數據庫的移植
為方便上位機直接對嵌入式web服務器進行數據訪問,需要為其建立數據庫,本文采用嵌入式輕量級數據庫sqlite-3.6.23, 解壓后交叉編譯移植到ARM機中。
(4)通用網關接口(CGI)應用程序開發
開發相應的CGI應用程序將嵌入式web服務器接收到的Edge_Worker節點數據存入sqlite數據庫,便于查詢,并使用socket技術將接收的數據通過TP-Link WN321G+無線網卡轉發出去。
圖4所示是邊界路由節點的組成圖。
圖4邊界路由節點的組成
2.3路由算法的設計與實現
為DASH7的Edge_Worker節點設計基于路由優化算法,是保證DASH7的Mesh網節點通信代價最小。本文以Dijkstra最短路徑代價算法為基礎,考慮了通信鏈路質量,設計了一個新的加權路徑代價函數來反應鏈路之間的節點通信代價。
Mesh網在考慮通信鏈路質量時,信道的負載通信質量通過MAC層Z-MAC協議調節,鏈路質量主要考慮到達目的節點所經歷不同路徑的鏈路代價。
DASH7路由算法的設計步驟如下:
步驟1:依據最短路由路徑樹算法(SPT)[9]將Mesh網路由節點建立分層,如圖5所示。
步驟2:結合將網絡分層的通信鏈路代價構造加權路徑代價函數Cost(Pi)。
步驟3:依據鏈路代價利用Dijkstra最短路徑代價算法[10]選擇最佳路由路徑。
圖5Mesh網路由節點分層
Mesh網中路由節點視為圖N(V,A),V={V1,V2,…,Vm}有限的m個路由節點,A={a1,a2,…,am}為m條有限的邊,Cm,n為同一條鏈路相鄰節點m與n之間通信代價,而Mesh網對應多條路由鏈路,則第i條鏈路第t個節點與第t+1個節點之間的通信代價。
SPT算法計算加權路徑代價計算引入了加權參數α,其取決于鏈路質量的好壞,鏈路i代價函數Cost(Pi)為:
在邊界路由節點中實現以上路由算法,并建立路由表,基于DASH7的Mesh網的實現方案如圖6所示。
2.4實驗結果分析
將上位PC機與Mesh網相連,就可以通過對嵌入式web服務器來訪問Mesh網節點的相關數據,圖7所示是在web服務器搭建的前臺頁面,上位機通過瀏覽器訪問嵌入式web服務器(訪問地址為192.168.1.230),并調用服務器中的CGI應用程序獲取數據。
圖7Mesh網部分節點的數據
實驗結論:上位PC機通過本文設計的DASH7的邊界路由節點訪問Mesh網內無線傳感器節點的數據,驗證了Mesh網絡的有效性。
3結語
本文通過對DASH7協議棧的研究與設計,在DASH7的無線傳感器網絡(WSN)基礎上使用嵌入式web服務器技術實現了具有路由優化選擇功能的邊界路由節點,解決了DASH7協議無法組建Mesh網絡的問題,其具有一定的理論研究意義與實踐應用價值。
參 考 文 獻
[1] ISO. ISO-IEC+18000-7, parameters for active air interface communications at 433 MHz [S]. Geneva: International Organization for Standardization, 2004.
[2] IEEE. IEEE Std 802.15.4-2006, ZigBee協議棧中文說明 [S]. USA: Institute of Electrical and Electronics Engineers, 2006.
[3] DE SANCTIS Mauro, STALLO Cosimo, PARRACINO Stefano, et al. Interoperability solutions between smartphones and wireless sensor networks [C]// 2012 IEEE ESTEL Conference.University of Rome Tor Vergata, Italy: IEEE, 2012: 111-121.
[4]范奕.基于CSMA/CA改進的Ad Hoc網MAC協議設計[D].成都:電子科技大學, 2007.
[5]劉瑞瑞.無線傳感器網絡通訊協議棧的研究[D].大連:大連理工大學,2007.
[6]楊林舉,詹宜巨,王榮杰.基于DASH7技術的溫度無線傳感器網絡設計[J].自動化與信息工程,2007(4):5-8.
[7]潘琢金,王秋實.嵌入式web服務器中動態web技術的研究[J].計算機工程與設計,2010,31(18):3975-3978.
[8]郭磊,廖啟征,魏世民,等.基于ARM9系統的USB無線網卡驅動程序設計[J].計算機系統應用,2007(1): 92-98.
[9] BECHKIT Walid, KOUDIL Mouloud, CHALLAL Yacine. A new weighted shortest path tree for converge cast traffic routing in WSN [J]. IEEE Transactions on Computers, 2013, 8(13): 187-192.
[10]王恒,李敏,劉其琛,等.一種基于確定性調度的工業無線網絡路由算法[J].儀器儀表學報,2011,9(32):1921-1928.
作者簡介:湯亞玲(1974—),男,安徽廬江人,副教授。研究方向為智能化信息處理、數據挖掘及網絡數據庫系統;
劉彥鵬(1987—),男,河南南陽人。研究方向為人工智能以及嵌入式和網絡技術;
汪 浩(1986—),男,安徽滁州人。研究方向為通信工程。
————————————————
收稿日期:2014-04-16
基金項目:安徽省高校重點項目(No.KJ2011A039);
安徽省高校優秀青年人才基金項目(No.2009SQRZ076)
Design of Mesh network based on DASH7 protocol
TANG Ya-ling, LIU Yan-peng, ZHANG Hui-yi
(School of Computer Science, Anhui University of Technology, Maanshan 243000, China)
Abstract: Based on the analysis of DASH7 protocol stack, the DASH7 protocol Mesh network of wireless sensor networks was designed by using the embedded Web server technology. On the basis of network hierarchical idea, the link weighted cost function was designed and network route selection was optimized. The Mesh network solves the application bottleneck that the DASH7 protocol network can not have multi-hop routing.
Keywords: DASH7; Mesh network; embedded platform; Web server
(3)sqlite數據庫的移植
為方便上位機直接對嵌入式web服務器進行數據訪問,需要為其建立數據庫,本文采用嵌入式輕量級數據庫sqlite-3.6.23, 解壓后交叉編譯移植到ARM機中。
(4)通用網關接口(CGI)應用程序開發
開發相應的CGI應用程序將嵌入式web服務器接收到的Edge_Worker節點數據存入sqlite數據庫,便于查詢,并使用socket技術將接收的數據通過TP-Link WN321G+無線網卡轉發出去。
圖4所示是邊界路由節點的組成圖。
圖4邊界路由節點的組成
2.3路由算法的設計與實現
為DASH7的Edge_Worker節點設計基于路由優化算法,是保證DASH7的Mesh網節點通信代價最小。本文以Dijkstra最短路徑代價算法為基礎,考慮了通信鏈路質量,設計了一個新的加權路徑代價函數來反應鏈路之間的節點通信代價。
Mesh網在考慮通信鏈路質量時,信道的負載通信質量通過MAC層Z-MAC協議調節,鏈路質量主要考慮到達目的節點所經歷不同路徑的鏈路代價。
DASH7路由算法的設計步驟如下:
步驟1:依據最短路由路徑樹算法(SPT)[9]將Mesh網路由節點建立分層,如圖5所示。
步驟2:結合將網絡分層的通信鏈路代價構造加權路徑代價函數Cost(Pi)。
步驟3:依據鏈路代價利用Dijkstra最短路徑代價算法[10]選擇最佳路由路徑。
圖5Mesh網路由節點分層
Mesh網中路由節點視為圖N(V,A),V={V1,V2,…,Vm}有限的m個路由節點,A={a1,a2,…,am}為m條有限的邊,Cm,n為同一條鏈路相鄰節點m與n之間通信代價,而Mesh網對應多條路由鏈路,則第i條鏈路第t個節點與第t+1個節點之間的通信代價。
SPT算法計算加權路徑代價計算引入了加權參數α,其取決于鏈路質量的好壞,鏈路i代價函數Cost(Pi)為:
在邊界路由節點中實現以上路由算法,并建立路由表,基于DASH7的Mesh網的實現方案如圖6所示。
2.4實驗結果分析
將上位PC機與Mesh網相連,就可以通過對嵌入式web服務器來訪問Mesh網節點的相關數據,圖7所示是在web服務器搭建的前臺頁面,上位機通過瀏覽器訪問嵌入式web服務器(訪問地址為192.168.1.230),并調用服務器中的CGI應用程序獲取數據。
圖7Mesh網部分節點的數據
實驗結論:上位PC機通過本文設計的DASH7的邊界路由節點訪問Mesh網內無線傳感器節點的數據,驗證了Mesh網絡的有效性。
3結語
本文通過對DASH7協議棧的研究與設計,在DASH7的無線傳感器網絡(WSN)基礎上使用嵌入式web服務器技術實現了具有路由優化選擇功能的邊界路由節點,解決了DASH7協議無法組建Mesh網絡的問題,其具有一定的理論研究意義與實踐應用價值。
參 考 文 獻
[1] ISO. ISO-IEC+18000-7, parameters for active air interface communications at 433 MHz [S]. Geneva: International Organization for Standardization, 2004.
[2] IEEE. IEEE Std 802.15.4-2006, ZigBee協議棧中文說明 [S]. USA: Institute of Electrical and Electronics Engineers, 2006.
[3] DE SANCTIS Mauro, STALLO Cosimo, PARRACINO Stefano, et al. Interoperability solutions between smartphones and wireless sensor networks [C]// 2012 IEEE ESTEL Conference.University of Rome Tor Vergata, Italy: IEEE, 2012: 111-121.
[4]范奕.基于CSMA/CA改進的Ad Hoc網MAC協議設計[D].成都:電子科技大學, 2007.
[5]劉瑞瑞.無線傳感器網絡通訊協議棧的研究[D].大連:大連理工大學,2007.
[6]楊林舉,詹宜巨,王榮杰.基于DASH7技術的溫度無線傳感器網絡設計[J].自動化與信息工程,2007(4):5-8.
[7]潘琢金,王秋實.嵌入式web服務器中動態web技術的研究[J].計算機工程與設計,2010,31(18):3975-3978.
[8]郭磊,廖啟征,魏世民,等.基于ARM9系統的USB無線網卡驅動程序設計[J].計算機系統應用,2007(1): 92-98.
[9] BECHKIT Walid, KOUDIL Mouloud, CHALLAL Yacine. A new weighted shortest path tree for converge cast traffic routing in WSN [J]. IEEE Transactions on Computers, 2013, 8(13): 187-192.
[10]王恒,李敏,劉其琛,等.一種基于確定性調度的工業無線網絡路由算法[J].儀器儀表學報,2011,9(32):1921-1928.
作者簡介:湯亞玲(1974—),男,安徽廬江人,副教授。研究方向為智能化信息處理、數據挖掘及網絡數據庫系統;
劉彥鵬(1987—),男,河南南陽人。研究方向為人工智能以及嵌入式和網絡技術;
汪 浩(1986—),男,安徽滁州人。研究方向為通信工程。
————————————————
收稿日期:2014-04-16
基金項目:安徽省高校重點項目(No.KJ2011A039);
安徽省高校優秀青年人才基金項目(No.2009SQRZ076)
Design of Mesh network based on DASH7 protocol
TANG Ya-ling, LIU Yan-peng, ZHANG Hui-yi
(School of Computer Science, Anhui University of Technology, Maanshan 243000, China)
Abstract: Based on the analysis of DASH7 protocol stack, the DASH7 protocol Mesh network of wireless sensor networks was designed by using the embedded Web server technology. On the basis of network hierarchical idea, the link weighted cost function was designed and network route selection was optimized. The Mesh network solves the application bottleneck that the DASH7 protocol network can not have multi-hop routing.
Keywords: DASH7; Mesh network; embedded platform; Web server