BLE 应用的 GATT service/characteristic 结构

GATT service/characteristic structure for BLE application

我正在构建一个智能phone 需要通过低功耗蓝牙与外围设备通信的应用程序,但我很难想出正确的 GATT service/characteristic 结构对于这次交流。 phone 和外围设备需要通过包含多个 send/receive 消息的“自定义协议”相互通信。我的意思是他 phone 将向外设发送一些东西(协议的第 1 步),外设将通过向 phone 发送消息(协议的第 2 步)来对此做出响应,它将通过向外围设备发送下一条消息(协议的第 3 步)等来对此做出响应,直到协议完成(假设 10 个步骤之后)。

我是否应该为我要执行的协议的每个步骤创建一个新属性,即让 phone 写入属性“protocol1”并让外围设备通知 phone属性“protocol2”,之后 phone 写入“protocol3”等。或者我应该只使用 2 个属性:一个用于 phone 写入(TX),另一个用于 phone 通过通知读取 (RX)?似乎 BLE(而不是蓝牙 3.0)并不是真正为这种 RX/TX 通信而设计的,还是我错了?

两个Characteristics,一个TX,一个RX就够了

TX 使用特征写入,RX 使用特征指示。