当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:通过对DASH7协议栈的分析与设计,并利用嵌入式web服务器技术,实现了一个DASH7协议无线传感器网络的Mesh网络设计,同时基于网络分层思想设计了链路加权代价函数,优化了网络路由选择。该Mesh网的实现解决了DASH7协议网络无法多跳路由所带来的应用瓶颈。

引 言

为了满足无线传感器网络在工业、农业、军事等应用中不断提高的要求,更加健壮、低功耗的无线通信协议成为研究的关键,目前比较流行的无线通信技术包括蓝牙、Wi-Fi、ZigBee、DASH7 等。

DASH7 是基于 ISO18000-7 标准的无线通信协议,具有通用性好,低功耗、穿透障碍能力强等特点。但按照标准DASH7 协议的传输只允许执行两跳路由,只能组成单一的星型拓扑结构,无法对 DASH7 及节点建立多跳 Mesh 网,阻碍的 DASH7 远距传输的应用。

本文使用嵌入式 web 服务器技术,将 DASH7 协议与Wi-Fi 协议(或 TCP/IP 协议)相转化,从而实现一个具有路由选择功能的 DASH7 协议的 Mesh 网,该网络可提升 DASH7协议在无线传感器网络(WSN)中的性能,扩展其应用范围。

1DASH7协议的分析与设计

DASH7是一种基于ISO18000-7的超低功耗开源的无线通信协议标准,使用433Hz的SIM射频传输。与目前流行的ZigBee技术相比具有以下特点:

(1)基于ISO18000-7的DASH7协议与基于IEEE802.15.4的ZigBee协议相比具有更好的通用性;

(2)DASH7的覆盖范围更大,约是ZigBee覆盖范围的6倍;

(3)DASH7的波长更短,具有更强的穿越障碍物的能力;

(4)具有更好的交互性。

由于ISO18000-7只简单制定了DASH7协议标准框架,本文参照ZigBee协议栈设计了一个比较完整的协议栈,其构架层次如图1所示。

DASH7协议的Mesh网设计与实现

DASH7协议栈分为物理层(PHY)、链路层(MAC)、网络层(NWK)、应用支持子层(APS)、应用层(APL)。

PHY层首先做信道能量的检测后,使用433Hz频率发送,物理层包括为MAC提供服务的接口和物理层管理实体(PLME),PLME需要维护物理层信息库(PIB)。

MAC层依据ISO18000-7标准,使用了Z-MAC链路协议。Z-MAC是一种综合TDMA和CSMA的混合型MAC协议,其可根据信道竞争负载大小自适应选择策略。在信道负载过大环境下,Z-MAC执行类似CSMA方式,在信道负载较小环境下,Z-MAC执行类似TDMA方式,图2所示是Z-MAC自适应执行的描述图。

在图2中,图2(b)与图2(c)为图2(a)中节点在不同信道负载下的通信机制,图2(b)为低负载信道中A与B节点的TDMA通信机制,图2(c)为节点在高负载信道中的CSMA 通信机制。

DASH7协议的Mesh网设计与实现

NWK 层负责设备之间的通信,其包括网络安全策略、路由选择等,为了解决 NASH7 无法多跳路由的问题,下文将具体描述使用嵌入式 web 服务技术实现多跳的 Mesh 网,并建立路由表,优化路由选择的方法。

NWK 层依据标准现将 NASH7 节点分为 End_Worker、Rout_Worker、Edge_Worker 三种网络身份, 并用 NetStatus(uintf8)区别标记,表 1 所列是 NASH7 节点的网络身份标记。

DASH7协议的Mesh网设计与实现

由于对 NASH7 节点网络管理引入了域的概念,只有相同域内节点才能自组网,同时,由 Edge_Worker 为域内节点分配一个网络地址 PAN_ID,并建立与维护一张节点的 MAC 地址与其 PAN_ID 的对应表,每个域只能有一个 Edge_Worker。

End_Worker 节点为终端工作节点,Rout_Worker 节点为中间路由节点,Edge_Worker 节点为协调节点或是域边界节点,起作用为组网、接受数据、融合数据、转发数据。

APS 层是为 NWK 层与 APL 层提供一个通用的接口和安全管理,APL 层为开发人员提供硬件设备管理接口应用框架下的 API 等。

2 Mesh 网的设计与实现

本文先将完整的 DASH7 协议栈架构于采用 TI 公司CC430 系列中 CC430F5137 芯片的无线传感器模块上(模块板装载了温湿度和电压传感器),并建立 DASH7 的无线传感器网络 [6] ;然后建立了多个嵌入式 web 服务器站点,并与网络中 Edge_Worker 节点相结合作为 Mesh 网的边界路由节点,其兼顾了 Wi-Fi 或 TCP/IP 协议转发的网关功能,同时具有路由优化功能,可降低网络的通信代价。

2.1 DASH7无线传感网络的设计搭建

基于 DASH7 协议的无线传感器网络拓扑结构是星型网络,由多个 End_Worker 节点,一个Rout_Worker 节点和一个 Edge_Worker 节点组成,End_Worker 节点为终端工作节点,Rout_Worker 节点为单跳中继路由节点,其也可以作为终端工作节点,Edge_Worker 节点为边界融合节点,负责网络协调、接受数据、数据的封装与转发等作用。图 3 所示为 DASH7 星型网络的运行流程图。

DASH7协议的Mesh网设计与实现

2.2边界路由节点的实现

实现DASH7的Mesh网重点在于可以实现多跳功能边界路由节点的设计,利用边界路由节点将多个星型DASH7的WSN连通组成Mesh网。

边界路由节点是将Edge_Worker节点与嵌入式web服务器技术结合,同时利用嵌入式web服务器的网关功能将DASH7协议转为Wi-Fi协议,并依赖Wi-Fi协议形成具有网关和多跳路由功能的异构Mesh网。

嵌入式web服务器具有成本低、处理能力强等特点。具体实现步骤如下:

(1)嵌入式平台的搭建

本文基于ARM9系列的S3C2440嵌入式平台,采用开源的Linux操作系统,修改Makefile文件和按照需求对Linux内核裁剪后进行交叉编译,再将内核移植到嵌入式ARM平台,并为其制作根文件系统yaff2,将TP-LinkWN321G+无线网卡驱动[8]移植到Linux系统中,使用TP-LinkWN321G+无线网卡转发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-LinkWN321G+无线网卡转发出去。

DASH7协议的Mesh网设计与实现

2.3路由算法的设计与实现

为DASH7的Edge_Worker节点设计基于路由优化算法,是保证DASH7的Mesh网节点通信代价最小。本文以Dijkstra最短路径代价算法为基础,考虑了通信链路质量,设计了一个新的加权路径代价函数来反应链路之间的节点通信代价。

Mesh网在考虑通信链路质量时,信道的负载通信质量通过MAC层Z-MAC协议调节,链路质量主要考虑到达目的节点所经历不同路径的链路代价。

DASH7路由算法的设计步骤如下:

步骤1:依据最短路由路径树算法(SPT)将Mesh网路由节点建立分层,如图5所示。

步骤2:结合将网络分层的通信链路代价构造加权路径代价函数Cost(Pi)。

步骤3:依据链路代价利用Dijkstra最短路径代价算法选择最佳路由路径。

DASH7协议的Mesh网设计与实现

Mesh网中路由节点视为图N(V,A),V={V1,V2,…,Vm}有限的m个路由节点,A={a1,a2,…,am}为m条有限的边,Cm,n为同一条链路相邻节点m与n之间通信代价,而Mesh网对应多条路由链路,则C,iitt+1第i条链路第t个节点与第t+1个节点之间的通信代价。

SPT算法计算加权路径代价计算引入了加权参数α,其取决于链路质量的好坏,链路i代价函数Cost(Pi)为:

DASH7协议的Mesh网设计与实现

在边界路由节点中实现以上路由算法,并建立路由表, 基于 DASH7 的 Mesh 网的实现方案如图 6 所示。

DASH7协议的Mesh网设计与实现

2.4实验结果分析

将上位PC机与Mesh网相连,就可以通过对嵌入式web服务器来访问Mesh网节点的相关数据,图7所示是在web服务器搭建的前台页面,上位机通过浏览器访问嵌入式web服务器(访问地址为192.168.1.230),并调用服务器中的CGI应用程序获取数据。

DASH7协议的Mesh网设计与实现

实验结论:上位PC机通过本文设计的DASH7的边界路由节点访问Mesh网内无线传感器节点的数据,验证了Mesh网络的有效性。

3结语

本文通过对DASH7协议栈的研究与设计,在DASH7的无线传感器网络(WSN)基础上使用嵌入式web服务器技术实现了具有路由优化选择功能的边界路由节点,解决了DASH7协议无法组建Mesh网络的问题,其具有一定的理论研究意义与实践应用价值。

20211124_619e606a82351__DASH7协议的Mesh网设计与实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

关注「嵌入式大杂烩」,选择「星标公众号」一起进步!大家好,我是ZhengN,本次来教大家在10分钟内使用开发板搭建一个web服务器。之前分享的文章:常见的嵌入式web服务器有哪些?中分享了几种可以在嵌入式中使用的web服...

关键字: 嵌入式 web服务器

按照服务器的用途,服务器可细分为诸多类别。为增进大家对服务器的了解程度,本文将对三种服务器予以介绍,它们分别是:Web服务器、应用程序服务器以及HTTP服务器。

关键字: 服务器 指数 web服务器

  摘 要:基于ARM 微控制器技术,提出了智能家居的远程监控系统的有效方法。实际应用中该方法以Web 浏览器作为操作界面,实现远程数据通信监控操作。利用nRF24L01 射频模块为智能家居终端

关键字: web服务器 智能家居 nrf24l01

  基于BB-Black的智能硬件生理监测   本文以BeagleBone Black为核心,挂接ZigBee无线传感节点和GSM/GPRS模块;建立web服务器和SQLite数据库,接

关键字: bb-black web服务器 无线传感节点 智能硬件 远程医疗

     浏览器的请求数据包如何到达web服务器?      很多读者对于其中的完整流程不是特别的了解,下面一口君通过这22张图,详细的讲解我们点击浏览器的网址之后,数据包是如何经过重重险阻到达web server的。...

关键字: 网络 web服务器 浏览器

0 引 言 高等学校实验室是学生巩固所学的理论知识,培养学生动手能力、分析解决问题能力和创新思维的重要场所。近年来,随着教学改革不断向纵深发展,教学模式、教学方

关键字: 485 ic卡 rs vpn web服务器 电源技术解析 管理系统

1. LabVIEW Web服务器在LabVIEW开发环境中,自身带了一个已连接好的Web服务器。LabVIEW Web服务器除了与其他Web服务器一样能发布文档外,它还可以发布正在运行的VIs前面板图,使得各地的工程师...

关键字: LabVIEW web服务器 发布网页

本文向您介绍Windows Mobile和WinCE的区别,WinCE是微软的嵌入式操作系统,是一个基础性质的系统,Windows Mobile和PocketPC以及Smartphone系统,则都是WinCE的衍生版本。

关键字: WinCE 嵌入式平台 衍生版本

为了满足嵌入式系统的界面设计需求,给出了一种图形用户界面系统SKY-GUI 的设计思路和其在嵌入式Linux 环境下的实现方法。SKY-GUI 有四大组成部分:输入抽象层、显示抽象层、事件系统和窗口系统。

关键字: Linux 嵌入式平台 嵌入式开发 视频监控 sky-gui

吹客=Trick ; 这是评测频道打造地一个全新栏目,旨在用轻松活泼的方式让大家一起来分享开发板使用开发的技巧和心得。只要你的文章是原创的,并且有观点有干货,一切内容和题材都可以被我们所接受。投稿请至stitch-sk@...

关键字: ip 树莓派 技巧 静态博客 web服务器

编辑精选

技术子站

关闭