我正在尝试在 Linux 机器上使用 BlueZ 堆栈来创建具有自定义服务和特性的 GATT 服务器。最终目标是使用任何中心设备(例如 iOS 或 Android 设备)连接到 GATT 服务器,发现服务和特征,并操作特征中的数据。
例子:
- 具有 1 个服务的外设,其中包含 3 个特征。
- 服务 uuid = 0xFFFF
- 字符 1 uuid = 0xAAAA,属性 = 可读
- Char 2 uuid = 0xBBBB,属性 = 可读和可写
- 字符 3 uuid = 0xCCCC,属性 = 可通知
从中央设备,我应该看到外围设备,连接到它并发现一个具有三个特征(0xAAAA、0xBBBB、0xCCCC)的服务(0xFFFF)。然后我应该能够读取 0xAAAA 的值,读取和写入 0xBBBB 的值,并在 0xCCCC 上启用通知。
请注意,我知道存在类似的问题,但它仅说明了如何将外围设备用作广告商。另一个已解决的问题解释了如何创建 GATT 服务器,但没有解释如何使用特性的属性(例如可读性、可通知性等),或者我可能遗漏了一些东西。
先感谢您。