0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

已多个开源系统为基础,研究6LoWPAN边界路由器

SwM2_ChinaAET 来源:未知 作者:工程师郭婷 2018-07-26 19:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

自从物联网概念的提出,6LoWPAN(IPv6 over Low Power Wireless Personal Area Network)边界路由器就是主要的研究内容之一。为实现Internet网络与无线传感器网络的互联,IETF工作组早在2004年就提出并制定了基于IPv6的以IEEE802.15.4作为底层标准的低功耗无线个域网6LoWPAN技术标准,其主要包括6LoWPAN适配层、IPv6报头压缩与解压、数据分片与重组、路由协议、IPv6网络接入和节点地址管理技术等。

目前6LoWPAN协议已实现在多种开源系统上,例如6LBR、Contiki,本文采用开源的、高度可移植的6LBR和Contiki操作系统。其中,Contiki是一个开源的专门为需要联网、硬件资源严重受限的嵌入式设备而设计的事件驱动多任务操作系统[2],通过uIP协议栈提供了对IPv4和IPv6的TCP/IP协议的支持,还包含了一套轻量级的无线传感器网络协议栈Rime;同时在IPv6中还实现了6LoWPAN协议、RPL无线路由协议以及应用层协议CoAP。6LBR是为工业应用准备的6LoWPAN/RPL边界路由解决方案,它运行在低成本、开放的硬件平台和Linux主机上,因此6LBR更符合未来边界路由器的发展方向,其设计思路更能满足今后的应用需求。

本文在Contiki和OpenWrt的基础上,将6LBR移植到嵌入式OpenWrt系统上,设计了一种实用的边界路由器。其能够完成IP协议栈和6LoWPAN协议栈之间的转换,使IP网络中的主机可以访问6LoWPAN传感网络中的节点。

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协议。

2.2 6LBR的运行模式

6LBR目前有两种运行方式:网桥模式和路由模式。在路由模式中,子节点构成的6LoWPAN无线传感器网络和以太网有不同的网络前缀;在网桥模式中,前缀则一样。文献[2]和文献[4]详细介绍了6LBR的几种模式,网桥模式不再赘述。在本文用到的路由器模式中,6LBR当作一个完整的IPv6路由器,用于连接以太网和6LoWPAN网络。6LoWPAN网络由RPL协议来管理,以太网端通过IPv6邻居发现协议管理。在这种模式下,通过数据包过滤器模块,6LBR向Contiki提供了一个虚拟的接口。路由器模式可以将传感器网络分隔成一个独立的子网,这样能清晰地分辨出无线传感器中的节点;由于网络前缀有切换功能,节点可以在不同的6LoWPAN网络中移动;节点会根据新的网络前缀获得一个新的地址。

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.2 软件设计

CC1310DK通过USB接口与TL-WR703N连接,此时串口在路由器上生成/dev/ttyUSB0端口号,OpenWrt上的tunslip6软件包把端口号虚拟成tun0网卡。可以实现在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 、边界路由器功能验证

由于6LBR是作为软件包应用程序移植到OpenWrt上的,为了测试应用方便,可以在第二种方案的基础上选择6LBR应用程序包。这两种方案都需要边界路由器串口连接CC1310DK,TP-WR703N目前只提供一个端口,所以在调试时只能分开测试验证。

4.1 6LBR-Openwrt边界路由器连通性测试

连通性测试主要采取如下步骤:

(1)在PC端打开cmd.exe或者,执行如下命令ping-6 bbbb::100,测试PC到网关已通。

(2)在运行有Copper插件的火狐浏览器内输入coap://[子节点IPv6地址]:5683/,可以访问子节点的Web端程序,然后可以选择特定的资源使用GET/POST/PUT/DELETE来获取资源的具体内容,可以看出子以太网和无线网的IPv6地址前缀并不相同,因此工作方式为路由模式,如图6所示。

4.2 OpenWrt边界路由器连通性测试

(1)打开网络调试助手,选择TCP Client模式连接边界路由器,输入getip和getipall命令可得到边界路由器的IPv6地址以及子节点的IPv6地址。

(2)ping6子节点地址进行ping连通性测试,也可将子节点的IPv6地址输入到浏览器地址栏里访问子节点Web界面。既可在Web页面进行GET/POST/PUT/DELETE命令操作,也可在网络调试助手内输入coap命令进行对子节点控制,如:coap-client-m get coap://:[子节点IPv6地址]:5683/sen/batmon/tem-p(得到子节点芯片的温度值29)。因此可根据具体的实际应用选择Web端页面的方式还是网络调试助手,。

5 、结论

本文以Contiki、6LBR以及OpenWrt等多个开源系统为基础,从多方面设计研究了6LoWPAN边界路由器,提出了多种可实施的解决方案。从测试结果可看出,所设计的6LoWPAN边界路由器达到了预期的设计目标,可以根据具体无线传感网络应用场合选择合适的边界路由器,下一步将陆续完善边界路由器并应用到环境检测中。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2951

    文章

    48261

    浏览量

    419614
  • 路由器
    +关注

    关注

    22

    文章

    3940

    浏览量

    120371
  • 开源系统
    +关注

    关注

    0

    文章

    28

    浏览量

    13957

原文标题:【学术论文】基于多个开源系统的6LoWPAN边界路由器的设计

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    时钟元件:路由器的“隐形指挥家”

    路由器的复杂系统中,时钟元件如同隐形的指挥家,以精准的时间节拍协调着每一个数据传输与处理环节。从基础的信号同步到复杂的协议执行,时钟元件的性能直接决定了路由器的稳定性与通信效率。一、核心功能:构建
    的头像 发表于 05-22 09:04 60次阅读
    时钟元件:<b class='flag-5'>路由器</b>的“隐形指挥家”

    SIM卡路由器与传统宽带

    2026年,哪种更适合您的家庭或企业?  如今,您无需使用网线即可上网。SIM卡路由器(也称为4G或5G路由器)可以让您摆脱网线束缚,畅享网络。 那么它与光纤或有线互联网等宽带相比如何呢?  在
    的头像 发表于 04-24 11:09 219次阅读
    SIM卡<b class='flag-5'>路由器</b>与传统宽带

    Banana Pi 开源 Wifi7 路由器产品基于 BPI-R4 Pro #Openwrt #路由器

    路由器
    Banana Pi开源硬件
    发布于 :2026年03月27日 17:43:48

    路由器TELEC认证指南

    路由器(包括WiFi路由器和无线路由器)出口至日本并在亚马逊日本站上架时,必须获得TELEC认证,这是法律强制要求的基本条件。由于无线电发射设备受日本总务省(MIC)的监管,若没有有效的TELEC
    的头像 发表于 03-19 11:50 341次阅读
    <b class='flag-5'>路由器</b>TELEC认证指南

    工业路由器哪个好用?有哪些推荐?

    的问题。一款好用的工业路由器不仅需要具备强大的网络接入与数据传输能力,还需适应严苛的工业环境,提供丰富的接口和可靠的安全保障。以下介绍四款在不同领域表现突出的工业路由器产品(不分先后),您的选型提供参考。
    的头像 发表于 01-21 15:41 722次阅读
    工业<b class='flag-5'>路由器</b>哪个好用?有哪些推荐?

    Banana Pi开源社区发布最强Wifi7路由器开发板及套件:BPI-R4 Pro

    免费使用 CPE 来提供操作系统定制、内置服务和应用程序以扩展功能,这些功能现在是旗舰路由器/AP 设备的常规功能。 联发科设计的片内网络处理单元 (NPU) VLAN / PPTP / L2TP
    发表于 11-18 16:14

    工业路由器与家用路由器有什么区别

    工业路由器与家用路由器在设计目标、性能、功能、环境适应性及安全性等方面存在显著差异,以适应不同场景下的需求。以下是两者的具体对比: 1. 设计目标与使用场景 工业路由器 设计目标 :专为工业环境设计
    的头像 发表于 10-23 14:07 1490次阅读

    带光纤路由器与传统路由器的区别

    在数字经济高速发展的今天,网络基础设施的升级已成为企业与家庭智能化转型的核心驱动力。厦门才茂通信作为行业先行者,推出了国内首款带光纤接口的工业级路由器CM520-3XX-9系列,彻底打破了传统路由器
    的头像 发表于 09-28 09:52 1653次阅读

    网络路由器关键知识,一文读懂!

    在互联网深度融入日常的今天,网络路由器作为不可或缺的枢纽设备,承担着连接世界的关键任务。但你真正了解它吗?本文将带你系统认识路由器的基础功能、发展历程与常见接口,帮助你更好地理解和使用这一设备。
    的头像 发表于 09-19 18:10 1878次阅读

    工业网关工业路由器环保站应用#工业路由器

    路由器
    jf_69620166
    发布于 :2025年08月26日 16:48:14

    工业路由器赋能新基建高速道路场景应用

    在高速道路场景中,工业5G路由器ZR9000凭借高稳定性、抗干扰性、宽温适应性及多网络接入能力,成为各类智能设备与后台系统通信的通信桥梁。工业路由器应用覆盖了高速道路的监控、收费、管理、应急等
    的头像 发表于 08-20 10:45 1287次阅读
    工业<b class='flag-5'>路由器</b>赋能新基建高速道路场景应用

    DDNS在路由器WAN私网IP地址时无法使用,怎么解决?

    DDNS在路由器WAN私网IP地址时无法使用,有没有其他解决方案?
    发表于 08-07 06:41

    请问IR600系列路由器、IR700系列路由器、IR900系列路由器的恢复出厂设置分别是如何操作?

    请问IR600系列路由器、IR700系列路由器、IR900系列路由器的恢复出厂设置分别是如何操作的?
    发表于 08-06 08:02

    IG502的LAN口无法登录路由器配置页面怎么解决?

    相连接,pc可ping通,访问192.168.2.1后显示你的连接不是专用连接,点击继续访问192.168.2.1(不安全),最终显示该网址页面可能存在问题,或永久移动到新的网址。 3.reset后依旧无法通过LAN口登录路由器配置页面。
    发表于 08-05 06:00

    光纤如何连接路由器

    连接路由器的标准流程 1. 确认设备与接口类型 运营商提供的光猫:通常白色或黑色方形设备,带有光纤接口(SC/APC接口,一般绿色)。 路由器:需支持以太网(WAN口)输入,普通家
    的头像 发表于 05-28 09:33 8944次阅读
    光纤如何连接<b class='flag-5'>路由器</b>