我正在试着和我自己的蓝牙体重计建立一个基本的连接。问题是我无法找到用于连接到设备的UUID。
我已经联系了制造商,看他们是否能提供UUID,他们说是"FFF0“
当我将ScanForPeripherals函数UUID设置为FFF0时,我的应用程序日志为"central.state is.poweredOn“,但是我无法找到设备。
我知道这个设备是存在的,因为当我使用"centralManager.scanForPeripherals(withServices:nil)时,它会定位到它。
这里有一些截图和我的代码。我在这里找不到任何关于这种特殊情况的信息,所以任何见解都将不胜感激。
我不确定是他们给了我错误的UUID,还是我自己在做什么。如果是这样,我需要做什么才能找到我的特定设备,而不是我周围的所有设备。
下面你可以看到我扫描外设的位置。注释代码是在我设置UUID的时候。上面是相同的代码,UUID设置为nil。
extension ViewController: CBCentralManagerDelegate {
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .unknown:
print("central.state is .unknown")
case .resetting:
print("central.state is .resetting")
case .unsupported:
print("central.state is .unsupported")
case .unauthorized:
print("central.state is .unauthorized")
case .poweredOff:
print("central.state is .poweredOff")
case .poweredOn:
print("central.state is .poweredOn")
centralManager.scanForsPeripherals(withServices:nil)
//SET CBUUID to FFF0
centralManager.scanForPeripherals(withServices:[bodyScaleServiceCBUUID])
}
}
当我设置为nil时。控制台显示我的设备和所有其他设备的广告
当我将UUID设置为FFF0时,我只得到central.state is .poweredOn
,没有找到任何设备。
提前感谢你的见解。
发布于 2019-11-14 04:00:18
请检查此link以获取蓝牙服务的UUID。
在这里,我可以发现用于称重的UUID是0x181D。请试一下这个,
let weightScaleServiceCBUUID = CBUUID(string: "0x181D")
https://stackoverflow.com/questions/58844039
复制相似问题