蓝牙ble tips3-MAC地址

2023-11-20

和计算机网络IP地址类似,BLE也会有属于自己的一个地址

BLE设备地址

蓝牙地址,也称作 Bluetooth MAC (Media Access Control) 地址,是一个48位的唯一硬件标识符,用于在蓝牙设备之间建立连接和通信。它由全球唯一的组织,即 IEEE(Institute of Electrical and Electronics Engineers)负责管理分配。

蓝牙地址通常表示为 12 个十六进制数(例如:00:11:22:33:44:55),其中前6个数字代表蓝牙适配器的厂商 ID,后6个数字是该适配器的独特序列号。蓝牙地址不同于 IP 地址,它们只在网络层次结构上唯一标识设备,而蓝牙地址则更加接近于物理层面上的设备地址。

需要注意的是,在蓝牙通讯过程中,设备不是直接使用蓝牙地址相互通信,而是通过蓝牙协议栈上的 L2CAP(Logical Link Control and Adaption Protocol)层进行通信,L2CAP 层使用其自己的 Channel ID 和 Connection Handle 来标识正在交换数据的蓝牙设备。

公共设备地址

公共设备地址由电气和电子工程师学会(IEEE)分配。

随机设备地址

随机设备地址是随机分配的,但其值必须满足《蓝牙核心规范》中规定的规则。有三个子类型的随机设备地址,即静态地址私有可解决地址私有不可解决地址。 随机设备地址的子类型可以通过检查其地址的两个最高有效位来确定。

0b00:不可解析的私有地址 (Non-resolvable private address)

不可解析的私有地址是随机生成的,并且通常在每次重新连接时更改。它可以用于提供隐私保护,但无需处理可解析的私有地址以检查是否包含在过滤器接受列表中等成本。请参见7.5.3过滤器接受列表。 例如:2C:C1:EE:7B:71:96是一个不可解析的私有地址。通过将最高位字节值(0x2C)转换为二进制,可得到0b00101100。最高的两位bit位的值为0b00,这表明它是一个不可解析的私有地址,根据7.5.2随机设备地址中的表格。

0b01:可解析的私有地址 (Resolvable private address)

RPA(可解析私有地址)是周期性变化的。蓝牙核心规范建议间隔大约15分钟,但最终控制RPA更改的时间是一个实现决策。

示例4C:C1:EE:7B:71:96为可解析的私网地址。这可以通过将最高字节值(0x4C)转换为二进制来验证,得到0b01001100。根据随机设备地址表,最高两位的值为0b01,表示这是一个可解析的私有地址。

生成RPA的过程涉及一个称为身份解析密钥(IRK)的安全密钥,该密钥在绑定设备和应用哈希函数时在设备之间交换。绑定的对等设备可以对接收到的数据包中的每个IRK值应用相同的哈希函数来解析RPA,每次一个。当进程与接收到的RPA匹配时,对等端就知道它已经解析了远程设备的地址和真实身份。未与发送设备绑定的设备无法解析RPA。

示例5A:C1:EE:7B:71:96为可解析私网地址。可以通过转换最高有效字节值(0x5A)转换为二进制,得到0b010111010。最高两位值为0b01,表示这是一个可解析的私有地址,

0b11:静态设备地址(Static device address)

静态设备地址是随机生成的,但并没有以任何方式加密,以保护设备的隐私。使用静态地址的设备允许在每次重启时重新生成地址,但不需要这样做。它不允许在其他任何时候更改其地址。

例如:CC:C1:EE:7B:71:96是一个静态地址。通过将最高位字节值(0xCC)转换为二进制,可得到0b11001100。最高的两位bit位的值为0b11,这表明它是一个静态设备地址。

0b10:保留以备将来使用 (Reserved for future use)

过滤接受列表

蓝牙链路层具有一种称为“过滤器接受列表”的功能。此列表可以填充主机感兴趣的设备地址以接收数据包。在蓝牙核心规范中定义了一系列不同的过滤器策略,描述了如何处理设备地址在此列表中的存在或不存在。

过滤器接受列表的一个好处是,它允许控制器有效地选择需要传递到主机上的数据包,并丢弃不需要的数据包。

可解析私有地址可以添加到过滤器接受列表中,但由控制器处理会产生一定成本。由于可解析的私有地址会定期更改,因此必要时在过滤器接受列表中存储已解析的地址,并且为了检查列表中是否存在可解析的私有地址,控制器必须首先解析接收到的可解析私有地址。

更加详细的干货可以访问这个地址,大佬讲的更好:http://www.wowotech.net/bluetooth/ble_address_type.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙ble tips3-MAC地址 的相关文章

  • 基于STM8的ADC0832采集及蓝牙通信系统

    为了方便大家学习 工程已经打包上传 http download csdn net detail devintt 8029389 最近在淘宝逛的时候发现了一款单片机 STM8 相比之前一直使用的也是8位的AVR相比 感觉STM8更为强大 芯片
  • 车联网企业排行榜

    1 为紧跟车联网行业发展动态 聚焦优质市场主体 中国价值公司100排行榜之车联网企业排行榜从经营分析 发展能力以及社会责任三个维度对30家车联网重点企业进行综合评分 2 车载信息服务领域 市场主体多样 角色多元 以百度 腾讯 博泰 四维图新
  • 蓝牙之十七-bluedroid scan流程

    蓝牙扫描过程是指扫描蓝牙设备 app层 这里有两张截图 第一张图显示的是安卓设置setting菜单栏中有Bluetooth这一项 点进去以后 点击右上角显示如下的截图 其中Refresh就是刷新设备列表 也就会扫描设备信息 上图显示的三个菜
  • 药明康德成都研发中心投入运营;中国白酒行业净利润将迎来七年来首次下滑

    今日看点 药明康德成都研发中心正式投入运营 该研发中心将成为药明康德上海研发总部以外 又一个覆盖化学及生物学的新药发现整体研发平台 将为客户提供从小分子药物设计 合成 分析 体内体外生物学 肿瘤免疫学等全方位 一体化的新药研发服务 该研发中
  • 雅特力AT32F403A, 国产芯片PIN TO PIN 替代STM32F103

    中美贸易摩擦日渐加剧 美国从各个方面到处打压中国 半导体行业也收到一定冲击 逼迫国内企业不得不准备产品国产化方案 自从华为被美国制裁之后 国内的很多手机厂商明白了一个道理 爹有娘有 不如自己有 于是各大厂商纷纷走上了芯片国产化的道路 意法半
  • 解决KEIL上的ST-LINK提示升级文件过大的问题

    我是阿荣 关注我 在技术路上一起精进 今天翻出了尘封已久的潘多拉STM32L4开发板 准备研究下LCD屏 结果在使用ST Link时 提示版本过旧 需要升级 然而升级包过大 不适合在STM32F103C8T6上升级 ST LINK Firm
  • Re: Programming in C with Bluetooth Sockets

    Re Programming in C with Bluetooth Sockets This is the function run by the bluetooth device that will recieve the data c
  • iPhone手机连接蓝牙鼠标和蓝牙键盘

    iPhone手机升级了IOS13之后 无意中发现了一个有趣的功能 iPhone手机可以连接蓝牙鼠标 具体方式如下 首先 要买一个支持蓝牙功能的鼠标 我用的罗技M590 建议再买一个蓝牙键盘 打开手机蓝牙 和蓝牙鼠标建立连接 这一步鼠标的说明
  • 【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问

    文章目录 前言 一 开发环境 二 硬件介绍 三 下载esp idf 四 下载esp iot solution 五 配置idf 1 执行下载脚本 2 设置环境变量 3 声明外部组件 六 构建例程 七 烧写Flash 八 使用方法 九 感谢 前
  • BLE连接、配对和绑定

    参考 一篇文章带你解读蓝牙配对绑定 参考 BLE安全之SM剖析 1 参考 BLE安全之SM剖析 2 参考 BLE安全之SM剖析 3 参考 https blog csdn net chengbaojin article details 103
  • 蓝牙ble tips3-MAC地址

    和计算机网络IP地址类似 BLE也会有属于自己的一个地址 BLE设备地址 蓝牙地址 也称作 Bluetooth MAC Media Access Control 地址 是一个48位的唯一硬件标识符 用于在蓝牙设备之间建立连接和通信 它由全球
  • 物联网数据采集网关在工厂数字化转型中的应用

    物联网数据采集网关能将各种传感器 执行器等设备连接在一起 通过收集 处理和传输来自各种物理设备的信息 实现数据的集成和分析 同时可通过云平台进行数据交互 它具有数据转换 数据处理 数据传输等功能 是工厂数字化转型的核心组件 随着科技的飞速发
  • AWS IoT - 通过.Net、REST 和证书访问影子

    为了学习 AWS IoT 我创建了一些 事物 一个策略 我什至能够使用 IoT CLI 来列出事物 or 列表策略 我什至可以通过 CLI 更新影子更新事物通过 CLI 命令 但是一旦我尝试通过 REST GET POST 请求 通过 Ne
  • sim800L GPRS 发布请求

    我一直在研究 LoNet 迷你 GSM 模块 SIM800L 并将其与 Arduino 连接 我已插入 SIM 移动卡并且可以连接互联网 通过串行监视器 我可以毫无问题地与它通信 但是当向网络服务器页面发出 GET 或 POST 请求时 它
  • 将 Reactjs 连接到 Myqtthub

    您好 我对所有物联网事物都很陌生 我希望能够使用 mqtt 从 Arduino 发送和接收数据https myqtthub com https myqtthub com作为我们的经纪人 我使用以下代码进行连接 import React Co
  • AWS IOT 连接在 IPAD OS v12.1.1 上关闭

    当我们在 ios 版本 12 1 1 上使用 wss 协议连接到 AWS IoT 时 我们能够成功连接到 IoT 但立即我们可以看到 IoT 触发 onError 事件 然后连接关闭 它尝试再次重新连接 但没有任何运气 我们从 IoT 得到
  • 了解 Azure 事件中心分区使用者模式

    Azure 事件中心使用分区使用者模式中描述的docs https learn microsoft com en us azure event hubs event hubs features 当涉及到现实世界场景时 我在理解该模型的消费者
  • Raspberry 3 上的 GSM/GPRS 模块与 Android Things 原生集成

    我想知道是否有任何方法可以使 GPRS GSM 模块 SIM800L 作为 android 中的 默认 连接 允许浏览互联网并使用 Android 库发出请求 似乎不是 因为如this https stackoverflow com a 4
  • 请求/响应的 MQTT 主题名称

    我正在设计一个包含许多设备的系统 使用 MQTT 连接到中央代理 有些主设备可以向某些从设备发送请求 来自一台主机的请求通常会发送给一台从机 请求的主题可以是 mysystem slaveId req 因此从站可以订阅该主题 并且主站可以发
  • CC2538 的 Contiki UDP 数据包传输持续时间

    有人可以解释一下 Contiki OS 传输 UDP 数据包时发生了什么吗 以下是我的设备使用 CC2538 芯片运行时的详细电流消耗 我的问题是 既然理论上在 250kbps 下 408 位长度的数据包应该在大约 2ms 内传输 为什么要

随机推荐

  • Java 单例模式、工厂模式、代理模式

    文章目录 单例模式 概念 单例模式的类型 破坏单例模式 枚举实现单例模式 工厂模式 概述 简单工厂模式 工厂方法 抽象工厂 代理模式 Proxy 概述 静态代理 动态代理 单例模式 概念 单例模式指在内存中创建对象且仅创建一次的设计模式 在
  • 《Pyramid Scene Parsing Network》

    Pytorch代码 1 研究问题 目前基于FCN的语义分割网络缺乏利用不同尺度全局上下文信息的能力 对于复杂图像的语义分割 如ADE20K数据集 存在问题 注 感受野的大小可以粗略表示为使用上下文信息的程度 2 研究方法 提出了金字塔场景理
  • Mybatis的常用注解

    加载配置文件的时候 绝对路径和相对路径的写法都不太好用 我们经常使用的两种方法第一种就是使用类加载器 他只能读取类路径的配置文件 第二种就是使用ServletContext对象的getRealPath 函数 mybatis的常用注解 1 与
  • jsp+servlet+ajax实现登录

    该案列使用jsp servlet ajax实现登录 页面简洁大方 弹框都是封装的插件 整体案列采用三层的模式 链接数据库方面用的是dbcp的链接池 数据库时mysql 运行效果如下图 下载地址 jsp servlet ajax实现登录案例
  • c++(对象赋值与拷贝构造函数)

    对象赋值 同一个类的对象之间可以相互赋值 默认情况下 进行的是对象成员之间的复制 也称为 按位复制 或 浅复制 当类的数据成员中没有指针类型的变量时 直接对两个对象进行赋值没有问题 但是一旦类的数据成员含有指针变量 那么直接对这两个对象进行
  • MySQL常用基础 - 小白必看(二)

    MySQL数据库基本操作 一 DDL 概念 是一个数据定义语言 该语言部分包括 1 对数据库的常用操作 创建数据库 1 create database 数据库名 直接删除 2 create database if not exists 数据
  • 《effective java》中关于解决构造函数/方法签名包含大量参数的解决方法

    针对构造方法 重叠构造器模式 重叠构造器模式是一种编程中的反模式 指的是一个类有多个构造函数 每个构造函数都有不同数量的参数 从而可以根据不同的情况创建对象 这种方式会导致代码可读性和可维护性降低 因为构造函数过多 参数顺序容易混淆 Jav
  • 使用 Composer 安装 JWT 失败错误 The "https://packagist.org/packages.json" file could not be downloaded 解决方案

    错误信息 The https packagist laravel china org packages json file could not be downloaded SSL operation failed with code 1 O
  • Redis3.0集群方案分析

    在Redis3 0集群出来之前 大家都对作者antirez寄予厚望 因为Redis从来没有让我们失望过 现在Redis3 0集群出来了 网上出了很多评论文章 都说他的功能多么强大 包括下面这张图是彻底把我欺骗了 等到我把Redis3 0客户
  • Qmake VS Cmake 对比讲解

    用 cmake 构建Qt工程 对比qmake进行学习 cmake vs qmake qmake 是为 Qt 量身打造的 使用起来非常方便 cmake 使用上不如qmake简单直接 但复杂换来的是强大的功能 内置的 out of source
  • 一点浩然气,千里快哉风

    到英国访学一年 也认识了一些其他来自国内的访问学者 平时周末也经常一起徒步聚餐 从今年1月份以来 基本每个月有一个小伙伴回国 随着身边的小伙伴越来越少 以及自己也要不久回国了 心里不免有些人走茶凉 曲终人散的落寞 总体上 来英国的访问学者很
  • 【模板】快速排序

    题目链接 洛谷 P1177 模板 快速排序 1960年由查尔斯 安东尼 理查德 霍尔 Charles Antony Richard Hoare 缩写为C A R Hoare 提出 如下图所示 快速排序的执行流程为 从序列中选择一个轴点元素
  • C/C++ getcwd 获取项目的运行路径

    在Linux下做QT项目时 需要获取项目的运行路径 于是用getcwd函数进行获取 然后在Windows下进行测试 发现获取到的是程序的项目路径 即代码文件路径 然后再Linux QT中测试 获取到的又是运行路径 这就很纳闷了 经过再三测试
  • 2-1、Lua数据结构

    2 1 Lua数据结构 文章目录 2 1 Lua数据结构 1 数组 2 矩阵和多维数组 3 链表 4 队列和双向队列 5 集合和包 6 字符串缓冲 table是Lua中唯一的数据结构 其他语言所提供的数据结构 如 arrays record
  • python crop函数-图片裁剪函数

    crop 函数的参数形式是 x1 y1 x2 y2 这个元组是作为一个参数的 参考代码 from PIL import Image im Image open d 22 jpg im1 im crop im size 0 4 im size
  • linux中进入目录命令是什么,linux进入目录的命令是什么

    linux进入目录的命令是 cd 该命令的作用是切换至指定目录下 语法格式为 cd dirName 参数 dirName 表示要切换的目标目录 可以是绝对路径或相对路径 若目录名称省略 则变换至使用者的home目录 本教程操作环境 Red
  • bp神经网络时间序列预测,bp神经网络有几个阶段

    什么是BP神经网络 BP算法的基本思想是 学习过程由信号正向传播与误差的反向回传两个部分组成 正向传播时 输入样本从输入层传入 经各隐层依次逐层处理 传向输出层 若输出层输出与期望不符 则将误差作为调整信号逐层反向回传 对神经元之间的连接权
  • SwiftUI接入穿山甲开屏广告

    研究了一下SwiftUI怎么接入穿山甲 基于穿山甲sdk版本 4 7 0 8 例子地址 1 首先要先注册一个账号 穿山甲地址 在广告变现 gt 流量 gt 应用中创建一个应用并记录下应用ID 在广告变现 gt 流量 gt 代码位创建一个代码
  • vue-excel导出-单表头,多表头导出,Export2Excel.js Blob.js

    效果如图 一级导出 二级导出 如下图 三级导出 Export2Excel js Blob js 等 安装依赖 npm install S file saver npm install save xlsx 0 10 0 npm install
  • 蓝牙ble tips3-MAC地址

    和计算机网络IP地址类似 BLE也会有属于自己的一个地址 BLE设备地址 蓝牙地址 也称作 Bluetooth MAC Media Access Control 地址 是一个48位的唯一硬件标识符 用于在蓝牙设备之间建立连接和通信 它由全球