0

我使用 Python 的 dbus 库 (Bluez 5.48) 创建了一个简单的 BLE 广告商。此示例应用程序添加了一项服务,并且此服务具有 2 个特征。在启动广告商时,所有服务和 Characterictic UUID 都将被分配一个 16 位长的 ATT 句柄,以便客户端可以使用 HANDLE 直接读取或写入这些 UUID。

广告商工作得很好,客户端可以订阅 UUID。但是,客户端希望两个 UUID 都有一个固定的 ATT 句柄。但是广告商在重新连接时会交换 ATT 句柄。

那么有什么方法可以让我 1- 保持我的 ATT 手柄静止。2- 或者广告商应该知道分配给 UUID 的 ATT 句柄。

我花了很多时间来发现这一点,但到目前为止还没有成功。

使用此代码创建广告客户。 https://github.com/ukBaz/python-bluezero/blob/master/bluezero/peripheral.py

4

1 回答 1

0

我认为 BlueZ 试图做正确的事情:

https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/settings-storage.txt

问题可能在于它只对配对设备执行此操作,并且该示例已关闭安全性。我不记得如何从头顶打开它。我稍后会找时间看看。

于 2020-07-23T11:03:44.037 回答