【问题标题】:Scan for three same BLE sensors with same CBUUID but different MAC address by iPhone Device通过 iPhone 设备扫描具有相同 CBUUID 但不同 MAC 地址的三个相同 BLE 传感器
【发布时间】:2019-02-27 08:03:40
【问题描述】:

我有 3 个具有相同 CBUUID 的传感器,即所有三个传感器都传输相同类型的服务,但具有不同的 MAC 地址。

在前台扫描中一切正常,我可以使用CBCentralManagerScanOptionAllowDuplicatesKey = YES 为不同的 BLE 设备获取相同 CBUUID 的不同委托回调。但在外围设备的后台扫描中,CBCentralManagerScanOptionAllowDuplicatesKey 会被忽略。我将如何在后台扫描这 3 个传感器,因为所有数据包都将合并为一个并被 iOS 宣传为一个数据包。

This link talks about only foreground scanning

【问题讨论】:

    标签: ios bluetooth-lowenergy core-bluetooth cbperipheral cbcentralmanager


    【解决方案1】:

    allowDuplicates 选项意味着您的应用将收到多个回调到didDiscover 委托方法对于同一外围设备

    不需要简单地发现多个正在宣传相同服务的外围设备。

    当您开始扫描时,您应该指定您感兴趣的服务CBUUID。一旦您接到didDiscover的电话,您可以存储外围设备的identifier并使用它来将来连接到外围设备。

    在前台和后台都可以扫描特定服务。

    【讨论】:

    • 所以你的意思是对于所有“n”个外设广告同一种服务,不管CBCentralManagerScanOptionAllowDuplicatesKey = NO / YES,我都会在-didDiscoverPeripheral 中得到“n”个回调?
    • 正确。每次发现广告指定服务的新外围设备时,您都会收到回电。重复是回调已发现的外围设备,而不是已发现的服务类型
    • 非常感谢,我会再做一些 POC。
    猜你喜欢
    • 1970-01-01
    • 2014-12-30
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多