我使用 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