我正在尝试与我自己的蓝牙体重秤建立基本连接。问题是我无法找到UUID以便连接到设备。
我已经联系了制造商,看看他们是否可以提供UUID,他们说是"FFF0">
当我将ScanForPeripherals功能UUID设置为FFF0时,我的应用程序会记录"central.state is.poweredOn",但我找不到设备。
我知道设备存在,因为当我使用"centralManager.scanForPeripherals(带服务: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])
}
}
当我设定为零时。控制台显示我的设备&所有其他广告的设备
当我将UUID设置为FFF0时,我只得到central.state is .poweredOn
,并且找不到任何设备。
提前感谢您的任何见解。
请检查此链接以获取蓝牙服务的UUID。
在这里,我可以发现体重秤的UUID是0x181D。请试试这个,
let weightScaleServiceCBUUID = CBUUID(string: "0x181D")