gpt4 book ai didi

bluetooth - 在哪里可以找到服务数据 UUID?

转载 作者:行者123 更新时间:2023-12-04 13:40:39 25 4
gpt4 key购买 nike

在蓝牙 LE 中发送广告数据包时,在 PDU 内可以添加不同类型的数据。其中一些是服务数据类型,其中数据类型值是:
0x16 服务数据 - 16 位 UUID
0x20 服务数据 - 32 位 UUID
0x21 服务数据 - 128 位 UUID

我已经看到一些使用这种类型数据的信标。例如,使用 0x16 后跟 0x6E2A 来发送温度。

我一直在搜索,但找不到包含所有这些服务数据值的列表在哪里,以查看每种指标的代码。

最佳答案

您在广告中看到的 0x16、0x20 和 0x21 字节值是广告“AD”类型,指示以下字节包括类型指定长度的 GATT 服务 UUID,后跟服务数据。见 here获取 AD 类型值的完整列表。
在信标广告中,最常见的是使用 16 位 UUID,因为该 UUID 长度在广告数据包中占用的空间最少,留下最多的字节用于数据。您提到的 16 位服务 UUID(例如 0x6e2A)理论上已在蓝牙 SIG 注册,并且确实有它们的列表。有几种不同的类型:

  • Public GATT Services
  • Private GATT Services蓝牙 SIG 成员
  • GATT Services标准制定组织

  • 第一个列表是任何人都可以实现的公共(public)规范。后两个列表用于私有(private)规范。这些号码是保留的,但您的使用方式是拥有号码分配的组织的专有属性(property)。
    如果您仔细查看这些列表,您会发现找不到您提到的 6E2A 编号。怎么可能?
    没有什么能阻止人们在不注册的情况下构建使用 16 位服务 UUID 的蓝牙设备。 注册需要金钱和时间。所以很多项目都跳过了这一步,尤其是在开发中,即使蓝牙 SIG 认为这是不好的行为。
    对于像这样的“黑市”关贸总协定服务,根本无法找出现有服务的完整列表。 您只能逐个查找它们并对其进行逆向工程。或者您可以请求制造商提供文档。
    此外,无论 Service UUID 是否注册到蓝牙 SIG,UUID 后面的服务数据字节都没有标准化。广告服务数据的设备制造商可以在这些字节中对他或她希望用于特定用例的任何数据进行编码。所以不幸的是,他们的意思没有中央登记处。含义必须来自制造商的文档或逆向工程。

    关于bluetooth - 在哪里可以找到服务数据 UUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57683171/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com