如何处理低功耗蓝牙(BLE)中的定制UUID

时间:2015-09-23 02:03:29

标签: ios bluetooth bluetooth-lowenergy core-bluetooth btle

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

1 个答案:

答案 0 :(得分:1)

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

Thumb规则:

  1. 我不能拥有具有相同UUID的两个特征的BLE模块。
  2. 我不能拥有两个具有相同UUID的服务的BLE模块。
  3. 我不能拥有一个BU模块,其UUID一次用于服务,而一个特性用于特征。
  4. 理论上我绝对可以拥有无​​限数量的具有相同GATT结构的BLE模块(包括所有UUID)。
  5. 这是可能的,因为GATT客户端(应用程序)通过连接句柄来区分和访问连接的GATT服务器,这些连接句柄超出了连接到同一应用程序的其他GATT服务器的范围。