我想编写一个 iOS 应用程序来将一些数据传输到嵌入式 BLE 模块,反之亦然。为了获得我的数据流的最佳结构,我使用相应的 UUID 创建自己的特征和服务。到目前为止,一切都很好!但是,如果我想添加第二个 BLE 模块而不更改嵌入式 BLE 模块中的硬编码 UUID,会发生什么情况?我是否必须为要添加的每个 BLE 模块生成全新的 UUID?在这种情况下,我也必须更改我的 iOS 应用程序,因为我必须更改特定服务和特性的预期 UUID,还是?谢谢!
Best Answer-推荐答案 strong>
不,您不必为每个 BLE 模块生成新的 UUID。这不是它的设计运作方式。
只需确保您没有为同一 BLE 模块中的任何特征重复使用相同的 UUID。
拇指规则:
- 我不能让 BLE 模块具有两个具有相同 UUID 的特征。
- 我不能让一个 BLE 模块具有两个具有相同 UUID 的服务。
- 我不能让一个 BLE 模块的 UUID 用于服务一次,而相同的 UUID 用于特性。
- 理论上,我绝对可以拥有无限数量的具有相同 GATT 结构(包括所有 UUID)的 BLE 模块。
这是可能的,因为 GATT 客户端(应用程序)通过连接句柄来区分和访问连接的 GATT 服务器,这超出了连接到同一应用程序的其他 GATT 服务器的范围。
关于ios - 如何在低功耗蓝牙 (BLE) 中处理自定义 UUID,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/32729853/
|