首页 > 其他分享 >BLE中的设备地址

BLE中的设备地址

时间:2023-06-13 15:15:15浏览次数:32  
标签:hash 地址 Address BLE byte 配对 设备

简介

设备地址,也叫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个小时。由于地址在配对绑定后可以解析,因此可以追踪,可以保持连接。

应用场景:

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

总结

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

标签:hash,地址,Address,BLE,byte,配对,设备
From: https://www.cnblogs.com/simpleGao/p/17477541.html

相关文章

  • git【fatal: unable to access 'XXXX': Failed to connect to github.com port 443 a
    依次将如下两条语句复制到git中后,点击回车gitconfig--global--unsethttp.proxygitconfig--global--unsethttps.proxywin+r打开cmd,将ipconfig/flushdns复制,点击回车,清理DNS缓存 ......
  • blender 绑骨rigify卡顿优化
    blender不是游戏引擎,没有设计性能分析工具,有的话也只能在专业的调试工具(如VisualCodeMSVC)里下载源码编译一遍才行。那么就从做对照试验开始吧卡顿因素:https://docs.blender.org/manual/en/2.79/render/blender_render/optimizations/performance.html而本次实验得出:删除......
  • Stable Diffusion WebUI 环境
    StableDiffusion是热门的文本到图像的生成扩散模型,本文介绍了如何准备其WebUI环境。StabilityAIStabilityAPIExtensionforAutomatic1111WebUIStableDiffusionwebUI环境基础OS:Ubuntu22.04.2LTSKernel:5.19.0CPU:AMDRyzen73700XGPU:NVIDIAGeF......
  • 最新jQuery引用google地址外部文件(jquery 1.2.6至jquery1.7.2)
    评:1.很多网站都是使用这种方式引入,客户的浏览器可能已经缓存过了jquery。可以直接调用本地的,速度更快…2.Googlecode使用了cdn技术在很多地方有节点服务器,加载jquery时绝对不会比在你服务器上加载慢,本地服务器除外:)3.可以节省服务器流量,降低服务器带宽压力可以使用......
  • 如何使用Stable Diffusion生成艺术二维码?
    硬件准备物理内存:至少16G(8G直接安装阶段就卡死)N卡:此处我使用GTX16606G(2019年双12购买)操作系统windows11软件准备网络要通畅git:https://git-scm.com/download/winPython:https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exeCUDA驱动:https://develo......
  • Java8 Stream List Map:Stream 流对象汇总 求和 某个属性 BigDecimal MDouble
    测试实体(数字对象使用MDouble):importcom.mchweb.common.lang.MDouble;importlombok.*;@Getter@Setter@Builder(toBuilder=true)@NoArgsConstructor@AllArgsConstructorpublicclassUser{privateMDoublemoney;}importcom.mchweb.common.lang.MDouble;imp......
  • 好用的几个IP地址信息获取API
    1. https://ipapi.co (每月免费查询3W条)支持返回 json, jsonp, xml, csv,yaml工具API文档:https://ipapi.co/api/#specific-location-field价格: 具体使用:get方式请求: https://ipapi.co/json(查询本机IP地址信息)https://ipapi.co/8.8.8.8/json(查询指定IP地址信息) ......
  • c# 动态数据集合ObservableCollection
    WPF中对ListBox、ListView、TreeView等实现数据双向绑定经常会用到ObservableCollection<T>类。ObservableCollection<T>类表示一个动态数据集合,它是实现了INotifyPropertyChanged接口的数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。如果要实现集合中的某字段......
  • Not Another Linear Algebra Problem 题解
    题意:自己看。首先我们知道我们唯一能找到的题解在hos_lyric的代码里。把它放在这里:(由bikuhiku提供)\[\begin{aligned}&U\subseteq\mathbb{F}_p^n,\text{subspace}\\&a(U):=\#\{p\in\text{Aut}(\mathbb{F}_p^n)|\text{Ker}(p-\text{id})=U\}\\&b(U):=......
  • 移动设备管理:自带设备办公(BYOD)管理
    什么是自带设备办公(BYOD)自带设备办公(BYOD)指一些企业允许员工携带自己的笔记本电脑、平板电脑、智能手机等移动终端设备到办公场所,并可以用这些设备获取公司内部信息、使用企业特许应用的一种政策,企业组织已经开始鼓励在工作场所使用员工拥有的设备。采用BYOD不仅增强了灵活性,而且......