是否可以在没有 GATT 的情况下实施 Proximity Profile?
Posted
技术标签:
【中文标题】是否可以在没有 GATT 的情况下实施 Proximity Profile?【英文标题】:Is it possible to implement Proximity Profile without GATT? 【发布时间】:2013-10-15 13:47:34 【问题描述】:我对基于 BR/EDR 配置文件而不是 GATT 的 Proximity Profile 服务感兴趣。我说的是不支持 BLE API 的 Windows 蓝牙堆栈 (Windows 7)。
问题:
-
有可能吗?
你能指出具体的实现吗?
是否有可以提供帮助的第 3 方解决方案(我*指的是 Windows 7 笔记本电脑附带的非 BLE 无线电)?
提前致谢!
【问题讨论】:
【参考方案1】:我认为它们是两个完全不同的东西。您可以同时实现两者,也可以只实现一个或仅另一个。我认为接近配置文件只需要在 GATT 要求您连接到设备以读取属性的地方做广告。
编辑: 在回答之前阅读规范很有帮助。 ^_^
只看一眼,似乎接近的东西通过建立常规连接然后在连接丢失时发送警报来起作用。它使用 GATT 来配置与其相关的选项。因此,例如,您可以配置给定的警报级别。
至于通过 BR/EDR 执行此操作,我不知道。您可以通过 BR/EDR 访问 GATT,但我不确定配置文件是否涵盖了这一点。链接的配置文件仅讨论 BLE,对 BR/EDR 的引用是将其与 BLE 进行比较。
【讨论】:
根据Proximity Profile Spec,在“1.1 Profile Dependency”一节中写的,我引用“此配置文件需要通用属性配置文件(GATT)。” 我猜你当时回答了你自己的问题。 ;) 但是,您可以通过简单地收听广播数据包并通过 RSSI 值估计距离来实现检测其他设备存在的系统。我认为这就是它所做的,并且不需要 GATT。 @TimTisdall:通过广告数据包读取 RSSI 级别来近似距离是一个很好的技巧,但是当正在广告的设备中更改 rssi 设置时会出现限制,正在扫描的设备如果以这种方式实施,则需要对 LuukUp Table 之类的东西进行修改。以上是关于是否可以在没有 GATT 的情况下实施 Proximity Profile?的主要内容,如果未能解决你的问题,请参考以下文章
Zephyr BLE:一个 GATT 客户端可以连接到多个 GATT 服务器吗
是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?