BLE中的设备地址

简介

设备地址,也叫MAC地址。在BLE中对设备地址分了很多类别,但实际使用的MAC地址只有有四种:

  • Public Device Address :公共设备地址
  • Static Device Address:静态设备地址
  • Non-resolvable Private Address:不可解析私有地址
  • Resolvable Private Address:可解析私有地址

Public Device Address-公共设备地址

特点为:

  1. 需要向IEEE购买,然后全球唯一。购买后可在官网IEEE Registration Authority: Assignments上查询对应厂商信息

  2. 全球唯一,在设备的整个生命周期都不会改变。

  3. 长度48bit,也就是6个byte。其中Company Assigned为公司内部分配,Company ID为公司向IEEE申请分配。

应用场景:

成本较高,随着蓝牙设备增多后ID也越来越不够用。除了少数高端产品,想不出还有谁会用。

Static Device Address-静态设备地址

特点为:

  1. 长度保持六个byte,其中最高两个bit固定为0b11,剩余的46bits是一个随机数,不能全为0,也不能全为1
  2. 在一个上电周期内保持不变,下一次上电的时候可以改变,但一般不变。如果变了,需要重新配对。

应用场景:

非常广泛的应用,成本低,而且大部分为确定一个地址后不会再改变。

Non-resolvable Private Address-不可解析私有地址

  1. 长度保持六个byte,其中最高两个bit固定为0b00,剩余的46bits是一个随机数,不能全为0,也不能全为1
  2. 周期性改变,Spec推荐15分钟更新一次,但不要超过1个小时。由于地址随机,无法追踪,无法保持连接,无法配对。

应用场景:

Beacon类会用,不连接,不配对。只靠广播来传递数据。

Resolvable Private Address-可解析私有地址

  1. 长度保持六个byte,高位24bits是随机数部分,记为prand,其中最高两个Bit为0b10,用于标识地址类型

  2. 低位24bits是随机数和IRK经过hash运算得到的hash值,运算的公式为hash=f(IRK,prand)

    IRK为设备经过配对绑定后得到的hash密钥。主从设备断连后,主机可以通过这扫描到的设备地址中的prand使用IRK进行哈希运算。然后确认哈希结果是否与设备地址中的hash值匹配,由此来是否为配对绑定过的设备。

  3. 周期性改变,Spec推荐15分钟更新一次,但不要超过1个小时。由于地址在配对绑定后可以解析,因此可以追踪,可以保持连接。

应用场景:

有安全要求的会用,比如苹果手表。一定要进行配对绑定。

总结

该文章为总结性笔记,更详细说明参考网上其他资料。

posted on   不回本不改名  阅读(895)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示