从设备到智能手机的 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 文件传输的主要内容,如果未能解决你的问题,请参考以下文章

您将如何进行智能手机 BLE 室内检测和定位? [关闭]

Android 上同时支持 BLE 和 HFP/A2DP 的智能手机芯片组的差异

在 BLE 中实现通知

蓝牙BLE如何连接连接多台设备

iOS Multipeer 连接是不是适用于非智能手机设备?

使用蓝牙创建设备并在智能手机上获取数据的教程信息[关闭]