当前位置: 首页 > news >正文

关于BLE的一些知识总结

  1. 数据包长度

对于BLE4.0/4.1来说,一个数据包的有效载荷最大为20字节

对于BLE4.2以上,数据包的有效载荷扩大为251字节

  1. 传输速率

在不考虑跳频间隔的情况下,最大传输速率为:

1)BLE4.0/4.1的理论吞吐率为39kb/s;

2)BLE4.2的理论吞吐率为100kb/s;

3)BLE5.0的理论吞吐率为180kb/s(前提:使用2Mbps调制速率;如果使用1Mbps调制速率,那么吞吐率就和蓝牙4.2一样);

具体计算方式看:https://www.ngui.cc/article/show-498835.html?action=onClick

考虑跳频间隔的时候就要看间隔时间多少了,跳频间隔的基数为1.25ms,如果是跟安卓手机通信的话,那么安卓规定间隔至少为8个基数,即10ms,按照BLE4.0/4.1协议的话,一个数据包最多传输20字节数据,那么最大传输速率就是2KB/S;那么按照BLE4.2的话理论应该是能到25KB/S,但是按照1Mbps的调制速率来算的话,传输251Byte的数据的传输时间已经超过1250us了,达到2120us,所以这种情况下能够达到多少的速率还不知道怎么算,有知道的老铁还望告知。

  1. 关于GATT、service、Characteristic、Descriptor

下图表明得很清楚:(参考:https://www.jianshu.com/p/f6b2ab2b6c64)

  • 每个BLE设备由多个Profile(GATT)组成

  • 每个Profile由多个的Service服务组成

  • 每个Service由多个Characteristic特征组成

  • 每个Characteristic由一个Value值和多个Descriptor描述组成

  1. 提高传输速率

目前已知两种方式:

  1. 缩短跳频间隔,蓝牙BLE协议规定连接参数最小是5,即7.25毫秒;而Android手机规定连接参数最小是8,即10毫秒。iOS规定是16,即20毫秒。

  1. 采用writeWithoutResponse方式,如下图

  1. 关于UUID

  1. Service、Characteristic和Descriptor均有一个唯一的UUID标识,UUID既有16位的也有128位的。16位的UUID是经过蓝牙组织认证的,是需要购买的,而128位的UUID则可以自定义,当然也有许多通用的UUID。

  1. BLE协议是给了128位的位宽来表示万事万物,但是蓝牙技术联盟定义了一个基本的UUID:0000xxxx-0000-1000-8000-00805F9B34FB,16位的UUID就是用一个16位(bit)的数来代替其中的x处,如心率测量的UUID为:0x00002A37-0000-1000-8000-00805F9B34FB

主要参考链接:

  1. https://www.jianshu.com/p/f6b2ab2b6c64

  1. https://www.ngui.cc/article/show-498835.html?action=onClick

http://www.lryc.cn/news/38178.html

相关文章:

  • Spring框架源码分析一
  • CSS常用内容总结(扫盲)
  • Java启蒙之语言基础
  • 数据库系统--T-SQL数据查询功能-多表查询(超详细/设计/实验/作业/练习)
  • Spring Boot 3.0系列【14】核心特性篇之Configuration相关注解汇总介绍
  • [ubuntu][jetson]给jetson增加swap空间类似于给windows加虚拟内存
  • 小黑子—Java从入门到入土过程:第二章
  • ElasticSearch搜索详细讲解与操作
  • web实现太极八卦图、旋转动画、定位、角度、坐标、html、css、JavaScript、animation
  • 【LeetCode】33. 搜索旋转排序数组、1290. 二进制链表转整数
  • IBM Semeru Windows 下的安装 JDK 17
  • Lambda表达式和steram流
  • 面试必会-MySQL篇
  • Hadoop入门常见面试题与集群时间同步操作
  • JS 数组去重的方法
  • PMP项目管理项目沟通管理
  • 2.JVM常识之 运行时数据区
  • 你的游戏帐号是如何被盗的
  • C++11异步编程
  • 20230310----重返学习-DOM元素的操作-时间对象-定时器
  • 江苏专转本转本人后悔排行榜
  • 【算法时间复杂度】学习记录
  • 汽车车机芯片Linux系统内核编译问题总结
  • Android13 音量曲线调整
  • OpenHarmony通过MQTT连接 “改版后的华为IoT平台”
  • SQS (Simple Queue Service)简介
  • 高速PCB设计指南系列(三)
  • 【C++】C++11——左右值|右值引用|移动语义|完美转发
  • [ROC-RK3399-PC Pro] 手把手教你移植主线Buildroot(基于2023.02-rc3版本)
  • 重温线性代数