BLE一些概念 (转载)

原文见 https://www.cnblogs.com/wahahahehehe/p/15094324.html

1. 物理信道

低功耗蓝牙的工作频段为2.4GHz,这个唯一一个在所有国家都无需授权的频段。

BLE将2.4GHz频段分为40个RF射频信道,每个信道2M宽度,最低的中心频率为2402MHz,最高的中心频率为2480MHz。同一时刻,只能用一个信道进行数据的收发。

image

物理信道从0 ~ 39进行编号。index却是,PHY CH0对应37,PHY CH12对应38,PHY CH39对应39。BLE4.2规定,Advertising、Scanning、Initiating 状态只允许在 37、38、39信道上执行数据的收发,这样做的目的是与WIFI的频段隔离,起到抗干扰的作用在Connection连接状态下可以使用其余37个信道传输数据,并通过跳频技术(Hopping),减少信道干扰增强系统的鲁棒性

image

2. 设备地址

同一时刻,在2.4GHz频段下,蓝牙设备是如何辨别各种需要通信的对象呢?此时就需要给每个BLE设备分配一个ID,及设备地址Device Address,共48 bits。

低功耗蓝牙设备地址分配如下:

image

2.1 公共地址

public device address的地址由company assigned [24 bits] 和 company id [24 bits] 构成,需向蓝牙组织申请。

2.2 随机地址

随机地址用的更广泛,有细分为两类:

  • 静态地址

  • 私有地址

    • 不可解析的私有地址

    • 可解析的私有地址

2.2.1 静态地址

规则如下:

  • 最高两bit恒定为 11

  • 上电的时候随机生成,并且在一个上电周期内保持不变

  • 除开最高两位,剩余的46bits是一个随机数,不能全部为0,也不能全部为1

  • 下一次上电的时候可以改变。但不是强制的,因此也可以保持不变。

2.2.2 私有地址

(1)不可解析的私有地址

Non-resolvable private address会定时更新。更新的周期称是由GAP规定的,称作T_GAP(private_addr_int) ,建议值是15分钟。要求如下:

  • 最高两bit恒定为 00
  • 除开最高两位,剩余的46bits是一个随机数,不能全部为0,也不能全部为1
  • 以T_GAP为周期,定时更新
  • 此地址不能和 public device address 冲突。

(2)可解析的私有地址

这种地址也称 RPA 加密地址,只能被拥有相同 Identity Resolving Key (IRK) 的设备扫描到,可以防止被未知设备扫描和追踪。规则如下:

  • 最高两bit恒定为 10
  • 至少在 random part of prand 有一个 1和一个0
  • prand 除了最高两位以外,是一个随机数
  • hash 部分是通过公式 hash = ah(IRK, prand) 计算出来的 hash 值

5. 空口包格式

BLE的数据都是在空中进行传输的,在协议中定义为 Air Interface Packets,俗称空口包,BLE链路层(Link Layer)定义其格式为:

image

5.1 Preamble

Preamble,前导帧,长度为一个字节,只有0x55和0xAA两种取值,根据Access Address的第一个bit,由PHY层自动调整。

image

由于BLE信号功率强度可以从-90dBm ~ 10dBm,即80dB,接收机需要通过前到帧这样一串0、1交替序列调整增益参数,以适配不同功率的射频信号,优化数据包的鲁棒性。

5.2 Access Address

Access Address,接入地址,用来表示接收者ID或者空中包身份,根据Access Address的不同,可以将空口包分为:广播包数据包

  • 广播包的Access Address固定为0x8E89BED6,在37/38/39广播信道上传输。
  • 数据包的Access Address为一个32 bits的随机值,由Initiator生成,用于设备一对一通信时使用,即用于连接时的master和slave之间通信的。在剩下的37个数据信道传输。每建立一次连接,重新生成一次Access address。

5.3 PDU

PDU,Protocol Data Unit,协议数据单元。是BLE数据传输的基本单元,BLE在不同状态下的PDU组成也不同。

5.4 CRC

24 bits的PDU的CRC校验数据,初始向量为:

image

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

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

相关文章

水库之大坝安全监测系统解决方案

一、系统介绍 水库之大坝安全监测系统主要包括渗流监测系统、流量监测系统、雨量监测系统、沉降监测系统组成。每一个监测系统由监测仪器及自动化数据采集装置(内置通信装置、防雷设备)、附件(电缆、通信线路、电源线路)等组成&a…

为什么每个程序员都应经历一次软考?

今天想和大家讨论一个问题,为什么每个程序员都应经历一次软考? 软考是最近几年比较热门的一个国家级考试,但其实80%的人都只是去凑热闹,是去为国家软考办做贡献的。 有因为各种各样的原因直接缺考的,有是为了一些学习以…

java 将 json 数据转为 java 中的对象

一、准备 json 数据 {"name": "mike","age": 17,"gender": 1,"subject": ["math","english"] }二、对应的java对象 package com.demo.controller;import lombok.Data; import java.util.List;Data pu…

若依 ruoyi-vue el-select 多选框 全选 反选 全不选 查询功能

参考文章vueel-select下拉实现&#xff1a;全选、反选、清空功能 如图&#xff0c;优化代码&#xff0c;支持若依字典 import multipleSelect from /components/MultipleSelect/index.vuecomponents: { multipleSelect },<el-row><el-form-item label"分管领域…

ETL中如何运用好MQ消息集成

一、ETL的主要作用 ETL&#xff08;Extract, Transform, Load&#xff09;是数据仓库中的关键环节&#xff0c;其主要作用是将数据从源系统中抽取出来&#xff0c;经过转换和清洗后加载到数据仓库中。具体而言&#xff1a; Extract&#xff08;抽取&#xff09;&#xff1a;从…

python爬虫 - 爬取图片

文章目录 1、爬取图片示例1&#xff1a;使用 .urlretrieve() 函数2、爬取图片示例2 - 使用 open/write 函数3、爬取图片示例33.1 使用 open/write 下载3.2 使用 urlretrieve下载 爬虫的本质&#xff1a;模拟对应的App&#xff0c;浏览器访问对应的地址获取到数据 1、爬取图片示…

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

centos 6设置yum源遇到的问题

由于centos6已经不被支持了&#xff0c;直接抄人家的命令是不行的 比如执行这些&#xff08;是wget或者是curl按照自己的改&#xff09; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo yum makecache会报错 需要到对应的镜像源网…

Base64编码方式简介

从二进制转为字符的一种编码。每个base64字符表示长度为6个比特的二进制数据&#xff0c;因此可以推得每3个字节&#xff08;24比特&#xff09;可以由4个base64字符组成。base64字符编码表如下&#xff1a; 因此需要注意的是&#xff0c;当二进制文件长度不是3的倍数的时候&a…

OSCP靶场--RPC1

OSCP靶场–RPC1 考点 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC 192.168.227.236 -p- -Pn --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-14 22:21 EDT Nmap scan report for 192.168.227.236 Host is up (0.14s latency). …

20V/200mA高PSRR低噪声高性能车规级稳压器

概述 PCD3900 是一款高性能低压差线性稳压电源&#xff0c;其采用的超低噪声和超高电源抑制比&#xff08;PSRR&#xff09;架构对噪声敏感的信号采集和无线通信应用供电。 PCD3900 被设计为一个高性能电流基准后跟随一个高性能电压缓冲器&#xff0c;其可容易地通过并联以进一…

MySQL之锁详细总结

介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用外&#xff0c;数据也是一种供多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题&…

如何在Windows使用固定公网地址SSH远程访问本地Archcraft系统

文章目录 1. 本地SSH连接测试2. Archcraft安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接小结 5. 固定SSH公网地址6. SSH固定地址连接 Archcraft是一个基于Arch Linux的Linux发行版&#xff0c;它使用最简主义的窗口管理器而不是功能齐全的桌面环境来提供图形化用户界面。 C…

MOM系统:制造企业的“神级助手“!

一、大环境下的智能化改造 嘿&#xff0c;亲爱的制造企业老板们&#xff0c;你们是否曾经为生产计划混乱、物料和设备管理无序、产品质量不稳定等等问题而头疼不已&#xff1f;现在&#xff0c;有一个超级助手可以帮助你们解决这些问题&#xff0c;那就是MOM系统&#xff01;什…

QT、ffmpeg视频监控分屏

1、支持分屏&#xff08;4&#xff0c;6&#xff0c;8&#xff0c;9&#xff0c;13&#xff0c;16&#xff0c;25&#xff0c;32&#xff0c;64&#xff09;切换 2、支持拖拽效果 3、支持播放mp4&#xff0c;rtmp等 4、本人亲测支持播放32路&#xff0c;64路没做测试 5、支持读…

中职大数据技术应用就业方向解读

在信息化时代&#xff0c;各个行业都或多或少会需要运用到数据分析&#xff0c;因此大数据技术应用专业毕业生有着比较广泛的就业选择。 ●大数据技术应用● 主干课程 计算机网络基础、C语言程序设计、常用软件应用、计算机编程基础、数据库基础应用、计算机网络基础…

Upload-labs(Pass-14 - Pass-16)

Pass-14 &#xff08;图片马&#xff0c;判断文件类型&#xff09; 图片的格式在防护中通常是不会使用后缀进行判断的依据&#xff0c;文件头是文件开头的一段二进制码&#xff0c;不同类型的图片也就会有不同的二进制头。   JPEG (jpg)&#xff0c;文件头&#xff1a;FF D…

The 0-1 Knapsack Problem KNAPSACK

Problem Let U {u1, u2, . . . , un} be a set of n items to be packed in a knapsack of size C. For 1 ≤ j ≤ n, let sj and vj be the size and value of the jth item, respectively. Here C and sj, vj , 1 ≤ j ≤ n, are all positive integers. Each item should e…

ELK日志收集和备份填坑实战 (滞后8个小时等时区问题)

ES的备份&#xff1a;ES快照备份 根据时间&#xff0c;每天零点在Linux机器crontab来调用api接口实现快照备份&#xff0c;通过快照备份&#xff0c;可以定准恢复到某一天的日志。 现象&#xff1a;&#xff08;坑&#xff1a;但是恢复某一天日志&#xff0c;发现会少8小时的日…

P2P通信基本原理

在数字世界的脉络中&#xff0c;点对点&#xff08;P2P&#xff09;技术如同一条悄无声息的河流&#xff0c;流经信息的每个角落&#xff0c;连接着世界各地的计算机和设备。这种去中心化的网络模型&#xff0c;不仅打破了传统的客户端-服务器架构的界限&#xff0c;还赋予了数…