2

我想编写一个 iOS APP 将一些数据传输到嵌入式 BLE 模块,反之亦然。为了获得我的数据流的最佳结构,我使用相应的 UUID 创建自己的特征和服务。到目前为止,一切都很好!但是,如果我想添加第二个 BLE 模块而不更改嵌入式 BLE 模块中的硬编码 UUID,会发生什么情况?我是否必须为要添加的每个 BLE 模块生成全新的 UUID?在这种情况下,我也必须更改我的 iOS 应用程序,因为我必须更改特定服务和特性的预期 UUID,还是?谢谢!

4

1 回答 1

1

不,您不必为每个 BLE 模块生成新的 UUID。这不是它的设计运作方式。只需确保您没有为同一 BLE 模块中的任何特征重复使用相同的 UUID。

拇指规则:

  1. 我不能拥有具有两个具有相同 UUID 的特征的 BLE 模块。
  2. 我不能让一个 BLE 模块具有两个具有相同 UUID 的服务。
  3. 我不能有一个 BLE 模块,它的 UUID 用于服务一次,并且用于特性。
  4. 理论上,我绝对可以拥有无​​限数量的具有相同 GATT 结构(包括所有 UUID)的 BLE 模块。

这是可能的,因为 GATT 客户端(应用程序)通过连接句柄区分和访问连接的 GATT 服务器,这超出了连接到同一应用程序的其他 GATT 服务器的范围。

于 2015-09-23T06:43:02.393 回答