BLE Mesh蓝牙mesh网多跳大数据量高带宽传输数据方法

news2024/10/7 17:31:07

1、BLE Mesh数据传输现状

       BLE Mesh网络技术是低功耗蓝牙的一个进阶版,Mesh扩大了蓝牙在应用中的规模和范围,因为它同时支持超过三万个网络节点,可以跨越大型建筑物,不仅可以使得医疗健康应用更加方便快捷,还能监测像学校这类的大型公共场所随时监测学生的安全状况。

        BLE Mesh覆盖范围通过mesh网络的relay(中继)功能来实现的,即在mesh网络中,消息可以被临近的节点relay出去,这样经过多跳之后,消息再到达目标节点。因此传输覆盖能力,指的是在mesh网络覆盖的范围内,通过其网络内部的节点的relay去实现,同时也可以解决点对点的BLE通信时的遇到障碍物会通信不畅的问题。同时relay也引出了mesh网络的“Managed Flooding”,就是消息会以泛洪方式传播,只要relay节点收到消息,那么它就会将消息广播给其周围的节点。Flooding的方式是不需要有中心节点去协调的(如Zigbee就有router和coordinator),因此并不会去选择最优路径去传播,而是消息可能通过许多条路径先后到达……于是,这同时也为Flooding的网络带来了问题,消息其实传输一次并成功即可,这种方式会有太多的冗余的传输,造成能量的消耗和网络数据的阻塞。

        因此,BLE Mesh通常数据包较短,最长也就几十个字节。发包频率不易过快,这导致整个网络的数据传输性能降低。

2、大数据高吞吐需求

        很多场景下,我们不仅需要覆盖范围要广,而且需要大数据量的传输。比方说传输文件或者图片等。传统的BLE Mesh网络就不适合了。此时数据将大量的被转发。整个网络近乎无法传输图片或者文件。

         但是,我们知道在BLE 点到点使用GATT方式传输方式。传输文件图片的话,就会大大减少传输时间。甚至可以达到2Mbps。另外,很多蓝牙BLE的芯片是支持GATT Server和GATT Client共存的。

        那么,我们就可以实现“手握手”多跳的方式进行大数据量的传输。Source节点创建GATT Client,中间节点创建GattServer和 GattClient,目的节点创建GATT Server。这样,就可以实现大数据的多跳数据传输。

3、大数据链路的路由

         根据大数据的传输需求,我们需要查找到目的节点的传输路径。我们采用按需路由的方式,建立动态路由。在需要数据传输的时候,动态建立大数据链路的路由。数据传输完成后,自动释放路径。是否中间大数据节点,以便其它节点使用。

       路由查找建立过程,如下图所示:

       

       使用SimpleWiFi的S2W-M03模块,对路由建立过程进行测试。在100个节点的网络路由建立时间需要大概500ms的时间。在大数据链路传输数据带宽为2Mbps。能够完成大数据传输的需求。

     路由选择时,需要对路由发现算法的数据包进行处理,通常处理数据流程如下:

以上的算法已经在S2W-M03商用,稳定性得到了验证。

4、大数据链路传输

         大数据链路建立成功后,进入大数据传输阶段。大数据传输阶段的链路数据包格式如下:

在文件传输过程中。我们采用的数据包的具体数据格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Javase | 数组、数组工具类

目录: 1.数组2.数组的 “存储结构”3.数组的优缺点:3.1 数组的优点3.2 为什么数组的检索效率高?3.3 数组的缺点 4.一维数组4.1 一维数组的“存储结构”4.2 一维数组的“静态初始化”4.3 一维数组的“动态初始化”4.4 一维数组的“遍历” 5.数…

闪存芯片的冷知识

闪存芯片不带电存储数据的原理 闪存芯片是一种非易失性的存储器,即它可以在断电后保持数据不丢失。闪存芯片的核心部分是浮栅晶体管(Floating Gate Transistor),它是一种特殊的MOSFET(金属氧化物半导体场效应晶体管&a…

方案:TSINGSEE青犀AI智能分析网关森林防火智慧监管平台方案

一、方案背景 森林是地球上最重要的生态系统之一,对环境、气候、水循环和空气质量具有重要影响。森林火灾会造成巨大的经济损失,具有发生面广、突发性强、破坏性大、危险性高、处置扑救特别困难等特点,严重危及人民生命财产和森林资源安全&a…

功能测试就只是说的点点点嘛,这么容易?

那你要知道往往说的容易,做起来难呀。 功能测试虽然说的是点点点,但是对于比较简单的一个小功能来说,确实没有什么太难得地方,点的流畅没有问题,那就再好不过,基本上有问题也是暴露的非常明显,…

用于充电桩直流计量电能表DJSF1352-RN/D带UL证书-安科瑞黄安南

1什么是UL认证? UL认证是由美国安全实验室(Underwriters Laboratories)提供的安全性认证服务。UL认证虽然不是强制的,但它是北美市场的保证,有UL标志的产品具有很高的市场认可度。 2安科瑞导轨式直流电能表 安科瑞导…

日志输出-查看 SQL:深入分析 MyBatis 执行过程

😀前言 在现代软件开发中,数据库操作是不可或缺的一部分,而持久层框架的应用能够极大地简化这一过程。然而,当我们在开发 MyBatis 程序时,有时候需要深入了解程序底层实际执行的 SQL 语句,以便更好地分析和…

C++毕业设计基于QT实现的超市收银管理系统源代码+数据库

C毕业设计基于QT实现的超市收银管理系统源代码数据库 编译使用 编译完成后,需要拷贝 file目录下的数据库 POP.db文件到可执行程序目录下 登录界面 主界面 会员管理 完整代码下载地址:基于QT实现的超市收银管理系统源代码数据库

Linux基础知识及常见指令

Linux简介及相关概念 什么是Linux? Linux是一个免费开源的操作系统内核,最初由Linus Torvalds于1991年创建。它是各种Linux发行版(通常称为“发行版”)的核心组件,这些发行版是完整的操作系统,包括Linux内…

centos7手动配置jdk1.8环境与maven环境

安装jdk1.8 链接:https://pan.baidu.com/s/1_P7jHzH4Lk2jcPWWD7pi4w 提取码:6kkm winscp软件上传压缩包到Linux中 解压 # 解压到/usr/local/java目录下 tar -zxvf jdk-8u381-linux-x64.tar.gz -C /usr/local/java配置环境变量 vi /etc/profile # 最后…

【C++】vector的模拟实现【完整版】

目录 一、vector的默认成员函数 1、vector类的大体结构 2、无参构造函数 3、拷贝构造函数 4、Swap(operator需要用) 5、赋值重载operator 6、析构函数 二、vector的三种遍历方式 1、size和capacity(大小和容量) 2、 operator[]遍历 3、迭代器iterator遍历和范围for 三…

C++ 判断

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句 C 编…

基于Dubbo实现服务的远程调用

目录 前言 为什么使用Dubbo Dubbo技术框架 ​编辑 调用关系流程 基础实现 A.提供统一业务Api B.编辑服务提供者Product B.a 添加依赖 B.b 添加Dubbo 配置(基于yaml配置文件) B.c 编写并暴露服务 C.编辑服务消费者 C.a 添加依赖 C.b 添加Dubbo配置 C.c 引用服务 前言…

Arduino程序设计(八)LCD显示实验

LCD显示实验 前言一、基于LM35的LCD显示实验1. LM35简介2. LCD1602简介3. LM35采集环境温度LCD显示 二、基于DS18B20的LCD显示实验1. DS18B20简介2. DS18B20采集环境温度LCD显示 三、基于DHT11采集环境温湿度LCD显示1. DHT11简介2. DHT11采集环境温湿度LCD显示 前言 本文主要介…

高忆管理:a股b股h股n股的区别?

A股、B股、H股、N股,这些股票标识的差异,是初学者往往比较无措的。本文将从多个角度剖析这些股票的区别,协助读者更好地了解和运用出资。 1.不同的出资主体 首要,要了解这些标识的意义。A股、B股、H股、N股是不同的出资主体。A股…

蠕虫病毒流量分析案例

背景 某供排水集团的网络管理员对其网络的健康状况持认可态度,表示网络运行正常,没有发现异常行为。然而,由于网络环境变得越来越复杂,仅凭借传统的网络经验已经不能全面了解网络情况。因此,我们为供排水集团安装了Ne…

cadence后仿真/寄生参数提取/解决pin口提取不全的问题

post-simulation设置顺序与规则 1.Rules 设置 2.inputs设置 3.outputs设置 4.PEX 设置 会出现错误1,后有解决方案 第一步 :Netlist 第二步:LVS 5.RUN PEX 先RUN,后按照图中1 2 3步骤操作 点击OK之后,显示Calibre信息&#xff…

配置 Windows 系统环境变量

直接按键盘上面的 WINS 打开 Windows 搜索 搜索“编辑系统环境变量” 也可以右键此电脑->属性->高级系统设置打开相同的界面 点击环境变量 一般添加就是添加在框出的 Path 里面,双击可以看到现有的环境变量并进行编辑 例如我在博客中写把 Java 的 jdk 解压好…

功能测试—边界值分析法

一、边界值分析法的概念 边界值分析法就是对输入的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界 1 为什么引入边界值分析法? 测试实践表明,大量的故…

【Springcloud】elk分布式日志

【Springcloud】elk分布式日志 【一】基本介绍【二】Elasticsearch【1】简介【2】下载【3】安装【4】启动 【三】Logstash【1】简介【2】下载【3】安装【4】启动 【四】Kibana【1】简介【2】下载【3】安装【4】启动 【五】切换中文【六】日志收集 【一】基本介绍 (…

Codeforces Round 895 (Div. 3)题解

前言&#xff1a; 暂时更新到D&#xff0c;后面的找时间再看 A. Two Vessels 题目A&#xff1a;通过最少操作使得a,b水相等&#xff0c;分abs(a-b)是不是2*c的倍数讨论&#xff0c;2c是因为&#xff0c;a-c bc 总差值为2*c; #include<bits/stdc.h> using namespace s…