【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信拓扑与操作 BR/EDR(经典蓝牙)和 BLE

目录

    • 1. BR/EDR(经典蓝牙)网络结构
      • 微微网(Piconet)
      • 散射网(Scatternet)
      • 蓝牙 BR/EDR 拓扑结构示意图
    • 2. BLE(低功耗蓝牙)网络结构
      • 广播器与观察者(Broadcaster and Observer)
      • 外围设备与中心设备(Peripheral and Central)
      • 蓝牙 BLE 拓扑结构示意图
      • 网状网络(Mesh Network)
    • 3. 对比与总结
  • CG

  • 蓝牙技术定义了两种主要的网络拓扑结构,分别适用于不同的蓝牙模式:BR/EDR(Basic Rate/Enhanced Data Rate,经典蓝牙)BLE(Bluetooth Low Energy,低功耗蓝牙)。每种模式支持特定类型的网络拓扑,这些拓扑结构决定了设备之间如何连接和通信。

1. BR/EDR(经典蓝牙)网络结构

微微网(Piconet)

  • 组成:一个微微网由一个主设备(Central)和最多七个活动的从设备(Peripheral)组成。
  • 特点
    • 所有设备在同一个微微网中共享相同的物理信道,并通过统一的时钟和跳频序列进行同步。
    • 主设备控制整个网络的时间分配,并决定何时允许哪个从设备发送数据。
    • 多个微微网可以在同一区域内共存,每个微微网使用不同的主设备和独立的时钟及跳频序列。
  • 扩展性:一个设备可以同时参与多个微微网,形成所谓的散射网(Scatternet),但一个设备不能同时作为多个微微网的主设备。

散射网(Scatternet)

  • 概念:当一个设备同时参与两个或更多的微微网时,就形成了散射网。
  • 实现方式:通过时间分片(Time Division Multiplexing)的方式在不同的微微网间切换,以实现多微微网的同时参与。
  • 限制:一个设备只能作为一个微微网的主设备,但在多个微微网中可以担任从设备角色。

蓝牙 BR/EDR 拓扑结构示意图

在这里插入图片描述

  • 每当使用 BR/EDR 控制器建立一个连接时,该连接都是在一个称为 微微网(piconet) 的上下文中进行的。每个连接都涉及两个设备,分别称为 “主设备(Central)”“从设备(Peripheral)”。一个微微网由一个唯一的主设备(称为该微微网的主设备)以及所有与其相连的从设备(称为该微微网中的从设备)组成。

  • 已连接的 BR/EDR 设备通过在同一个物理信道上通信,并通过一个共同的时钟和跳频序列进行同步。这个公共的(微微网)时钟与微微网主设备的蓝牙时钟相同,而跳频序列则由主设备的时钟和蓝牙设备地址生成(不同的从设备可能使用不同的跳频序列)。

  • 多个独立的微微网可以在彼此邻近的区域内共存。每个微微网使用不同的物理信道(即不同的主设备,以及独立的时间和跳频序列)。

  • 一个蓝牙设备可以同时参与两个或多个微微网,这是基于时分复用的方式实现的。但一个蓝牙设备永远不能作为多个微微网的主设备。(因为在 BR/EDR 模式下,微微网是通过同步到主设备的蓝牙时钟来定义的,所以不可能同时作为两个或多个微微网的主设备。)一个蓝牙设备可以作为多个相互独立的微微网中的从设备。

  • 如果一个蓝牙设备是两个或多个微微网的成员,则称其处于 散射网(scatternet) 状态。但参与散射网并不一定意味着该蓝牙设备具备任何网络路由能力或功能。蓝牙核心协议本身并不、也无意提供此类功能;这类功能属于更高层协议的责任范畴,并超出了蓝牙规范的范围。

  • 在图 4.1 中展示了一个示例拓扑结构,用以说明以下描述的一些架构特性。

    • 设备 A 是一个微微网(阴影区域表示)中的主设备(称为微微网 A),设备 B、C、D 和 E 是该微微网中的从设备。图中还展示了另外三个微微网:

      • a) 一个由设备 F 作为主设备(称为微微网 F)组成的网络,设备 E、G 和 H 是它的从设备;
      • b) 一个由设备 D 作为主设备(称为微微网 D)组成的网络,设备 J 是它的从设备;
      • c) 一个由设备 M 作为主设备(称为微微网 M)组成的网络,设备 E 是其中一个从设备,还有多个设备 N 也是从设备。
  • 微微网 A 中存在两个物理信道:

    • 设备 B 和 C 使用的是基本微微网物理信道(用蓝色框表示),因为它们不支持自适应跳频(Adaptive Frequency Hopping);
    • 设备 D 和 E 支持自适应跳频,因此使用了经过调整的微微网物理信道(用红色框表示);
    • 设备 A 同样支持自适应跳频,并根据当前通信的从设备,在这两个物理信道上以时分复用(TDM)的方式进行操作。
  • 微微网 D微微网 F 都仅使用基本微微网物理信道(分别用青色和品红色框表示):

    • 在微微网 D 中,这是因为从设备 J 不支持自适应跳频模式。尽管设备 D 支持自适应跳频,但在该微微网中无法使用它;
    • 在微微网 F 中,主设备 F 本身不支持自适应跳频,因此该微微网也无法使用这种模式。
  • 微微网 M(用橙色框表示)使用了一种无连接外围广播物理链路(Connectionless Peripheral Broadcast physical link),通过自适应微微网物理信道,将配置文件广播数据(Profile Broadcast Data)从发送设备 M 发送至多个接收设备(包括设备 E 和多个设备 N)。


  • 设备 K 与其他设备位于同一区域,但它目前不是任何微微网的成员。它提供了某些服务供其他蓝牙设备使用,目前正监听其“查询扫描物理信道”(用绿色框表示),等待来自其他设备的查询请求。

  • 设备 L 同样位于同一区域,但目前也不是任何微微网的成员。它正在监听其“同步扫描物理信道”(用棕色框表示),等待来自其他设备的同步训练序列(Synchronization Train)。

2. BLE(低功耗蓝牙)网络结构

广播器与观察者(Broadcaster and Observer)

  • 广播器(Broadcaster):专门用于广播数据的设备,不接收来自其他设备的数据。
  • 观察者(Observer):监听并接收来自广播器的数据,但不发起连接请求。
  • 用途:这种结构常用于信息推送、广告牌等不需要双向交互的应用场景。

外围设备与中心设备(Peripheral and Central)

  • 外围设备(Peripheral):类似于BR/EDR中的从设备,提供服务供中心设备发现并连接。
  • 中心设备(Central):主动搜索并连接外围设备,类似于BR/EDR中的主设备。
  • 特点:一个中心设备可以同时连接多个外围设备,但外围设备通常只能与一个中心设备建立连接。

蓝牙 BLE 拓扑结构示意图

在这里插入图片描述

  • 在图 4.2 中展示了一个示例拓扑结构,用以说明下面描述的一些 低功耗蓝牙(LE)架构特性。图中实线箭头表示从主设备(Central)指向从设备(Peripheral)的数据流向;虚线箭头表示连接发起方向,从发起者(Initiator)指向广播者(Advertiser),用于表示通过可连接的广播事件(connectable advertising event)建立连接的过程;使用星号标注的设备表示正在广播的设备。

  • 设备 A 是两个微微网(由阴影区域表示)中的主设备(Central),设备 B 和 C 分别是其对应的从设备(Peripheral)。 与 BR/EDR 的从设备不同,BLE 的从设备 不与主设备共享同一个微微网或物理信道,而是每个从设备都通过独立的物理信道与主设备进行通信。

  • 图中还显示了另一个微微网,其中设备 F 是主设备,设备 G 是从设备。

  • 设备 K 处于一个散射网(Scatternet)中:

    • 它是一个微微网的主设备,设备 L 是它的从设备;
    • 同时它也是另一个微微网的从设备,设备 M 是主设备。
  • 设备 O 也处于散射网中:

    • 它是两个不同微微网的从设备,分别连接到主设备 P 和 Q。
  • 图中还展示了另外五组设备:

    1. 设备 D 是广播者(Advertiser),设备 A 同时也是发起者(Initiator)。
    2. 设备 E 是扫描者(Scanner),设备 C 也是广播者(Advertiser)。
    3. 设备 H 是广播者,设备 I 和 J 是扫描者。
    4. 设备 K 也是广播者,设备 N 是发起者。
    5. 设备 R 是广播者,设备 O 也是发起者。
  • 设备 A 和 B 使用一个 LE 微微网物理信道(用蓝色框和深灰色背景表示);

  • 设备 A 和 C 使用另一个 LE 微微网物理信道(用蓝色框和浅灰色背景表示)。

  • 设备 D 正在广播物理信道上使用可连接广播事件进行广播(用绿色框表示),设备 A 是发起者。设备 A 可以与设备 D 建立连接,从而形成一个新的微微网。

  • 设备 C 也在广播物理信道上进行广播(用橙色框表示),使用任何类型的广播事件,并被作为扫描者的设备 E 所捕获。设备 C 和 D 可能使用不同的广播 PHY 信道或不同的时间安排来避免冲突。

  • 设备 F 和 G 使用一个 LE 微微网物理信道(用青色框表示),其中设备 F 是主设备,G 是从设备。

  • 设备 H、I 和 J 使用 LE 广播物理信道(用紫色框表示),其中设备 H 是广播者,I 和 J 是扫描者。

  • 在涉及设备 K 的散射网中:

    • 设备 K 和 L 使用一个微微网及 LE 微微网物理信道;
    • 设备 K 和 M 使用另一个微微网及 LE 微微网物理信道;
    • 设备 K 还在广播物理信道上使用可连接广播事件进行广播,设备 N 是发起者;
    • 设备 N 可以与设备 K 建立连接,使设备 K 同时成为一个主设备和两个从设备。
  • 在涉及设备 O 的散射网中:

    • 设备 O 和 P 使用一个微微网及 LE 微微网物理信道;
    • 设备 O 和 Q 使用另一个微微网及 LE 微微网物理信道;
    • 设备 R 在广播物理信道上使用可连接广播事件进行广播,设备 O 是发起者;
    • 设备 O 可以与设备 R 建立连接,使设备 O 同时成为两个从设备的主设备和一个主设备的从设备。

网状网络(Mesh Network)

  • 简介:BLE Mesh 是一种特殊的网络结构,允许大量设备之间互相通信,而不仅仅局限于一对多或多对一的关系。
  • 有关网状网络请移步:
    • https://www.bluetooth.com/specifications/specs/?types=specs-docs&keyword=Mesh&filter=
    • 【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 & 定向转发机制
  • 特点
    • 设备之间可以通过多跳路由的方式传递消息,从而覆盖更大的区域。
    • 每个节点都可以充当消息的中继,增强了网络的可靠性和扩展性。
    • BLE Mesh 主要应用于智能家居、照明系统等领域,需要支持复杂的组网需求。

3. 对比与总结

特性/网络类型Piconet (BR/EDR)Scatternet (BR/EDR)Peripheral/Central (BLE)Broadcast/Observer (BLE)Mesh Network (BLE)
最大设备数1 Central + 7 Active Peripherals多微微网共存,理论上无限1 Central 可连多个 Peripheral单向通信,数量不限理论上无限
通信模式双向通信时间分片双向通信双向通信单向广播多跳双向通信
应用场景音频流、文件传输复杂设备互联数据采集、传感器网络信息发布、定位智能家居、工业自动化
特点需要同步时钟和跳频序列设备可跨多个微微网支持低功耗操作不需要连接自愈能力强

CG

  • Core Specification Chapter 4 COMMUNICATION TOPOLOGY AND OPERATION

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

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

相关文章

C++虚函数表(虚表Virtual Table,简称vtable、VFT)(编译器为支持运行时多态(动态绑定)而自动生成的一种内部数据结构)虚函数指针vptr

文章目录 **1. 虚函数表的核心概念**- **虚函数表(vtable)**:- **虚函数指针(vptr)**: **2. 虚函数表的生成与工作流程****生成时机**- **当一个类中至少有一个虚函数时**,编译器会为该类生成一…

使用Python和TensorFlow实现图像分类

最近研学过程中发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。下面开始对正文内容的…

Unity UI 性能优化--Sprite 篇

🎯 Unity UI 性能优化终极指南 — Sprite篇 🧩 Sprite 是什么?—— 渲染的基石与性能的源头 在Unity的2D渲染管线中,Sprite 扮演着至关重要的角色。它不仅仅是2D图像资源本身,更是GPU进行渲染批处理(Batch…

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g

vue中加载Cesium地图(天地图、高德地图)

目录 1、将下载的Cesium包移动至public下 2、首先需要将Cesium.js和widgets.css文件引入到 3、 新建Cesium.js文件,方便在全局使用 4、新建cesium.vue文件,展示三维地图 1、将下载的Cesium包移动至public下 npm install cesium后​​​​​​​ 2、…

Elasticsearch的插件(Plugin)系统介绍

Elasticsearch的插件(Plugin)系统是一种扩展机制,允许用户通过添加自定义功能来增强默认功能,而无需修改核心代码。插件可以提供从分析器、存储后端到安全认证、机器学习等各种功能,使Elasticsearch能够灵活适应不同的应用场景和业务需求。 一、插件的核心特点 模块化扩展…

基于 openEuler 22.03 LTS SP1 构建 DPDK 22.11.8 开发环境指南

基于 openEuler 22.03 LTS SP1 构建 DPDK 22.11.8 开发环境指南 本文详细介绍了在 openEuler 22.03 LTS SP1 操作系统上构建 DPDK 22.11.8 开发环境的完整流程。DPDK 20 版本之后采用 mesonninja 的编译方式,与早期版本有所不同。本文内容也可作为其他 Linux 发行版…

微服务网关SpringCloudGateway+SaToken鉴权

目录 概念 前置知识回顾 拿到UserInfo 用于自定义权限和角色的获取逻辑 最后进行要进行 satoken 过滤器全局配置 概念 做权限认证的时候 我们首先要明确两点 我们需要的角色有几种 我们需要的权限有几种 角色 分两种 ADMIN 管理员 :可管理商品 CUSTIOMER 普通…

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…

Dify中聊天助手、agent、文本生成、chatflow、工作流模式解读分析与对比

一次解读 1. 聊天助手 (Chat Assistant) 情景定位 (Situation): 你需要创建一个可以与用户进行多轮对话的AI应用,例如客服机器人、信息查询助手、或一个特定领域的虚拟专家。目标明确 (Purpose): 核心目标是理解并响应用户的连续提问,维持对话的上下文…

使用Node.js分片上传大文件到阿里云OSS

阿里云OSS的分片上传(Multipart Upload)是一种针对大文件优化的上传方式,其核心流程和关键特性如下: 1. ‌核心流程‌ 分片上传分为三个步骤: 初始化任务‌:调用InitiateMultipartUpload接口创建上传任务…

C++ if语句完全指南:从基础到工程实践

一、选择结构在程序设计中的核心地位 程序流程控制如同城市交通网络,if语句则是这个网络中的决策枢纽。根据ISO C标准,选择结构占典型项目代码量的32%-47%,其正确使用直接影响程序的: 逻辑正确性 执行效率 可维护性 安全边界 …

【大模型LLM学习】Flash-Attention的学习记录

【大模型LLM学习】Flash-Attention的学习记录 0. 前言1. flash-attention原理简述2. 从softmax到online softmax2.1 safe-softmax2.2 3-pass safe softmax2.3 Online softmax2.4 Flash-attention2.5 Flash-attention tiling 0. 前言 Flash Attention可以节约模型训练和推理时间…

python打卡day46@浙大疏锦行

知识点回顾: 不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通道注意力:模型的定义和插入的位置通道注意力后的特征图和热力图 内…

JavaSec-SPEL - 表达式注入

简介 SPEL(Spring Expression Language):SPEL是Spring表达式语言,允许在运行时动态查询和操作对象属性、调用方法等,类似于Struts2中的OGNL表达式。当参数未经过滤时,攻击者可以注入恶意的SPEL表达式,从而执行任意代码…

SpringCloud——OpenFeign

概述: OpenFeign是基于Spring的声明式调用的HTTP客户端,大大简化了编写Web服务客户端的过程,用于快速构建http请求调用其他服务模块。同时也是spring cloud默认选择的服务通信工具。 使用方法: RestTemplate手动构建: // 带查询…

【深入学习Linux】System V共享内存

目录 前言 一、共享内存是什么? 共享内存实现原理 共享内存细节理解 二、接口认识 1.shmget函数——申请共享内存 2.ftok函数——生成key值 再次理解ftok和shmget 1)key与shmid的区别与联系 2)再理解key 3)通过指令查看/释放系统中…

探索 Java 垃圾收集:对象存活判定、回收流程与内存策略

个人主页-爱因斯晨 文章专栏-JAVA学习笔记 热门文章-赛博算命 一、引言 在 Java 技术体系里,垃圾收集器(Garbage Collection,GC)与内存分配策略是自动内存管理的核心支撑。深入探究其原理与机制,对优化程序内存性能…

hbase资源和数据权限控制

hbase适合大数据量下点查 https://zhuanlan.zhihu.com/p/471133280 HBase支持对User、NameSpace和Table进行请求数和流量配额限制,限制频率可以按sec、min、hour、day 对于请求大小限制示例(5K/sec,10M/min等),请求大小限制单位如…

大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森林 Bagging Boosting

点一下关注吧!!!非常感谢!!持续更新!!! 大模型篇章已经开始! 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 FigmaCursor 自动设计原型 Java篇开…