繁体   English   中英

iOS Core蓝牙-无法通过扫描发现真实设备

[英]iOS Core Bluetooth - Can't discover the real device from scan

我试图发现一个蓝牙设备并通过使用CBCentralManager连接到它。 该设备是头戴式耳机。 可以通过手机上的蓝牙扫描发现它。 设备名称为“ A1-25”。 当我直接通过手机蓝牙设置连接“ A1-25”时,我可以用它播放歌曲,它工作正常。

在此处输入图片说明

但是,当我开始使用CBCentralManager扫描外围设备CBCentralManager 我看不到名为“ A1-25”的外围设备。 相反,我看到了一个名为“ EQ_Test_llyan”的外设。 但是以前,当我从蓝牙设置扫描附近的设备时,“ EQ_Test_llyan”没有出现。

2017-12-13 16:35:07.233021+0800 Test[1405:500801] started scanning
2017-12-13 16:35:17.469375+0800 Test[1405:500801] discovered peripheral with name EQ_Test_llyan advertisementData:{
    kCBAdvDataIsConnectable = 1;
    kCBAdvDataLocalName = "EQ_Test_llyan";
    kCBAdvDataManufacturerData = <b0024551 5f544553 54>;
}
2017-12-13 16:35:17.470672+0800 Test[1405:500801] connecting with device!!!!!!!
2017-12-13 16:35:17.654884+0800 Test[1405:500801] connected to peripheral name:EQ_Test_llyan id:7326E741-BF68-D9E8-D7A6-5F27227685A7
2017-12-13 16:35:17.656526+0800 Test[1405:500801] discovering services for peripheral name:EQ_Test_llyan
2017-12-13 16:35:18.193311+0800 Test[1405:500801] discovered services:(
) for peripheral name:EQ_Test_llyan

外围设备“ EQ_Test_llyan”没有服务(请参见上面的日志),因此我无法与其通信。 现在,当我回到电话设置中的蓝牙设备时,我现在已连接到“ EQ_Test_llyan”,但未连接到“ A1-25”。 现在,我尝试播放音乐,但声音没有从耳机中发出。

在此处输入图片说明

关闭耳机后,我将与“ EQ_Test_llyan”断开连接,并且“ A1-25”将消失。 因此,我得出结论,“ EQ_Test_llyan”和“ A1-25”来自同一设备。

请注意,我可以同时连接到两个。 我将以编程方式仅连接到“ EQ_Test_llyan”,然后它将出现在设置中。 然后,我通过电话设置手动连接到“ A1-25”。 就像下图所示。 播放音乐时,我仍然可以听到耳机发出的声音。 因此,只要我连接到“ A1-25”,但不能单独连接“ EQ_Test_llyan”,它就可以正常工作。

在此处输入图片说明

所以我的问题是:

  1. CBPeripheral是指实际设备吗? 因为如果是,为什么我不能扫描“ A1-25”,却可以扫描“ EQ_Test_llyan”?
  2. 请注意,当电话连接到“ A1-25”时,它旁边带有“ i”,这意味着可以终止连接。 但是,当电话连接到“ EQ_Test_llyan”时,旁边没有“ i”。 因此,除非您关闭设备,否则无法断开连接。 那么,两者有什么区别? “ AI-25”是真正的设备,而“ EQ_Test_llyan”只是一个连接吗? 我不明白

您无法从CBCentralManager找到“ A1-25”,因为它是您提到的耳机。 耳机使用耳机配置文件(HSP),也称为“蓝牙经典”配置文件,而Core Bluetooth仅适用于低功耗蓝牙(BLE,Bluetooth 4.0)常规属性配置文件(GATT)。 如果检查CoreBluetooth API,您会发现它全部与服务和特性有关。 它没有与声音相关的配置文件的抽象。

另一方面,GATT是非常笼统和抽象的配置文件,可以被任何类型的设备使用,每次都可以获取一些非常具体的数据-速度,温度,心率,某些设备配置以及几乎任何其他值。 因此,您只能从知道确切设备的应用程序与GATT设备配对。 您仅在手机设置屏幕上与此类常规服务无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM