【杂谈】-蓝牙低功耗数据传输模式比较

蓝牙低功耗数据传输模式比较

文章目录

  • 蓝牙低功耗数据传输模式比较
    • 1、无连接数据传输
    • 2、无连接数据传输的优点
      • 3、无连接数据传输的局限性
    • 3、面向连接的数据传输
    • 4、面向连接模式的优点
    • 5、面向连接模式的局限性
    • 6、家庭自动化项目的性能观察

物联网(IoT)设备可能比智能手机更常见,而且其中许多设备都运行蓝牙低功耗(BLE)技术。本文将介绍并比较低功耗蓝牙(BLE)的传统数据广播(Advertising)、扩展数据广播和面向连接的数据传输模式。在本文中,我们将熟悉 BLE 的各种数据传输方法,并加深对其性能水平的理解。

1、无连接数据传输

无连接数据传输,也称为广播,是指针对广大受众而不是特定接收者或一组接收者的数据传输,这就像附近任何人都可以听到的公共广播,而不是私人对话。 这些类型的传输的特点是能够同时到达多个接收器,通常称为多播传输。

BLE 提供两种主要的无连接数据传输机制:

  • 传统数据广播(Legacy advertising)

    • 一次最多可以广播31字节的数据。
    • 通过增加31字节的扫描响应包,可以稍微增加数据容量。
    • 顾名思义,传统数据广播是两种模式中较旧的一种。
  • 扩展数据广播(Extended advertising)

    • 将广播数据限制从 31 字节增加到 254 字节。
    • 对于更大量的数据需求,它支持最多可处理 1650 字节数据的广播链。这种扩展的容量允许广播更丰富的信息,从而有利于信标部署等应用程序和增强基于位置的服务。

2、无连接数据传输的优点

无连接数据传输模式具有以下优点:

  • 多播传输。 这使得一对多通信成为可能,其中单个设备可以同时向多个接收者广播信息。 它在需要同时更新各种设备的应用程序中特别有用,例如零售广播信息中的信标。

  • 高效率。 无需建立和维护单独的连接,无连接模式通常在速度和资源利用率方面都更加高效。 由于不涉及握手或连接维护,因此可以更快地使用更少的资源发送数据,从而实现更平稳的操作并可能降低功耗。

    3、无连接数据传输的局限性

现在我们已经了解了广播的优点,现在是时候检查其缺点以及如何减轻它们了:

  • 安全问题
    • 缺点:无连接传输传统上缺乏链路层加密。 广播数据以明文形式发送,任何有权访问的人都可以读取。
    • 缓解措施:蓝牙 LE 5.4 引入了加密广播,可增强安全性并允许使用 BLE 音频等特定配置文件进行安全广播。
  • 缺乏传输控制
    • 缺点:在无连接数据传输中,广播器和观察者设备不协商传输参数,例如信道、定时或序列。 广播端在主要频道上重复传输,要求观察者设备连续扫描这些频道(37、38、39)。 这个过程,尤其是传统广播,会很快耗尽扫描仪的电池。
    • 缓解措施:通过扩展广播,此问题不会那么严重。
  • 功耗和设计考虑因素
    • 缺点:广播和扫描间隔(即设备在再次广播或扫描之前休眠的时间段)会显着影响功耗。 设置这些值时必须小心。
      缓解措施:设计人员通常采用不对称方法:电池受限的设备广播频率较低,而电池容量较大的设备扫描频率较高。 这种设计选择既保证了用户的便利性,又不会过度消耗电池资源。
  • 通道拥塞
    • 缺点:在传统广播中,数据直接在主要广播通道上发送。 如果每个广播事件最多发送 3 次广播数据包,则可能会发生拥塞,尤其是对于较长的数据包。 这在密集的物联网环境中是有问题的。
    • 缓解措施:扩展广播通过仅在主要通道上传输标头,并在 37 个辅助通道之一上发送实际数据来缓解这一问题。

3、面向连接的数据传输

在无连接通信中,设备将消息发送到露天,希望它们能够被预期的接收者接收到。 面向连接的数据传输代表了 BLE 设备更结构化的通信方式。 图 1 直观地展示了这一过程。

在这里插入图片描述

图1. 面向连接的数据传输过程。

在面向连接模式下,数据传输分为四个步骤:

    1. 设备发现。 外围设备通过定期广播可连接的广播数据包来启动该过程。 这些数据包携带关键信息,例如设备名称、提供的服务以及外设无线电支持的蓝牙类型。 这些信息有助于中央设备在扫描过程中快速识别和评估外围设备。
    1. 建立连接。 当 Central 发现它想要连接的 Peripheral 时,它会发送连接请求。 该请求包括连接参数,例如连接间隔(数据传输事件之间的时间)、从机延迟(外设可以跳过的连接事件数)和监控超时(如果没有通信,连接将被丢弃的时间) 。 然后外设可以接受或拒绝该请求。 如果接受,则使用协商的参数建立连接。
    1. 数据传输。 连接后,设备可以通过已建立的链路发送数据。 与无连接模式中的随机信道使用不同,面向连接模式使用指定信道来提高可靠性和效率。
    1. 确认和控制。 当数据传输时,每个数据包都会被接收器确认。 如果数据包未能到达目的地,发送者就会知道要重新发送它。 此外,可以在设备之间交换控制消息以管理连接参数,确保链路保持稳定和有效。

该模式下传输的数据包的所有连接参数如图2所示:

在这里插入图片描述

图 2. 面向连接的数据传输模式中数据包的传输和确认。 图片来自[MDPI](https://www.mdpi.com/1424-8220/17/12/2898)

4、面向连接模式的优点

面向连接模式的优点如下:

  • 可靠性。 每一条发送的数据都会被确认。 如果数据包未通过,则会再次发送,以确保完整的数据从一个设备发送到另一台设备。
  • 高带宽。 专用数据通道增加了可用带宽,从而提高了数据吞吐量。
  • 增强安全性。 该模式支持链路层加密,确保数据在传输过程中保密。
  • 分割和重组。 在传输过程中,数据被分割(或“分段”)成更小的块进行传输。 收到后,这些部件会重新连接在一起(或“重新组装”)。 这确保了即使是大量应用程序数据也能高效传输。

5、面向连接模式的局限性

  • 开销。 面向连接的模式涉及一系列握手和确认。 这可能会带来开销,从而降低非常小的数据传输效率。
  • 功耗较高。 持续的确认系统和连接维护可能会导致功耗增加。
  • 可扩展性问题。 管理多个同时连接可能变得具有挑战性,特别是在密集连接的环境中。

6、家庭自动化项目的性能观察

蓝牙 5 的发布为物联网工程师带来了新功能,包括上面讨论的扩展广播模式。 但最新的一定是最好的吗?

Piergiuseppe Di Marco 领导的研究团队测试了新旧 BLE 数据传输模式,看看哪些功能在不同场景下效果最好。

在这里插入图片描述

图 3. 模拟 BLE 智能家居。 图片来自[IEEE](https://ieeexplore.ieee.org/abstract/document/7992938)

模拟场景

研究人员模拟了一个典型的单户智能家居,尺寸为 12 m x 10 m,配备了 77 个物联网设备,包括窗户传感器、电灯开关和灯泡。 此设置的核心是网关设备,它始终保持活动状态以管理数据流。 与此同时,电池供电的传感器大多处于休眠状态,仅在传输或接收数据时激活。

该研究还考虑了现实世界的问题,例如不同的信号接收:在模拟中,每面墙壁使信号强度降低 6 dB,每米信号衰减 0.5 dB。

性能指标

研究团队使用以下指标评估每种数据传输模式:

  • 服务率:给定时间范围内数据传输的成功率或可靠性。 该指标告诉您成功传送到预期目的地的数据百分比。 它是交通损失率的补充,它告诉您沿途损失的百分比。
  • 数据包延迟:也称为延迟,衡量数据从源设备传输到目标设备所需的时间。 对于需要实时或近实时数据传输的应用程序,最小化延迟对于确保流畅的用户体验至关重要。
  • 电池寿命:使用特定数据传输模式时,设备在单次电池充电的情况下可以运行的持续时间。 对于物联网设备来说,其中许多都是由电池供电并部署在偏远或难以到达的区域,因此最大限度地延长电池寿命至关重要。 更长的电池寿命意味着更少的维护频率和更可靠的长期运行。

结果简而言之

  • 服务比率:扩展广播在较长的有效负载中表现良好,但在较短的有效负载中表现不佳。 传统广播(旧方法)仍然是短时间突发数据的最佳选择。 面向连接的模式比使用小数据包的扩展广播表现更好,但在处理大流量时表现不佳。
  • 数据包延迟:在这里,传统广播是明星:它的延迟最短,尤其是对于短数据包。 总的来说,延伸广播的表现较差。 面向连接的模式是所有模式中最慢的,难以应对重新传输和超时问题。
  • 电池寿命:如果您希望电池持久耐用,并在所有情况下都优于其他电池,那么延长广播时间证明了自己的最佳选择。 传统广播效果很好,但仅限于短数据包,而面向连接的模式效率最低。

哪种模式最好?

最终,选择数据传输模式就是使用正确的工具来完成工作。 面向连接的模式是可靠的,并且扩展的广播提供了出色的电池寿命和对更长有效负载的适应性,但是,如上所述,在某些情况下,传统广播仍然优于较新的替代方案。 每种模式都有自己的优点和缺点,物联网工程师应该根据每个项目做出决定。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

端口映射软件

今天给大家介绍一个自己制作的工具,本工具可以把本地自己的项目映射到外网可以访问,自己有域名可以使用自己的,没有可以用软件自带的三级域名! Token获取 地址:传送 打开上面网址注册账号,然后点击验证,复制里面的值即可。 软件…

报错:HikariPool-1 - Exception during pool initialization.

问题发现: 原本可以运行的springboot2项目突然无法运行且报错,HikariPool-1 - Exception during pool initialization。 问题分析: 观察报错信息发现是JDBC连接失败,进而搜索HikariPool-1,搜索得知应该是applicatio…

为什么鸿蒙调用弹窗组件(CommonDialog )却不展示或闪退?

鸿蒙OS开发问题 1.效果展示2.问题代码3.问题分析4.完整代码 1.效果展示 1.为什么调用弹窗不展示会闪退? 2.问题代码 1.前端代码: <?xml version"1.0" encoding"utf-8"?> <DirectionalLayoutxmlns:ohos"http://schemas.huawei.com/res/…

01线性回归

目录 常规求解&#xff1a; 矩阵求解 sklean算法求解 # 二元一次方程 # x y 14 # 2x - y 10 常规求解&#xff1a; x np.array([[1,1],[2,-1]])print(x) # [[ 1 1] # [ 2 -1]]y np.array([14, 10])w np.linalg.solve(x, y)print(正常求救&#xff1a;)print(w) …

契约锁助力货物进出口全程无纸化,加速通关、降低贸易成本

我国作为全球最大的制造业国家和最大的货物贸易国家&#xff0c;政府始终注重引入数字化技术&#xff0c;创新管理和服务模式&#xff0c;帮助降低企业进出口成本&#xff0c;加速货物流通。 近年国家海关总署、商务部、税务总局及各地政府在进出口“报关”、“提货”、“收货备…

Redis持久化策略之RDB与AOF

文章目录 1.RDB1)基本介绍2)自动触发3)手动触发4)RDB文件5)优点缺点 2.AOF1)基本介绍2)使用方式3)工作流程4)重写机制5)AOF文件6)优点缺点 3.RDB AOF 我们都知道&#xff0c;redis 是一个基于内存的数据库。基于内存的好处是访问速度快&#xff0c;缺点是“不持久”——当数据…

golang标准库-crc32的使用

1.概述 crc32实现了32位循环冗余检测算法的实现。目前crc32内部提供 了三种常用的多项式,采用查表法来提高计算checksum的效率。通过crc32.MakeTable()可以获取对应的表&#xff0c;crc32提供了一个IEETABLE可以直接使用&#xff0c;官方链接如下&#xff1a;crc32 package - h…

录屏软件无水印免费的有哪些?我来告诉你!

在日常生活和工作中&#xff0c;我们经常需要使用录屏软件来记录屏幕活动。然而&#xff0c;许多免费录屏软件在录制视频时会添加水印&#xff0c;给用户带来不便。那录屏软件无水印免费的都有哪些呢&#xff1f;在本文中&#xff0c;我们将介绍三款无水印的免费录屏软件&#…

如果面试也能这样说HashMap,那么就不会有那么多遗憾!

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…

jenkins清理缓存命令

def jobName "yi-cloud-operation" //删除的项目名称 def maxNumber 300 // 保留的最小编号&#xff0c;意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullName(jobName).builds.findAll { it.number < maxNumber }.each { it.delet…

SourceTree修改Git密码

SourceTree用的好好的&#xff0c;无奈公司隔段时间强制更改电脑密码。更改完成后SourceTree无法使用&#xff0c;重新输入密码。VS的nuget也是。查资料虽然也能比较快的解决&#xff0c;但是。。。。在此转载记录下。 1. 找到 SourceTree 配置文件所在目录 ‘userhosts’ 目录…

锐捷OSPF认证

一、知识补充 1、基本概述 OSPF区域认证和端口认证是两种不同的认证机制&#xff0c;用于增强OSPF协议的安全性。 OSPF区域认证&#xff08;OSPF Area Authentication&#xff09;&#xff1a;这种认证机制是基于区域的。在OSPF网络中&#xff0c;每个区域都可以配置一个区域…

HCL设备启动失败——已经解决

摸索了一个多小时&#xff0c;终于搞定了&#xff0c;首先HCL这款软件是需要安装Oracle VM Visual Box的&#xff0c;小伙伴们安装的时候记得点击安装Visual Box&#xff1b; 安装完后显示设备不能启动&#xff0c;然后我根据这个 HCL模拟器中Server设备启动失败的解决办法_hc…

Linux:常见指令

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》 文章目录 前言一、常见指令ls指令pwd指令cd指令touch指令mkdir指令rmdir指令rm指令man指令cp指令mv指令cat指令tac指令echo指令more指令less指令head指令tail指令date显示Cal指令find指令gr…

黑马React18: 基础Part 1

黑马React: 基础1 Date: November 15, 2023 Sum: React介绍、JSX、事件绑定、组件、useState、B站评论 React介绍 概念: React由Meta公司研发&#xff0c;是一个用于 构建Web和原生交互界面的库 优势: 1-组件化的开发方式 2-优秀的性能 3-丰富的生态 4-跨平台开发 开发环境搭…

超声功率放大器使用范围有哪些

超声功率放大器是一种特殊的设备&#xff0c;用于放大超声波信号的功率级别。它在各种领域都有广泛的应用范围&#xff0c;下面将详细介绍超声功率放大器的使用范围。 医学影像领域&#xff1a; 在医学影像领域&#xff0c;超声功率放大器被广泛用于超声诊断设备。它们能够放大…

VS Code中常用插件推荐

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Linux输入设备应用编程(键盘,按键,触摸屏,鼠标)

目录 一 输入设备编程介绍 1.1 什么是输入设备呢&#xff1f; 1.2 什么是输入设备的应用编程&#xff1f; 1.3 input子系统 1.4 数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件&#xff1a; 1.5.2 相对位移事件 1.5.3 绝对位移事件 二 读取 struct input_e…

23111702[含文档+PPT+源码等]计算机毕业设计javaweb高校宿舍管理系统寝室管理

文章目录 **软件开发环境及开发工具&#xff1a;****项目功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff…

vscode文件夹折叠问题

今天发现一个vscode的文件夹显示的问题&#xff0c;首先是这样的&#xff0c;就是我的文件夹里又一个子文件夹&#xff0c;子文件夹里有一些文件&#xff0c;但是我发现无法折叠起这个子文件夹&#xff0c;总是显示全部的文件&#xff0c;这让我备份很难&#xff0c;具体参考 h…