• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      在OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的方法

      2017-03-21 03:16:44羅思欣周有平惠州永弘昌科技有限公司惠州56006佛山市微訊電子科技有限公司佛山58000惠州學(xué)院惠州56007
      環(huán)境技術(shù) 2017年1期
      關(guān)鍵詞:路由器串口路由

      羅思欣,周有平,肖 東(.惠州永弘昌科技有限公司,惠州 56006; . 佛山市微訊電子科技有限公司,佛山 58000;. 惠州學(xué)院,惠州 56007)

      在OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的方法

      羅思欣1,周有平2,肖 東3
      (1.惠州永弘昌科技有限公司,惠州 516006; 2. 佛山市微訊電子科技有限公司,佛山 528000;3. 惠州學(xué)院,惠州 516007)

      邊緣路由器是指將局域網(wǎng)匯接到廣域互聯(lián)網(wǎng)的一種路由設(shè)備。研究和實(shí)現(xiàn)的是將運(yùn)行OpenWrt的路由器增加對(duì)6lowpan的支持,使其成為6lowpan網(wǎng)絡(luò)的邊緣路由器,并通過(guò)制作和構(gòu)建的zigbee傳感器網(wǎng)絡(luò)節(jié)點(diǎn)上實(shí)現(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能夠直接通過(guò)IPv6訪問(wèn)到互聯(lián)網(wǎng)的方法。

      6LoWPAN;傳感網(wǎng)絡(luò);邊緣路由器

      引言

      OpenWrt是一個(gè)功能強(qiáng)大的開(kāi)源路由器linux系統(tǒng)。用戶可以很方便地對(duì)其進(jìn)行定制、優(yōu)化,在國(guó)內(nèi)外已經(jīng)建立起了一個(gè)很活躍的生態(tài)圈[1,2]。國(guó)內(nèi)市場(chǎng)火爆的極路由就是基于OpenWrt系統(tǒng)制作的。6lowpan是當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)研究的熱門領(lǐng)域,通過(guò)對(duì)IPv6數(shù)據(jù)包頭進(jìn)行壓縮、解壓縮,以及在IP層從添加適用于無(wú)線自組網(wǎng)的路由協(xié)議RPL。實(shí)現(xiàn)了在無(wú)線傳感器網(wǎng)絡(luò)中也能直接使用IPv6協(xié)議。目前支持6lowpan協(xié)議比較好的開(kāi)源系統(tǒng)有Contiki-os和Tinyos,本文采用Contki-os。 邊緣路由器又稱“接入路由器”,是位于網(wǎng)絡(luò)外圍(邊緣)的路由器。位于網(wǎng)絡(luò)中心的路由器叫核心路由器。邊緣路由器和核心路由器是相對(duì)概念,它們都屬于路由器,但是有不同的大小和容量,某一層的核心路由器是另一層的邊緣路由器。邊緣路由器的定位是將用戶由局域網(wǎng)匯接到廣域網(wǎng),在局域網(wǎng)和廣域網(wǎng)技術(shù)尚有很大差異的今天,邊緣路由器肩負(fù)著多種重任,簡(jiǎn)單地說(shuō)就是要滿足用戶的多種業(yè)務(wù)需求,從簡(jiǎn)單的聯(lián)網(wǎng)到復(fù)雜的多媒體業(yè)務(wù)和VPN業(yè)務(wù)等。這需要邊緣路由器在硬件和軟件上都要有過(guò)硬的實(shí)現(xiàn)能力。各設(shè)備提供商因此展開(kāi)了激烈的競(jìng)爭(zhēng),派生出各種新鮮的技術(shù)手段[3]。因此,邊緣路由器是指將局域網(wǎng)匯接到廣域互聯(lián)網(wǎng)的一種路由設(shè)備。本文研究和實(shí)現(xiàn)的是將運(yùn)行OpenWrt的路由器增加對(duì)6lowpan的支持,使其成為6lowpan網(wǎng)絡(luò)的邊緣路由器,并通過(guò)制作和構(gòu)建的Zigbee傳感器網(wǎng)絡(luò)節(jié)點(diǎn)上實(shí)現(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能夠直接通過(guò)IPv6訪問(wèn)到互聯(lián)網(wǎng)的方法。

      1 系統(tǒng)硬件配置

      為了實(shí)現(xiàn)本文在OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的方法,選擇TP-link的路由器,型號(hào)為703N,硬件系統(tǒng)為8 M的FLASH和64 M的RAM。為了提升無(wú)線網(wǎng)絡(luò)的通信距離,在制作上特意增加外置天線。首先安裝(其實(shí)就是對(duì)現(xiàn)有的TP-link的路由器刷機(jī))OpenWrt官方編譯的固件處下載[4]。由于需要安裝Python,系統(tǒng)的8 M FLASH不夠,因此通過(guò)USB hub連接了一個(gè)U盤,把需要安裝的軟件都裝在U盤上了。同時(shí),為了后面實(shí)施在OpenWrt增加IPv6和6lowpan支持,系統(tǒng)硬件配置增加一個(gè)USB接口設(shè)計(jì)的Zigbee模塊根節(jié)點(diǎn),如圖1所示,其中右邊的盒子為USB HUB。

      USB接口設(shè)計(jì)的Zigbee模塊節(jié)點(diǎn)是為了實(shí)現(xiàn)本文在OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的方法而研究和制作的,是基于可運(yùn)行contiki系統(tǒng)CC2530無(wú)線傳感器節(jié)點(diǎn)模塊[5],并采用USB接口進(jìn)行供電和通信,設(shè)計(jì)和制作的模塊如圖2所示。傳感器節(jié)點(diǎn)模塊上兩個(gè)芯片分別是CC2530和CP210x USB轉(zhuǎn)串口芯片,并預(yù)留了下載口,方便升級(jí)和調(diào)試程序。模塊上同時(shí)提供了一個(gè)復(fù)位按鍵和兩個(gè)用戶按鍵。另外為這個(gè)小板提供的抓包固件,可以用于捕獲分析802.15.4的空中數(shù)據(jù)包,便于對(duì)無(wú)線網(wǎng)絡(luò)的協(xié)議和數(shù)據(jù)進(jìn)行分析。

      2 OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的方法

      2.1 制作無(wú)線傳感器網(wǎng)絡(luò)的根節(jié)點(diǎn)固件

      Contiki支持多個(gè)CPU平臺(tái),本文使用的CC2530平臺(tái)。首先在Contiki官方下載最新穩(wěn)定版源碼,官方代碼是在Linux下開(kāi)發(fā)編譯的,本文將其代碼移植到IAR for 8051編譯器下,移植到IAR可以直接仿真調(diào)試,移植完成后,為當(dāng)前工程添加邊緣路由器功能支持需添加border-router.c 和 slip-bridge.c 文件,并將其中一個(gè)節(jié)點(diǎn)設(shè)置為6lowpan網(wǎng)絡(luò)中的根節(jié)點(diǎn),接管其他所有無(wú)線傳感器網(wǎng)絡(luò)中向外部請(qǐng)求的IP數(shù)據(jù)包,通過(guò)串口方式傳遞給外部處理器(本文指的是OpenWrt系統(tǒng))。不熟悉或者嫌移植麻煩的開(kāi)發(fā)者,筆者建議下載Contiki官方提供好的虛擬機(jī)(ubuntu)鏡像,然后參考官方提供的編譯方法在Linux系統(tǒng)下編譯CC2530目標(biāo)平臺(tái)的代碼,同樣可以生成相同功能的固件。在上述操作完成后將程序燒寫至USB接口zigbee模塊。此時(shí)將模塊連接至電腦USB口,并打開(kāi)串口調(diào)試助手(57600 8n1),調(diào)試窗口對(duì)應(yīng)的節(jié)點(diǎn)開(kāi)始不停的打印 “?P” ,它是用來(lái)向上級(jí)CPU請(qǐng)求網(wǎng)絡(luò)地址的前綴信息。

      圖1 OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的系統(tǒng)硬件實(shí)物圖

      圖2 運(yùn)行Contiki系統(tǒng)的CC2530無(wú)線傳感器節(jié)點(diǎn)模塊

      2.2 OpenWrt增加IPv6和6lowpan支持

      將路由器連接上網(wǎng)絡(luò),同時(shí)將USB接口的無(wú)線Zigbee模塊連接到路由器上,如圖1實(shí)物圖所示。這樣可以通過(guò)ssh登錄到路由器,并安裝所需的軟件包:opkg update和opkkg install kmod-usb-serial-cp210x kmod-ipv6 kmod-tun tunslip6 。安裝完畢應(yīng)該就能在/dev/ 目錄下看到ttyUSB0這個(gè)設(shè)備了,說(shuō)明USB接口的Zigbee模塊已經(jīng)成功被系統(tǒng)識(shí)別為串口了。通過(guò)安裝的 tunslip6 程序,建立了6lowpan無(wú)線Zigbee傳感器網(wǎng)絡(luò)與真實(shí)廣域網(wǎng)的橋梁。運(yùn)行時(shí),該程序創(chuàng)建一個(gè)虛擬網(wǎng)卡tun0,并打開(kāi)串口利用Slip協(xié)議與Zigbee模塊通信。這樣tunslip6通過(guò) tun0 ip packet<—>serial data packet實(shí)現(xiàn)了無(wú)線傳感器網(wǎng)絡(luò)Zigbee節(jié)點(diǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)包進(jìn)行解包,寫入到tun網(wǎng)卡;同時(shí)tun網(wǎng)卡接收到了廣域網(wǎng)的數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送到串口上。

      在shell上運(yùn)行如下命令:tunslip6 aaaa:: 1/64 - s /dev/ ttyUSB0 -B 57600,指定網(wǎng)絡(luò)前綴及串口、波特率。成功運(yùn)行后,Zigbee模塊會(huì)自動(dòng)被分配到aaaa::/64的網(wǎng)絡(luò)地址前綴。結(jié)合模塊的64位mac地址形成小板的全球唯一128位IPv6地址。此時(shí)shell被tunslip6占用了,不能繼續(xù)輸入。打開(kāi)另一個(gè)終端,輸入ifconfig,可查看tun網(wǎng)卡是否成功生成:

      由 于Zigbee模 塊 的MAC地 址 固 化 成0× 0000000000000001,結(jié)合剛才已經(jīng)設(shè)置的aaaa::/64前綴,則小板的IPv6地址應(yīng)該是 aaaa::200:0:0:1 這里多的一個(gè)2 是IPv6協(xié)議規(guī)定的,因此,上述操作已經(jīng)成功,可通過(guò)ping進(jìn)行查看,也是該Zigbee節(jié)點(diǎn)能夠在OpenWrt上直接ping通的,其它功能的Zigbee節(jié)點(diǎn)亦可以通過(guò)相同方法連接。

      2.3 系統(tǒng)穩(wěn)定性改進(jìn)

      以上的tunslip6程序運(yùn)行中遇到錯(cuò)誤會(huì)立即退出,改進(jìn)的實(shí)現(xiàn)是其做成daemon形式在后臺(tái)運(yùn)行,遇到錯(cuò)誤自動(dòng)繼續(xù)嘗試重啟服務(wù),盡最大可能保證系統(tǒng)的穩(wěn)定。本文通過(guò)設(shè)計(jì)Python腳本對(duì)tunslip6進(jìn)行處理,規(guī)避了遇到錯(cuò)誤立即退出的缺陷。該腳本是把自身變成系統(tǒng)的daemon進(jìn)程,并調(diào)用tunslip6這個(gè)應(yīng)用,監(jiān)測(cè)其是否因?yàn)殄e(cuò)誤退出,若退出則繼續(xù)調(diào)用,直到成功,腳本如下:

      執(zhí)行命令行,并等待tunslip6退出。實(shí)際上tunslip6沒(méi)有遇到錯(cuò)誤之前是不會(huì)退出的。

      如果退出,則繼續(xù)執(zhí)行命令直到不再退出。

      將以上腳本設(shè)置為開(kāi)機(jī)啟動(dòng),那么邊緣路由器的功能就能系統(tǒng)啟動(dòng)而驅(qū)動(dòng)了。通過(guò)上述方法在OpenWrt上實(shí)現(xiàn)6lowpan邊緣路由器的基本方法,但無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)(設(shè)備)要實(shí)現(xiàn)訪問(wèn)外部的IPv6網(wǎng)絡(luò),即實(shí)現(xiàn)無(wú)線節(jié)點(diǎn)也能直接訪問(wèn)互聯(lián)網(wǎng),其實(shí)僅僅按照本文上述的方法搭建起邊緣路由器是不夠的。上述設(shè)置tunslip6時(shí)用的前綴aaaa::是作者在實(shí)施環(huán)境下任意填的,因?yàn)樽髡呔W(wǎng)絡(luò)沒(méi)有IPv6環(huán)境,無(wú)法在路由上獲得IPv6地址。因此上面系統(tǒng)中的路由沒(méi)有訪問(wèn)IPv6網(wǎng)絡(luò)的能力,6lowpan網(wǎng)絡(luò)也就更不可能訪問(wèn)到了。如果有IPv6網(wǎng)絡(luò)支持,并且通過(guò)網(wǎng)絡(luò)管理員獲得了一個(gè)全球唯一可識(shí)別的地址前綴,那么把這個(gè)前綴設(shè)置給tunslip6應(yīng)該就可以使無(wú)線傳感網(wǎng)的節(jié)點(diǎn)獲得訪問(wèn)互聯(lián)網(wǎng)的能力了。

      3 結(jié)論

      IPv6是最佳的物聯(lián)網(wǎng)尋址技術(shù),邊緣路由器是指將局域網(wǎng)匯接到廣域互聯(lián)網(wǎng)的一種路由設(shè)備,是物聯(lián)網(wǎng)與互聯(lián)網(wǎng)連接的重要技術(shù)。本文通過(guò)研究和設(shè)計(jì)的USB接口無(wú)線zigbee模塊,借助通用的TPLINK路由器,通過(guò)設(shè)計(jì)軟件在運(yùn)行OpenWrt的路由器上增加對(duì)6lowpan的支持,使其成為6lowpan網(wǎng)絡(luò)的邊緣路由器。通過(guò)構(gòu)建Zigbee傳感器網(wǎng)絡(luò)環(huán)境,驗(yàn)證和實(shí)現(xiàn)了無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)直接通過(guò)IPv6接入互聯(lián)網(wǎng)的方法。

      [1] Binti Ismail N H A, Hassan R, Othman N E. LABC:Local Route Repai using Aritficial Bee Colony algorithm in 7LoWPAN network: Computational Science and Technology (ICCST), 2014 International Conference on, 2014[C]. 2014, 27-28 Aug. 2014.

      [2] Luigi Atzori,Antonio Iera, Giacomo Morabito. The Internet of Things: A survey[J]. Computer Networks . 2010 (15).

      [3] 錢志鴻,王義君. 面向物聯(lián)網(wǎng)的無(wú)線傳感器網(wǎng)絡(luò)綜述[J].電子與信息學(xué)報(bào), 2013, 01: 215-227.

      [4] 劉裕舸. 基于 Zigbee 無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用, 2014, 12:47-49.

      [5] 張琛,粟欣,王文清,等. 異構(gòu)網(wǎng)絡(luò)跨層協(xié)作傳輸技術(shù)研究[J].通信學(xué)報(bào), 2014, 35(8):198-205.

      羅思欣(1988.10-),女,大學(xué),主要從事電子信息、物聯(lián)網(wǎng)技術(shù)研究。

      Method for Realizing 6LoWPAN Edge Router on OpenWrt

      LUO Si-xin1, ZHOU You-ping2, XIAO Dong3
      (1. Huizhou Yonghongchang Technology Co., Ltd., Huizhou 516006; 2. Foshan Weixun Electron Technology Co., Ltd., Foshan 528000; 3. Huizhou University, Huizhou 516007)

      Edge router is a kind of routing equipment that transfers LAN to wide area Internet. The research and realization of the router’s increasing the support for 6lowpan by the running router for OpenWrt, which make it the edge router for 6LoWPAN network. In addition, the realization of sensor network node through the production and construction of ZigBee sensor network nodes can directly access to the Internet through IPv6 method.

      6LoWPAN; sensor network; edge router

      TP393

      :A

      1004-7204(2017)01-0036-04

      本文得到佛山市產(chǎn)學(xué)研專項(xiàng)資金科項(xiàng)目(2012HC100031)、惠州市科技計(jì)劃項(xiàng)目(2014B020004020)、廣東省高等學(xué)校教學(xué)質(zhì)量與改革工程本科類資助項(xiàng)目(粵高教函【2013】113號(hào)-113)等資助。

      猜你喜歡
      路由器串口路由
      買千兆路由器看接口參數(shù)
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      探究路由與環(huán)路的問(wèn)題
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      你所不知道的WIFI路由器使用方法?
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      PRIME和G3-PLC路由機(jī)制對(duì)比
      基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
      WSN中基于等高度路由的源位置隱私保護(hù)
      eNSP在路由交換課程教學(xué)改革中的應(yīng)用
      河南科技(2014年5期)2014-02-27 14:08:56
      四子王旗| 随州市| 乐安县| 肥乡县| 龙陵县| 阳春市| 高平市| 临武县| 闸北区| 理塘县| 图们市| 昭通市| 临泽县| 安新县| 偃师市| 石棉县| 栾城县| 池州市| 凌源市| 夏邑县| 息烽县| 玛多县| 呼图壁县| 潞城市| 闻喜县| 虹口区| 都匀市| 永顺县| 柘城县| 通海县| 化州市| 新化县| 定远县| 句容市| 尚义县| 和政县| 贞丰县| 新田县| 枣庄市| 建湖县| 崇明县|