我可以使用串行端口配置文件 (SPP) 通过低功耗蓝牙 (v4.0) 与 iOS 设备进行通信,而无需 MFi 芯片吗?
8 回答
如果您是从头开始设计某些东西(而不是尝试连接到现有的支持 SPP 的设备),那么有一个可能的解决方案。
Laird Technologies 制造了一个蓝牙低功耗模块 ( BL600 ),它可以加载一个虚拟串行端口应用程序。这将创建一个类似于 SPP 的服务;在远端,它可以被视为一个普通的串行端口(尽管速度相当低)。您可以推出自己的服务以在其他设备上执行类似的操作。
这不是最优雅的解决方案,但似乎可以正常工作,并且比尝试获得 MFi 认证要容易得多。
如果您无法控制外设的协议选择:
蓝牙 4.0 仍然支持串行端口配置文件 (SPP)。但是,低功耗蓝牙 4.0 使用不同的物理层和链路层协议,这些协议不能向后兼容旧的蓝牙标准。当前的 iOS 和 Android 设备使用支持 BT 4.0 的向后兼容部分和低能耗标准的“双模式”接口。
低功耗蓝牙 4.0 不支持 SPP,而普通蓝牙 4.0 支持!
我在 GitHub 上找到了一个Cordova/Phonegap 插件,可以作为你的灵感来源。他们宣传支持 iOS 和 Android 上的 SPP。
如果您控制外围设备,即您实现外围设备的软件:
- 蓝牙 4.0 低功耗通信使用通用属性协议。基于 GATT,存在许多配置文件,但没有串行端口配置文件。
- 好消息是在 iOS、Android 和您的设备上实现您自己的专有串行端口配置文件相当简单。您的 BTLE 模块/SoC 的 API 说明应为现有配置文件提供一些示例。
- 一旦您看到实现自己的配置文件有多么简单,您可能会选择使用更多特定于用例的配置文件,这将为您的(电池供电?)外围设备节省大量电力。
只是为了澄清 2 月 16 日 John Parsons 的评论——BL600 绝对不会停产。
vSP 适用于使用 BLE 的 iOS 设备以及 Android 的低级别、低吞吐量数据连接。显示适用于 iPad 的解决方案的视频位于此链接,完整的源代码也可用于 iOS 应用程序http://www.lairdtech.com/Support-Center/Technical-Library/Videos/VSP-Bridge-Command/ #.UwYvzGJ_s1w
iOS 上的 BLE 连接没有 MFi 要求。
MFi 仅与 iOS 设备的经典蓝牙数据连接相关,您需要使用 Apple 的 iAP 协议、成为 MFi 被许可人、使用外部 Apple Authentication IC 并向 Apple 支付版税。
我自己正在寻找适用于 iOS 的 SPP,并找到了一家德国供应商 lintech.de,该供应商拥有声称支持/模拟 SSP 的“蓝牙与苹果”产品,显然是使用他们自己的嵌入式软件层与 iAP 相结合。“BlueMFI 软件使用 iAP(iPod 附件协议)与 APPLE 设备通信,并管理与 Apple 认证芯片的数据通信......BlueMFI 软件旨在运行在各种硬件平台(蓝牙模块)上,感兴趣的用户可以获取相关评估套件。LinTech 的BlueMFI 蓝牙模块不仅支持通过蓝牙的APPLE iAP 协议,而且还能够与标准蓝牙设备进行通信。” 这个还没试过,只是探索和分享。
不,你不能。一般来说,重要的是要记住任何蓝牙经典配置文件不一定适用于蓝牙低功耗。但是,使用 BLE,您可以轻松创建自己的自定义服务/配置文件,专门针对您的特定应用量身定制。据我所知,目前所有与 iOS 的 BLE 通信都是允许的,无需参与 MFi。您还可以查看此页面以获取有关 SPP 和 BLE 的更多信息。
不,你不能。BLE 不支持 SPP。
我不会说 iOS 7 下直接支持 SPP,Apple 说不。不会争论:)
但...
我在数据收集项目中使用 connectblue 模块 OBS421 和 OBS425。BLE 模块启用了 SPP 配置文件,我在 SPP 模式下使用 BTLE 模块将数据从传感器传输到 iOS 设备。在 iOS 6 和 7 下运行良好
也就是说,我在 iPhone 5S 下使用 MFi 蓝牙设备时遇到了问题,这就是我转向 BTLE 的原因。
BTLE 的缺点是一次限制为 20 个字节。我不得不调整硬件和软件,但很容易。
Bluegiga BL112 等可编程芯片正在完成这项工作。这是电缆更换代码。
我实际上正在为 iOS 和 Android 4.3 集成它。它至少在演示板上工作。