蓝牙 LE:地址类型

2024-05-07

我正在研究 iBeacon 技术,但我找不到有关地址类型的特定问题的任何答案。 我找到了解释地址类型的文档(蓝牙规范),但我似乎找不到如何在两种类型(公共和随机)之间进行选择。

这是我发现它的一个例子(它是由 Raspberry PI 上的 iBeacon 传输的嗅探数据包):

https://i.stack.imgur.com/QF5gf.png https://i.stack.imgur.com/QF5gf.png and https://i.stack.imgur.com/NHY6x.png https://i.stack.imgur.com/NHY6x.png(抱歉,由于我的声誉,我还不能发布图片)

让我们尝试提出问题并使其更具体:

  • 由于公共地址必须有效,因此可能存在是一个生成随机数的命令(但地址格式正确)将其分配给相关设备?

  • 如果上述情况为真:命令是什么?以及如何回滚(到主要公共地址)?

  • 或者是否有一个“开关”可以让在(有效)公共地址之间进行选择还是生成一个随机地址?

谢谢。


这是一个看起来非常像您想要的命令。详细信息请参见此处。 http://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc/mgmt-api.txt

Set Static Address Command
==========================

Command Code:       0x002B
Controller Index:   <controller id>
Command Parameters: Address (6 Octets)
Return Parameters:

This command allows for setting the static random address. It is
only supported on controllers with LE support. The static random
address is suppose to be valid for the lifetime of the
controller or at least until the next power cycle. To ensure
such behavior, setting of the address is limited to when the
controller is powered off.

The special BDADDR_ANY address (00:00:00:00:00:00) can be used
to disable the static address.

When a controller has a public address (which is required for
all dual-mode controllers), this address is not used. Only when
the controller information reports BDADDR_ANY (00:00:00:00:00:00),
it is required to configure a static address first.

If privacy mode is enabled and the controller is single mode
LE only without a public address, the static random address is
used as identity address.

This command generates a Command Complete event on success or a
Command Status event on failure.

Possible errors:    Rejected
            Not Supported
            Invalid Parameters
            Invalid Index

在我看来,BlueZ 的隐私功能目前正在积极开发中,可能尚未完成。。如果您想使用最新更新尝试此操作,则必须从源代码编译 BlueZ。

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

蓝牙 LE:地址类型 的相关文章

  • 用于 BLE 的 BluezV5.42 DBUS C API?

    我开发了 BLE 应用程序openwrt using BLUEZV5 30 我能够通过提取源代码来创建应用程序gatttool and hcitool 我还添加了这些工具提供的更多功能 例如阅读rssi 不过 我已经升级了我的bluez堆叠
  • Android 8.0 上的 BLE 扫描

    我开发了一个应用程序 可以扫描附近的设备 周围有多种信标 我正在使用带有 CALLBACK TYPE ALL MATCHES 和空 ScanFilter 数组的 BluetoothLeScanner 进行扫描 因为我想获取所有附近设备的回调
  • 三星 S4 上的蓝牙崩溃

    我正在运行一个带有 BLE 扫描的应用程序 一段时间后在 Samsung S4 上或者如果周围有超过 10 个信标 我会看到此错误 07 18 11 51 57 169 W bt userial 7819 userial read thre
  • HM10 ble改变特征值AT命令Arduino

    谁能帮我用AT命令写入特征值 或者如何使用Hm10模块将数据从arduino发送到另一个ble设备 HM10发送AT START后 会通告数据包 并且可以检测服务和特征 但特征值是默认的0x00 如何更改 多次检查数据表 但找不到能够执行相
  • 获取远程用户Mac地址

    我正在开发一个使用 mongodb express 和 nodejs 构建基于内联网的 web 应用程序的项目 该项目的目标是通过身份验证获取用户 mac 地址并运行远程 ssh 然而 我发现很难获取远程电脑的 MAC 地址 客户端和服务器
  • 如何使用 PHP 检测访问我们网站的用户的 MAC 地址?

    我知道如何追踪 IP 地址 但我需要追踪查看我的页面的用户的 MAC 地址 如何做到这一点 除非用户与网络服务器位于同一 LAN 上 否则无法执行此操作 MAC 地址位于 TCP IP 下面的以太网层 并且不包含在从用户本地网络路由出去的
  • 通过蓝牙检测附近的另一台 Android 设备

    好吧 我这里有一个有点奇怪的问题 我正在开发一款 Android 游戏 我希望 Android 手机能够检测到彼此的存在 搜索其他玩家的设备将知道其他玩家设备的蓝牙 MAC 地址 来自游戏数据库 但是设备不会配对 并且设备不会处于可发现模式
  • 在 C# 中以编程方式创建 DHCP 预留

    我被分配的任务是创建一个应用程序 该应用程序接收 MAC 地址并为该 MAC 地址创建 DHCP 保留 NET 中是否有内置的 API 可以轻松完成此任务 当我为基础设施编写应用程序时 Windows 2000 资源工具包中有一个名为 Dh
  • 使用bluez5读取蓝牙低能耗信标的RSSI

    我想在 2 个蓝牙 le USB 适配器上同时读取蓝牙低功耗信标的 RSSI 我使用的是带有 bluez 5 和 LogiLink BT0015 适配器 CSR 芯片 的 fedora 20 系统 当仅连接一个适配器时 我的代码就像一个魅力
  • 苹果拒绝应用程序,因为它在未经用户许可的情况下传输 MAC 地址

    我们最近开发的一款应用程序被苹果拒绝了 这是他们的解释 我们发现您的应用在收集数据之前未征得用户同意 根据应用程序商店审查指南的要求 用户的个人数据 具体来说 您的应用程序会发送设备的 MAC 地址 而无需 用户的许可 您的应用程序还会发送
  • 使用 php 运行 ipconfig 命令

    我使用这段代码来了解访问者 客户 的一些信息 它一直在我的 Xampp 虚拟服务器上运行 但我无法在我的主服务器 主机 上运行 我只看到一个空白页 info system ipconfig all echo info 这可能对你有帮助 服务
  • Android 蓝牙低功耗特性通知计数限制:这是否因设备而异?

    Context 我正在构建一个针对 5 0 的 Android 应用程序 它使用 BLE 连接到多个外围设备 这些外设中的每一个都有许多 10 个特性 理想情况下 我想订阅这些特征中每一项的更改通知 然而 我从阅读中了解到 Android
  • Android BLE - 如何分块读取大特征值(使用偏移量)?

    我正在使用 Android SDKandroid 蓝牙 and android 蓝牙 le APIs 我想实现一个应用程序 发挥核心作用 并连接到 BLE 外设以读取特征值和描述符 应用程序需要读取的特征值较大 因此需要分块连续读取 我对如
  • 蓝牙 BLE Android 以最大吞吐量写入外设

    我们公司开发了一个具有蓝牙 BLE 的硬件单元 并且我们在 Nexus 7 2013 中有一个服务应用程序 我们希望使用它向该单元发送固件文件 文件最大可达 500kb BT芯片是德州仪器CC2540 我浏览了大量的页面 并扫描了 Stac
  • Android Ble GATT_ERROR 133 经常使用三星设备

    我正在研究 BLE 应用程序 我已经使用 Nexus Moto Samsung LG 等不同设备进行了测试 我仅在三星设备中收到 GATT 错误 133 三星 A5 2016 尝试连接 10 次 但只连接了 2 或 3 次 请帮助我 Non
  • 在没有 Wifi 的情况下获取 Android 设备的 MAC 地址

    如何获取没有 Wifi 接口的 Android 设备 例如 Android 模拟器 的网络接口的 MAC 地址 通过WifiManager返回获取的WifiInfonull EDIT 更清楚地说 我必须与本地网络上的现有网络协议 不是我设计
  • 如何在蓝牙低功耗外设中正确设置日期和时间?

    我正在开发一个传感器设备和一个相应的 iOS 应用程序 它们将使用低功耗蓝牙进行通信 传感器设备需要在实时时钟中维护当前日期和时间 现在 如果我想尽可能地实现蓝牙标准服务 我很困惑在传感器设备中设置时间和日期的正确方法是什么 因为官方文档是
  • 如何使用C++在Windows中获取MAC地址? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Eddystone 信标检测问题

    以下是我使用 iPhone iOS 9 检测 Eddystone 的代码 void viewDidLoad super viewDidLoad if CLLocationManager locationServicesEnabled loc
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的

随机推荐

  • .bind("move_node.jstree",.. -> data.rslt.obj undefined。如何获取节点数据?

    我有一个 check move 的自定义功能 crrm move check move function m var p this get parent m o if p return false if m cr 1 return fals
  • NPM 无法安装依赖项 - 尝试解锁尚未锁定的内容

    我一直在尝试在我的 package json 文件上运行 npm install 但遇到了很多麻烦 我的所有依赖项上一直显示 错误 尝试解锁尚未锁定的 XXX 这是其中之一 Error Attempt to unlock tbd 0 6 4
  • 为 Docker 容器分配静态 IP

    我现在尝试在启动 Docker 容器时分配静态 IP 172 17 0 1 我使用端口 2122 作为该容器的 ssh 端口 以便让该容器监听端口 2122 sudo docker run i t p 2122 2122 ubuntu 此命
  • Laravel 社交名流 $user->getId()?

    我不确定这是否是真正导致我的问题的原因 但也许有人会知道 当我使用 Laravel Socialite 并执行以下操作时 social user Socialite driver provider gt user 然后我的代码中的其他地方执
  • 将问号 (?) 替换为 (\\?)

    我正在尝试定义一个模式来匹配文本中带有问号 的文本 在正则表达式中 问号被认为是 一次或根本不 那么我可以用 替换文本中的 符号来解决模式问题吗 String text aaa aspx pubid 222 zzz Pattern p Pa
  • 将Excel数据转换为特定的JSON格式

    我收到一个 Excel 文件 xlsx 如下所示 行和列的数量可以变化 例如 它也可以如下所示 对于第一张图片中的 Excel 工作表 JSON 应如下所示 value Prename Nik Age 17 Country Switzerl
  • 防止被 0 除的 Typescript 类型

    我正在使用打字稿创建一个用于培训目的的计算系统 但在除法过程中出现打字错误 您知道如何解决吗 type Variable value number resolve gt number type NoZeroVariable value Om
  • 从其他模块调用的数组扩展

    其他模块 例如 XCTest 项目 无法使用数组扩展方法 为了简单起见 下面的代码什么也不做 但可以用来重现错误 import Foundation extension Array mutating func myMethod toInde
  • 将选择标准添加到 read.table

    让我们采用以下我导入的数据集的简化版本read table a lt as data frame c M M F F F b lt as data frame c 25 22 33 17 18 df lt cbind a b colname
  • 在Python中获取目录基名的优雅方法?

    我有几个脚本将目录名称作为输入 并且我的程序在这些目录中创建文件 有时我想获取给程序的目录的基本名称 并用它在目录中创建各种文件 例如 directory name given by user via command line output
  • 如何在S3中存储数据并允许用户使用rails API / iOS客户端以安全的方式访问?

    我是编写 Rails 和 API 的新手 我需要一些有关 S3 存储解决方案的帮助 这是我的问题 我正在为 iOS 应用程序编写一个 API 用户在 iOS 上使用 Facebook API 登录 服务器根据 Facebook 向 iOS
  • 调用泛型类型的方法?

    为什么下面的代码在 Delphi XE 中会产生错误 unit UTest interface type TTest class public procedure Foo
  • 设置角度组件的完整高度

    我无法让我的列表成为全高 我的代码由于嵌套组件而更加复杂 但我仍然可以使用此代码来复制它 这是一个笨蛋 http plnkr co edit R0QgLz8cjyRHYOLf4uJW http plnkr co edit R0QgLz8cj
  • 在散景中隐藏轴

    如何在散景图中隐藏 x 轴和 y 轴 我已经根据此进行了检查和尝试 p1 figure visible None p1 select type Axis visible 0 xaxis Axis plot p1 visible 0 和喜欢h
  • 您可以使用 Openpyxl 将全名拆分为名字和姓氏吗?

    我有一个 Excel 文件 我一直在尝试使用 openpyxl 将列 全名 拆分为两个单独的名字和姓氏列 例如 我有 from openpyxl import Workbook load workbook wb load workboo p
  • 在 Swift 中使用 enumeratorAtUrl 从 NSFileManager 返回目录枚举器时出现问题

    我试图从 NSFileManager 方法 enumeratorAtUrl 返回 NSDirectoryEnumerator 对象 这导致编译器错误 Cannot convert the expressions type NSDirecto
  • 就地修改 XML 文件?

    假设我有以下 XML 文件
  • 如何使用 gcloud 凭据对 Dialogflow API 进行身份验证

    我有一个 Node JS 应用程序 可以向 Dialogflow 代理发出请求 我实际上使用基于临时令牌的请求 但是我如何更改它以通过谷歌服务凭证来做到这一点 https cloud google com docs authenticati
  • 使用 Azure AD B2C 登录 Xamarin Android 应用

    经过一周的研究可与 Azure AD B2C 一起使用 Xamarin 以 Android 平台 而不是 Xamarin Forms 为目标的身份验证原理后 我终于寻求一些建议 我有一个带有 登录 按钮的活动 我想通过按钮的触摸事件登录到
  • 蓝牙 LE:地址类型

    我正在研究 iBeacon 技术 但我找不到有关地址类型的特定问题的任何答案 我找到了解释地址类型的文档 蓝牙规范 但我似乎找不到如何在两种类型 公共和随机 之间进行选择 这是我发现它的一个例子 它是由 Raspberry PI 上的 iB