【问题标题】:Are GATT Event notifications possible without pairing?是否可以在不配对的情况下通知 GATT 事件?
【发布时间】:2021-10-27 17:53:51
【问题描述】:

我一直在研究 BT 4.x (LE) 规范,试图弄清楚这是否可能(没有配对/预兆的事件)。

如果可能的话,有没有人有见解(最好链接到规范)?

【问题讨论】:

  • 是的,有可能。事实上,GATT 不需要任何配对和/或绑定。不幸的是,我不记得它描述的确切规格部分。

标签: bluetooth bluetooth-lowenergy gatt bluetooth-gatt btle


【解决方案1】:

正如 Mike Petrichenko 评论的那样,GATT 通信绝对可以在没有配对的情况下进行。事实上,大多数 GATT 服务器/客户端无需配对/绑定即可运行。唯一的例外是某些特征需要身份验证/授权才能读取某些数据(例如,具有心率特征的医疗设备)。

如果您想具体参考蓝牙规范中提到的位置,那么我建议您查看核心规范版本 5.2,第 3 卷,C 部分,第 10.2 节(LE 安全模式):-

设备、服务或服务请求的安全要求 以安全模式和安全级别表示。每个 服务或服务请求可能有自己的安全要求。这 设备也可能有安全要求。物理连接 两台设备之间只能以一种安全模式运行。

然后提到LE安全模式1无安全性级别,很多GATT服务器/客户端都工作在这个级别。

如果您有两部手机可用,您可以自行测试。您可以使用 nRF Connect 应用程序在一个上运行GATT server,在另一个上运行 GATT 客户端。您将看到无需配对即可浏览 GATT 表并读取数据。

以下是一些包含更多信息的链接:-

【讨论】:

  • 这是否还包括 GATT 通知(事件)?我很难理解这一点,因为设备上的 GATT 服务器不需要保留“订阅者”的“注册”列表吗?
  • 是的,它包括通知(不需要向 GATT 服务器确认)和指示(确实需要确认)。其工作方式是通过一个设备(GATT 客户端)连接到另一个设备(GATT 服务器),找到支持通知的特性,然后对客户端特性配置描述符执行 GATT 写入操作以启用通知。然后,GATT 服务器会在需要和/或特性值更改时自动将通知发送回 GATT 客户端(如果已连接)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
  • 2012-05-22
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 2019-12-02
相关资源
最近更新 更多