3串口多串口双串口以及2串口UART转WiFi多跳通讯实现二

        串口转WiFi在工业控制领域广泛的应用,通常我们使用多跳的方式实现WiFi远距离传输。,我们可以在A与C之间增加一个模块B,这样,B充但中继的作用。以下以simpleWiFi的S2W-M02以及S2W-M03中所实现的多跳机制进行描述。S2WM02、S2WM03首页-SimpleWiFi-淘宝网已经稳定的运用到了很多超长距离通讯环境,该算法稳定性以及大量现场验证。并且该系列三串口转WiFi模块可以实现2串口、双串口、3串口和多串口UART转wifi的通讯,各个通讯相互完全独立,可以同时支持多个串口设备进行数据通讯。

本节主要描述多跳路由算法:

  1. 协议概述

        该多跳路由实际上是 DSR和 DSDV的综合,以 DSDV为基础,采用DSR中的按需路由思想进行改进。它采用了DSR中路由发现和路由维护的原理,结合了DSDV的逐跳(hop-by-hop)路由,顺序编号和路由维护阶段的周期更新机制。与DSDV保存完整的路由表不同的是,基于按需路由思想的多跳路由只有在有需要的时候才建立路由,这与DSDV相比的好处是能减少大量维护路由所需的开销。与DSR相比,多跳路由的优势在于源路由并不需要包括在每一个数据分组中,这样能减少路由协议的开销。多跳路由协议可以实现在移动终端动态的、自发的路由,使移动终端很快的获得通向所需目的地的路由,而且不用维护当前没有使用的路由信息,还能对链路状态和拓扑的变化做出快速的反应。多跳路由使用路由请求序列号来保证无环路。避免了通常 Bellman-foul 算法的无穷计数(count-to-infinite)的问题,并且提供了很快的收敛速度。鉴于多跳路由路由协议功能强大而又便于实现的优点,故其成为嵌入式系统下UART 转WiFi 路由协议的首选。

                                                                  路由请求帧格式 

                                                              路由响应帧格式

  1. 路由发现过程

(1)结点在需要时(路径不存在或者无效),向其邻居广播RREQ分组用于路由发现。

(2)对接收到RREQ的结点作如下处理:

创建一个表项,用于记录反向路径;

如果在“路由发现定时”内已收到一个具有相同标识的RREQ分组,则抛弃该分组,不作任何处理;否则,更新该反向路由表项;

如果满足如下两个条件:

①:该结点就是信宿;

②:结点的路由表中有到信宿的活动表项,且表项的序列号大于RREQ中的信宿序列号;

则结点产生“路由回答分组”RREP,并发送到信源;否则,更新RREQ分组,并广播更新后的RREQ分组 。

(3)RREP的传播:RREP中的内容包括:跳计数、信宿序列号、信宿地址、信源地址、生存时间等。结点通过前面建立的反向路由反馈给源结点,并且是以单播方式发送;

(4)转发RREP的中间结点会更新路由表,记录转发路由的下游结点、跳数、生存时间、目的序列号等内容,并根据先前记录的反向路由将RREP报文转发给上游结点,直至源结点;

(5)源结点收到RREP报文后,就获得了到目的结点的路由,接下来,源结点就可以用该路由进行数据报文的发送了。 

                                                      路由发现过程

         上述算法已经大量的应用到了现场,能够实现稳定的多跳通讯。参考simpleWiFi首页-SimpleWiFi-淘宝网的S2W-M02多串口2串口3串口双串口以及三串口的通讯模块。后续文章会详细介绍多跳路由保持实现。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值