首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取蓝牙设备服务UUID?斯威夫特

如何获取蓝牙设备服务UUID?斯威夫特
EN

Stack Overflow用户
提问于 2019-11-14 03:14:01
回答 1查看 1.6K关注 1票数 0

我正在试着和我自己的蓝牙体重计建立一个基本的连接。问题是我无法找到用于连接到设备的UUID。

我已经联系了制造商,看他们是否能提供UUID,他们说是"FFF0“

当我将ScanForPeripherals函数UUID设置为FFF0时,我的应用程序日志为"central.state is.poweredOn“,但是我无法找到设备。

我知道这个设备是存在的,因为当我使用"centralManager.scanForPeripherals(withServices:nil)时,它会定位到它。

这里有一些截图和我的代码。我在这里找不到任何关于这种特殊情况的信息,所以任何见解都将不胜感激。

我不确定是他们给了我错误的UUID,还是我自己在做什么。如果是这样,我需要做什么才能找到我的特定设备,而不是我周围的所有设备。

下面你可以看到我扫描外设的位置。注释代码是在我设置UUID的时候。上面是相同的代码,UUID设置为nil。

代码语言:javascript
运行
复制
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,没有找到任何设备。

提前感谢你的见解。

EN

回答 1

Stack Overflow用户

发布于 2019-11-14 04:00:18

请检查此link以获取蓝牙服务的UUID。

在这里,我可以发现用于称重的UUID是0x181D。请试一下这个,

代码语言:javascript
运行
复制
let weightScaleServiceCBUUID = CBUUID(string: "0x181D") 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58844039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档