没有服务的 BLE 设备的三个 UUID,这可能吗?

Three UUID's for a BLE device without services, is that possible?

如果 "Light Blue" 应用程序没有任何服务,为什么我会找到三个 UUID?难不成只有特色,没有服务?

我最近在我的开发板上测试 BLE 配置文件时看到了与该应用程序 (LightBlue) 相同的结果。

我注意到,根据 UUID 的设置方式,有时该应用程序可以识别出具有 BLE 配置文件的外围设备,但随后会报告其中没有任何服务。当我询问外设时,我个人资料的 "service" 将与特征混为一谈。

我怀疑您正在查看的 Apple TV 确实具有 BLE 服务,但由于 LightBlue 应用程序正在对信息进行分类,因此它以某种方式错过了该服务,但可以正确地看到其中的特征。

最后,在相关说明中,如果您在 iOS 上实现自己的 BLE 处理程序代码,那么您应该限制您正在寻找的服务。例如,如果您有以下内容:

centralManager.scanForPeripheralsWithServices(nil, options: nil)

在您的 Swift 代码中(我怀疑 LightBlue 确实如此),考虑将第一个 nil 参数替换为您要查找的服务的 CBUUID。当您扫描附近的所有 BLE 服务时,会发生奇怪的错误事情。

Swift 3

var bleCentralManager:CBCentralManager!

@IBAction func btnScan(_ sender: UIButton){

     //for scan peripheral(BLE) device
   self.bleCentralManager.scanForPeripherals(withServices: nil, options: nil)
}