CoreBluetooth 和 BluetoothManager,设备不是 BLE
Posted
技术标签:
【中文标题】CoreBluetooth 和 BluetoothManager,设备不是 BLE【英文标题】:CoreBluetooth and BluetoothManager, device is not BLE 【发布时间】:2015-02-12 08:53:27 【问题描述】:通过蓝牙连接和接收数据。
我们正在为客户开发一款应用。这是一个通过蓝牙连接的婴儿玩具,我们无法连接和传输数据。
经过所有研究,我们找到了两个替代方案:CoreBluetooth 和 BluetoothManager。据我所知,CoreBluetooth 仅与低功耗蓝牙连接(我认为它是最新的蓝牙版本)并且我无法找到我客户的设备。使用第二个选项,BluetoothManager 我可以找到设备,但我无法传输数据。
这让我觉得我的客户端设备不是 BLE。考虑到 CoreBluetooth 无法定位设备而只有 BluetoothManager 可以定位,有什么方法可以与此设备连接和传输数据?
您能否提供替代方案和/或示例来说明如何进行这种沟通?如果您做不到,请告诉我以便告诉我的客户。
【问题讨论】:
BluetoothManager
?那是在android部分吗?如果您想要“经典蓝牙”,我强烈建议您查看 MFi 程序及其框架:ExternalAccessory。
【参考方案1】:
要与较低版本的蓝牙通信,您需要使用 ExternalAccessory 框架,但它是针对 MFi 设备的,所以我想您需要签署 Apple MFi Program:https://developer.apple.com/programs/mfi/
此答案描述了在 ios 上使用蓝牙的可能方式: https://***.com/a/16852224/4495995
【讨论】:
【参考方案2】:CoreBluetooth 仅用于连接配备蓝牙低功耗的设备。虽然它确实与其同名共享一些概念,但它是一种完全不同的技术。从蓝牙 4.0 开始,我们有:
-
低能耗(或智能)- 更慢、更简单、更节能
基本速率/扩展数据速率(或经典、高速、智能就绪)- 更旧、更复杂、更快、更节能
由于能源效率的原因,作为普通开发人员,您似乎只能使用 BLE。如果要使用BR/EDR,需要申请MFi Program,并使用特殊硬件。
【讨论】:
以上是关于CoreBluetooth 和 BluetoothManager,设备不是 BLE的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法可以在 Swift 中使用 Core Bluetooth 更改另一部 iPhone 上的视图控制器?