《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于多個開源系統的6LoWPAN邊界路由器的設計
基于多個開源系統的6LoWPAN邊界路由器的設計
2018年電子技術應用第7期
鄔明彪1,2,吳桂清1,陳清華2
1.湖南大學 電氣與信息工程學院,湖南 長沙410082;2.浙江清華長三角研究院,浙江 嘉興314006
摘要: 在開源系統OpenWrt基礎上,開發應用程序socket-support,并將6LBR移植到OpenWrt上。以TP-link的TL-WR703N芯片和TI公司生產的低功耗CC1310芯片作為核心硬件平臺,基于Contiki、6LBR與OpenWrt系統設計了一種6LoWPAN邊界路由器。同時采用CC1310芯片設計了兩個6LoWPAN子節點,搭建了一個包含PC、子節點和邊界路由器在內的物聯網應用測試網絡。測試結果表明,PC端可利用CoAP協議通過邊界路由器實現對6LoWPAN子節點的數據采集與控制,可以應用于工業控制、環境檢測、智能家居等多種場合,具有一定的應用價值。
中圖分類號: TN923
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.175198
中文引用格式: 鄔明彪,吳桂清,陳清華. 基于多個開源系統的6LoWPAN邊界路由器的設計[J].電子技術應用,2018,44(7):64-67.
英文引用格式: Wu Mingbiao,Wu Guiqing,Chen Qinghua. Design of 6LoWPAN border router based on multiple open source system[J]. Application of Electronic Technique,2018,44(7):64-67.
Design of 6LoWPAN border router based on multiple open source system
Wu Mingbiao1,2,Wu Guiqing1,Chen Qinghua2
1.College of Electrical and Information Engineering,Hunan University,Changsha 410082,China; 2.Insitute of Information Technology,Yangtze Delta Region Institute of Tsinghua University,Jiaxing 314006,China
Abstract: Based on the open source system of OpenWrt,it develops application socket-support,and ports the 6LoWPAN/RPL border router(6LBR) to the OpenWrt. It Choses TL-WR703N SoC and CC1310DK as the core handware platforms, and relys on Contiki,6LBR and OpenWrt, to design a 6LoWPAN border router. Meantime,it uses lowpower CC1310 chips produced by TI company to design two 6LoWPAN sub nodes,and buids a testing network of Internet of Things, including a PC, two 6LoWPAN nodes and a 6LoWPAN border router. The result shows that PC terminal can use CoAP protocol to realize the data acquisition and control of the 6LoWPAN node.This 6LoWPAN border router can be applied to some seenarios such as industrial control, environmmental monitoring, smart home and so on, and it has the certain application value.
Key words : OpenWrt;6LBR;Contiki;border router

0 引言

    自從物聯網概念的提出,6LoWPAN(IPv6 over Low Power Wireless Personal Area Network)邊界路由器就是主要的研究內容之一。為實現Internet網絡與無線傳感器網絡的互聯,IETF工作組早在2004年就提出并制定了基于IPv6的以IEEE802.15.4作為底層標準的低功耗無線個域網6LoWPAN技術標準,其主要包括6LoWPAN適配層、IPv6報頭壓縮與解壓、數據分片與重組、路由協議、IPv6網絡接入和節點地址管理技術等[1]。

    目前6LoWPAN協議已實現在多種開源系統上,例如6LBRContiki,本文采用開源的、高度可移植的6LBR和Contiki操作系統。其中,Contiki是一個開源的專門為需要聯網、硬件資源嚴重受限的嵌入式設備而設計的事件驅動多任務操作系統[2],通過uIP協議棧提供了對IPv4和IPv6的TCP/IP協議的支持,還包含了一套輕量級的無線傳感器網絡協議棧Rime;同時在IPv6中還實現了6LoWPAN協議、RPL無線路由協議以及應用層協議CoAP。6LBR是為工業應用準備的6LoWPAN/RPL邊界路由解決方案,它運行在低成本、開放的硬件平臺和Linux主機上,因此6LBR更符合未來邊界路由器的發展方向,其設計思路更能滿足今后的應用需求[2]

    本文在Contiki和OpenWrt的基礎上,將6LBR移植到嵌入式OpenWrt系統上,設計了一種實用的邊界路由器。其能夠完成IP協議棧和6LoWPAN協議棧之間的轉換,使IP網絡中的主機可以訪問6LoWPAN傳感網絡中的節點[3]。

1 邊界路由器實現方案

    OpenWrt是一個基于Linux內核的路由器操作系統,支持各種處理器架構,對擁有ARM架構的TL-WR703N路由器有很好的支持。提供簡單易用的環境框架以及模塊化設計來構架自己的應用程序,這大大方便了開發應用程序和6LBR移植到OpenWrt系統中。本文在OpenWrt系統的基礎上,提出了兩種6LoWPAN邊界路由器的解決方案,分別是6LBR-OpenWrt邊界路由器方案和OpenWrt邊界路由器解決方案。

2 6LBR-OpenWrt邊界路由器

2.1 6LBR-OpenWrt邊界路由器系統結構

    6LBR用于將基于802.15.4與6LoWPAN的無線傳感器網絡和基于以太網的IPv6網絡連接起來。6LBR設計靈活,它可以配置為支持各種網絡拓撲結構用于連接無線傳感器網絡與IP世界。路由器TL-WR703N不能直接與6LoWPAN網絡中的網絡子節點進行無線通信,要采用運行Contiki程序的CC1310DK芯片,程序帶有相關SLIP協議,系統框圖如圖1所示。

qrs2-t1.gif

2.2 6LBR的運行模式

    6LBR目前有兩種運行方式:網橋模式和路由模式。在路由模式中,子節點構成的6LoWPAN無線傳感器網絡和以太網有不同的網絡前綴;在網橋模式中,前綴則一樣。文獻[2]和文獻[4]詳細介紹了6LBR的幾種模式,網橋模式不再贅述。在本文用到的路由器模式中,6LBR當作一個完整的IPv6路由器,用于連接以太網和6LoWPAN網絡。6LoWPAN網絡由RPL協議來管理,以太網端通過IPv6鄰居發現協議管理。在這種模式下,通過數據包過濾器模塊,6LBR向Contiki提供了一個虛擬的接口。路由器模式可以將傳感器網絡分隔成一個獨立的子網,這樣能清晰地分辨出無線傳感器中的節點;由于網絡前綴有切換功能,節點可以在不同的6LoWPAN網絡中移動;節點會根據新的網絡前綴獲得一個新的地址,路由器模式結構如圖2所示。

qrs2-t2.gif

2.3 軟件設計

    本文采用路由器模式,CC1310上運行的Slip-radio程序可以實現6LBR Linux進程和802.15.4無線電的通信,通過串口收發數據。MAC(Medium Acess Control)層在6LBR里,驅動方式為載波偵聽多路訪問(Carrier Sense Multiple Acess,CSMA);RDC(Radio Duty Cycling)層在Slip-radio里,MAC層接收RDC層發來的數據,并通過RDC發送數據;如果RDC層檢測到數據碰撞,MAC重發此數據。6LBR移植到TL-WR703N路由器上之后,需要在路由器上創建6lbr.conf文件,其主要內容如下:

    MODE=ROUTER

    RAW_ETH=0

    BRIDGE=1

    ETH_JOIN_BRIDGE=0

    DEV_BRIDGE=br-lan

    DEV_TAP=tap0

    DEV_ETH=br-lan

    RAW_ETH_FCS=0

    DEV_RADIO=/dev/ttyUSB0  BAUDRATE=9600

    CC1310DK與TL-WR703N串口連接,路由器上系統會根據串口生成一個虛擬網卡tap0,br-lan包括有線lan口和無線網;然后讓tap0口和br-lan口相接。PC通過lan口把數據傳給TL-WR703N,數據經過6LBR處理之后通過tap0即串口發送給CC1310,CC1310通過無線的方式將數據傳給6LoWPAN傳感器網絡。

3 OpenWrt邊界路由器

3.1 OpenWrt邊界路由器系統結構

    OpenWrt邊界路由器也采用到CC1310DK芯片,與第一種方案不同的是,CC1310DK芯片不僅作為與6LoWPAN傳感器網絡連接的802.15.4接口,還作為無線傳感器網絡的RPL根節點,支持對網絡的路由功能和管理RPL網絡,集成了6LoWPAN適配層,并能完成IPv6協議和IEEE802.15.4協議的轉換,使完整的6LoWPAN/RPL網絡和OpenWrt邊界路由器實現通信,因此真正起到6LoWPAN邊界路由器功能的是CC1310DK。TP-WR703N通過以太網網口或者無線的方式與計算機主機連接,這樣OpenWrt邊界路由器便實現了處理來自IP網絡和WSN的IPv6之間轉發的數據。其系統框圖如圖3所示。

qrs2-t3.gif

3.2 軟件設計

    CC1310DK通過USB接口與TL-WR703N連接,此時串口在路由器上生成/dev/ttyUSB0端口號,OpenWrt上的tunslip6軟件包把端口號虛擬成tun0網卡??梢詫崿F在TL-WR703N上ping通6LoWPAN傳感器網絡中的子節點,外部網絡如PC通過lan口ping通邊界路由器,但無法ping通6LoWPAN傳感器網絡中的子節點;為了實現IP網絡與6LoWPAN傳感器網絡的通信,有兩種方式,第一種是對OpenWrt里的firewall/files里添加如下配置:

    config zone option input 'ACCEPT'

                option forward 'REJECT'

                option output 'ACCEPT'

                option name '6lowpan'

                option network 'lan6'

    config forwarding   option dest 'lan'

                        option src '6lowpan'

    config forwarding   option dest '6lowpan'

                        option src 'lan'

    在socket-support軟件包里加入如下腳本命令:

    uci set network.lan6=interface

    uci set network.lan6.proto=static

    uci set network.lan6.ifname=tun0

    uci set network.lan6.ip6assign=64

    uci commit network

    Uci命令行添加了一個tun0的網口,tun0是6LoWPAN傳感器網絡和邊界路由器通信的接口,這個配置就是讓lan口和tun0口相通,兩者可以相互轉發數據。

    6LoWPAN子節點里運行帶有CoAP協議的程序。CoAP協議(Constrained Application Protocol)是為物聯網中資源受限設備制定的基于UDP的應用層傳輸協議,可讓小型設備接入互聯網世界。Libcoap是CoAP協議的C語言實現,它提供了server和client的功能。6LoWPAN子節點用作server端;OpenWrt提供了Libcoap軟件包,TL-WR703N路由器可作client端,通過coap-client指令實現路由器對6LoWPAN無線傳感器網絡中子節點的數據通信。實際上目前的通信僅在TL-WR703N路由器和傳感器網絡構成的局域網實現。外部網絡通過對路由器TL-WR703N的操作實現通信,因此本文第二種方式為在OpenWrt系統上開發了軟件包socket-support,軟件包主要基于socket程序在Linux下開發了服務器端,通信協議為TCP協議,計算機、手機等外部設備運行客戶端。

    這兩種方式的數據通信除了在PC端接收發送不同外,基本是一樣的。PC通過以太網口將數據傳遞給路由器TL-WR703N,運行border-router程序的CC1310與路由器通信接口是虛擬網卡tun0。CC1310可以看作是6LoWPAN網關節點,網關節點通過SLIP協議從路由器收到數據包,數據包格式為IPv6,而無線傳感網絡通信標準為IEEE 802.15.4。所以網關節點利用6LoWPAN適配層對數據包進行報頭壓縮、數據分片,處理后的數據根據目的地址也就是6LoWPAN網絡子節點的IPv6地址發送下去;子節點收到數據后進行數據重組,響應命令,將采集到的數據壓縮、分片后傳給網關節點,6LoWPAN網關節點對收到的數據重組通過tun0口傳給路由器,路由器通過以太網口傳到IPv6網絡上。其通信過程如圖4所示。

qrs2-t4.gif

4 邊界路由器功能驗證

    由于6LBR是作為軟件包應用程序移植到OpenWrt上的,為了測試應用方便,可以在第二種方案的基礎上選擇6LBR應用程序包。這兩種方案都需要邊界路由器串口連接CC1310DK,TP-WR703N目前只提供一個端口,所以在調試時只能分開測試驗證。

4.1 6LBR-Openwrt邊界路由器連通性測試

    連通性測試主要采取如下步驟: 

    (1)在PC端打開cmd.exe或者,執行如下命令ping-6 bbbb::100,測試PC到網關已通,如圖5所示。

qrs2-t5.gif

    (2)在運行有Copper插件的火狐瀏覽器內輸入coap://[子節點IPv6地址]:5683/,可以訪問子節點的Web端程序,然后可以選擇特定的資源使用GET/POST/PUT/DELETE來獲取資源的具體內容,可以看出子以太網和無線網的IPv6地址前綴并不相同,因此工作方式為路由模式,如圖6所示。

qrs2-t6.gif

4.2 OpenWrt邊界路由器連通性測試

    (1)打開網絡調試助手,選擇TCP Client模式連接邊界路由器,輸入getip和getipall命令可得到邊界路由器的IPv6地址以及子節點的IPv6地址,如圖7所示。

qrs2-t7.gif

    (2)ping6子節點地址進行ping連通性測試,也可將子節點的IPv6地址輸入到瀏覽器地址欄里訪問子節點Web界面。既可在Web頁面進行GET/POST/PUT/DELETE命令操作,也可在網絡調試助手內輸入coap命令進行對子節點控制,如:coap-client-m get coap://:[子節點IPv6地址]:5683/sen/batmon/tem-p(得到子節點芯片的溫度值29)。因此可根據具體的實際應用選擇Web端頁面的方式還是網絡調試助手,如圖8所示。

qrs2-t8.gif

5 結論

    本文以Contiki、6LBR以及OpenWrt等多個開源系統為基礎,從多方面設計研究了6LoWPAN邊界路由器,提出了多種可實施的解決方案。從測試結果可看出,所設計的6LoWPAN邊界路由器達到了預期的設計目標,可以根據具體無線傳感網絡應用場合選擇合適的邊界路由器,下一步將陸續完善邊界路由器并應用到環境檢測中。

參考文獻

[1] 王國清.6LoWPAN的研究及在WSN節點中的實現[D].北京:北方工業大學,2014.

[2] 張巖.基于Contiki系統的物聯網應用平臺設計與實現[D].哈爾濱:哈爾濱工程大學,2013.

[3] 田廣東,葉鑫.基于Contiki的6LoWPAN邊界路由器的設計[J].電子技術應用,2016,42(3):61-63,70.

[4] SPANDAN.6LBRModes[EB/OL].(2016-5-20)[2017-12-31].https://Github.com/cetic/6lbr/wiki/6LBR Modes.

[5] HUI J,THUBERT P.Compression format for IPv6 datagrams over IEEE 802.15. 4-based networks[S].RFC 6282,2011.

[6] 楊勇.基于Contiki的6LoWPAN網關節點設計[D].武漢:華中師范大學,2013.

[7] 朱若鑫.基于多個開源系統的6LoWPAN技術在物聯網應用中的研究[D].昆明:云南大學,2015.

[8] 常英亮.基于嵌入式Linux的物聯網網關研究與實現[D].北京:北京交通大學,2014.

[9] 盛李立.基于Contiki操作系統的無線傳感器網絡節點的設計與實現[D].武漢:武漢工程大學,2012.



作者信息:

鄔明彪1,2,吳桂清1,陳清華2

(1.湖南大學 電氣與信息工程學院,湖南 長沙410082;2.浙江清華長三角研究院,浙江 嘉興314006)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩另类字幕中文| 国产深夜精品| 新67194成人永久网站| a4yy欧美一区二区三区| 亚洲人成在线影院| 亚洲国产日韩欧美一区二区三区| 午夜精品久久久久99热蜜桃导演| 亚洲一区综合| 亚洲一区二区三区免费在线观看| 亚洲美女性视频| 亚洲三级电影在线观看| 亚洲国产日韩欧美一区二区三区| 在线看国产日韩| 亚洲激情视频网站| 亚洲激情第一区| 亚洲精品一二三| 一区二区不卡在线视频 午夜欧美不卡在 | 日韩视频免费看| 9色精品在线| 亚洲一区二区三区激情| 亚洲免费视频成人| 性做久久久久久久免费看| 欧美尤物巨大精品爽| 亚洲第一页在线| 亚洲免费精品| 亚洲一区二区日本| 午夜精品久久| 久久九九全国免费精品观看| 久久亚洲精品一区二区| 免费日韩av| 欧美日韩国产综合新一区| 国产精品第13页| 国产网站欧美日韩免费精品在线观看 | 久久精品99无色码中文字幕| 久久久久久久久岛国免费| 美乳少妇欧美精品| 欧美日韩免费在线视频| 国产精品丝袜xxxxxxx| 国产字幕视频一区二区| 亚洲国产综合在线看不卡| 一本一本久久a久久精品综合妖精| 亚洲综合日韩| 亚洲国产美女精品久久久久∴| 亚洲免费高清视频| 午夜久久电影网| 玖玖在线精品| 国产精品国产精品| 伊大人香蕉综合8在线视| 亚洲精品在线视频| 午夜视黄欧洲亚洲| 亚洲精品国产精品乱码不99按摩 | 国产日韩欧美91| 亚洲国产精品久久91精品| 一级日韩一区在线观看| 久久成人18免费网站| 日韩亚洲欧美中文三级| 欧美在线视频导航| 欧美精品一区在线播放| 国产伦精品一区二区三区免费| 一区二区视频免费在线观看| 99精品热视频只有精品10| 欧美在线三区| 一区二区三区欧美亚洲| 久久精品国产精品亚洲| 欧美日韩国产精品成人| 国产视频一区二区三区在线观看| 亚洲激情啪啪| 欧美一区二区在线观看| 亚洲网站在线| 欧美α欧美αv大片| 国产精品入口福利| 亚洲欧洲一区二区天堂久久| 欧美综合77777色婷婷| 一区二区三区不卡视频在线观看 | 国产伦精品一区二区三区高清版 | 国产精品国产三级国产普通话三级| 依依成人综合视频| 亚洲午夜一级| 99re成人精品视频| 老**午夜毛片一区二区三区| 国产精品久久久久久妇女6080| 亚洲第一在线综合网站| 亚洲免费网站| 亚洲午夜极品| 欧美激情精品久久久久久蜜臀| 国产色视频一区| 亚洲午夜羞羞片| 一区二区三区鲁丝不卡| 久久中文在线| 国产欧美韩国高清| 亚洲网在线观看| 亚洲视频播放| 欧美日本一区二区三区| 亚洲第一黄色网| 久久高清国产| 久久精品导航| 国产视频一区在线观看| 亚洲欧美精品在线| 亚洲欧美中文日韩在线| 欧美日韩国产成人高清视频| 亚洲成色最大综合在线| 久久成人18免费网站| 欧美在线影院| 国产欧美日韩一区| 亚洲欧美国产va在线影院| 亚洲午夜一区| 欧美日韩一区二| 99在线|亚洲一区二区| 亚洲另类在线视频| 欧美成人免费小视频| 激情丁香综合| 久久精品噜噜噜成人av农村| 久久久99国产精品免费| 国产欧美亚洲一区| 午夜精品久久久久久| 久久超碰97人人做人人爱| 国产精品中文字幕欧美| 午夜精品在线看| 久久精品国产久精国产思思| 国产日韩欧美精品综合| 欧美呦呦网站| 久久综合色播五月| 永久久久久久| 亚洲精品视频在线观看免费| 欧美激情精品久久久久久大尺度 | 欧美亚洲在线播放| 国产欧美精品| 欧美在线视频免费观看| 久久婷婷av| 亚洲成色777777女色窝| 亚洲美女电影在线| 欧美日韩爆操| 在线亚洲+欧美+日本专区| 亚洲欧美国产77777| 国产伦精品一区二区三区在线观看| 午夜免费电影一区在线观看| 久久女同互慰一区二区三区| 在线免费观看一区二区三区| 91久久久久久久久| 欧美日本精品| 亚洲一区二区久久| 久久久xxx| 最新成人av网站| 亚洲在线观看免费| 国产午夜精品视频免费不卡69堂| 久久国产一区| 欧美日韩国产三区| 亚洲一区在线播放| 久热精品视频在线| 亚洲精品一区二区三区av| 亚洲网站在线播放| 国产有码在线一区二区视频| 亚洲日本中文字幕免费在线不卡| 欧美日韩色一区| 欧美伊人久久| 欧美巨乳在线观看| 亚洲欧美日韩在线| 欧美freesex交免费视频| 一区二区激情小说| 久久精品综合| 亚洲激情欧美| 新狼窝色av性久久久久久| 激情成人av在线| 亚洲午夜久久久久久久久电影院 | 欧美日韩视频在线| 性xx色xx综合久久久xx| 欧美电影免费观看高清| 在线中文字幕日韩| 久色婷婷小香蕉久久| 一区二区三区视频在线播放| 久久久欧美精品| 9国产精品视频| 久久综合伊人| 亚洲一二三区精品| 欧美暴力喷水在线| 午夜精品久久久久久99热| 欧美好骚综合网| 欧美一区二区三区在线播放| 欧美日韩大陆在线| 欧美一区在线视频| 欧美日韩午夜精品| 亚洲国产成人不卡| 国产精品有限公司| 一区二区三区日韩精品| 一区二区视频欧美| 午夜欧美大尺度福利影院在线看| 1000部国产精品成人观看| 午夜精品一区二区三区在线| 亚洲缚视频在线观看| 久久gogo国模裸体人体| 99精品热视频| 欧美国产激情| 久久精品国产清高在天天线| 国产精品第2页| 9色精品在线| 1000部国产精品成人观看| 欧美一区二区三区免费观看| 亚洲精品美女久久久久| 久久亚洲私人国产精品va| 亚洲图片欧洲图片av|