从设备到智能手机的 BLE 文件传输
Posted
技术标签:
【中文标题】从设备到智能手机的 BLE 文件传输【英文标题】:BLE File Transfer from a Device to a Smartphone 【发布时间】:2014-04-07 17:24:31 【问题描述】:存在具有以下要求的设备和智能手机:
用户轻按设备,说出某些内容,然后他们的语音就会传输到智能手机 智能手机接收语音和其他一些设备状态信息 智能手机最初是 ios 设备(android 和 WP 设备稍后考虑)我正在尝试找出使用蓝牙进行存档的最佳方式:
标准 BT 配置文件:HFP 和 HID。 iOS SDK 不允许通过这些配置文件与设备直接通信。所以我觉得走这条路很尴尬。
BT 低能耗。是否可以使用 BLE 发送文件?我正在考虑 50-100K 的文件大小。如果是,会慢到什么程度?
MFI。这是最后的手段。如果我这样做,我会遇到 Android 和 WP 智能手机的问题吗?
更新:我最初的计划是使用 HID(让应用知道设备正在启动流式传输 + 其他状态信息)+ HFP(流式传输)。但我担心的是:
1.1。应用程序是否可以在后台处理 HID 消息(例如按键)
1.2。这两个配置文件可以一起使用吗?
1.3。如果连接另一个耳机会有什么陷阱(据我了解,最新连接的将是流式传输)?
【问题讨论】:
【参考方案1】:将尝试一一完成这些:
标准蓝牙: Apple:Apple 将允许您免费使用标准音频协议。因此,您可以使用 A2DP 流式传输音频,但仅此而已。如果您想使用 SDP 传输数据,您需要在设备中获取身份验证芯片。 Android:所有协议均可免费访问。
BLE: Apple:BLE 可以免费使用,但我不确定 Apple 会如何回应您尝试通过该协议发送大量数据。 BLE 对于小数据(20 字节)非常快,但随着数据的增大而变慢。很大程度上取决于你的配件,但我相信苹果对你的传输速度有一个上限。我见过大约 5KB/s 的速度。 Android:同样适用于 Android,但如果您的设备支持它,您可以运行得更快,我已经看到速度高达 10KB/s。
MFI: 苹果:Apple 支持 Android:Apple 用于 Airplay 的密钥不久前被逆向工程,你也许可以使用它们,但这是一场赌博。可能有更好的图书馆我不知道。
谈到 Windows Phone,我不太接受他们确实在几天前的 BUILD 会议上宣布了一些关于 BLE api 的内容。
希望这会有所帮助!
【讨论】:
我要补充一点,你不能用 BLE 传输长文件,Apple 应该接受,因为一些开发人员这样做是为了更新他们的 BLE 设备的固件。 @Zomb 感谢您的快速回复!但我仍然需要澄清,抱歉 :) 看起来最好的方法是标准 BT 配置文件。 Apple 是否以某种方式支持 A2DP,即设备将音频流式传输到手机?如何使用 SDP 传输数据?顺便说一句,我用我最初考虑的方法更新了我的问题。 @Larme 抱歉,我没有收到您的评论:无法发送长文件,但毕竟很少有开发人员这样做? @nexuzzz 我不认为你可以将 A2DP 从设备流式传输到手机,你只能从手机到设备,即使那样,你也没有太多的控制权它。 SDP 是一种标准的蓝牙协议,它允许您使用套接字通信来传输数据,因此您打开一个套接字并通过它发送数据。现在,iOS 没有让你直接访问 SDP,我认为你使用 iAP 代替,我已经有一段时间没有这样做了。在 Android 上,您可以使用 RFCOMM 打开一个 SDP 连接。如果您需要更多详细信息,请告诉我! @Zomb 感谢您的澄清!您如何看待 HID+HFP(请参阅原始问题更新)?以上是关于从设备到智能手机的 BLE 文件传输的主要内容,如果未能解决你的问题,请参考以下文章
Android 上同时支持 BLE 和 HFP/A2DP 的智能手机芯片组的差异