如何处理低功耗蓝牙中的自定义UUID (博美)



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

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

拇指规则:

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

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

最新更新