【问题标题】:Data communication between Android and iOS over BluetoothAndroid和iOS之间通过蓝牙进行数据通信
【发布时间】:2019-10-07 12:34:48
【问题描述】:

使用 Bluetooth LE 在安卓设备和 iOS 之间的通信相当简单,在这里我可以执行简单的命令和小数据传输。 但是在通过蓝牙从安卓设备到 iOS 应用程序的图像、视频、文档等大数据传输方面一直卡住。

虽然Android到android的大数据传输是通过蓝牙Sockets发生的,有没有我可以通过蓝牙到iOS实现图像和视频的传输?

我一直在探索这个话题已经有一段时间了,但是所有的文档都说使用 iOS 是不可能的,有人可以说明这种方法吗?...

【问题讨论】:

  • 一个设备是服务器,另一个是客户端。客户端连接到服务器,它们都有用于读取和写入字节的套接字(或流)。通过这些流读取/写入图像/视频或任何您想要的字节。
  • @user1241241 它不是关于代码的,它关于实现的方法。目前我正在使用 BLE 方法来发送和接收数据,这比正常的蓝牙通信要慢得多。
  • 你试过用wifi直连吗?
  • 如果不是,您必须直接探索 wifi。我过去曾为跨平台文件传输实现过它。传输速度非常快。
  • @user1241241 一定让我试试这个,让你知道它是否有效!.. 谢谢

标签: android ios bluetooth bluetooth-lowenergy ios-bluetooth


【解决方案1】:

其中一个原因可能是 iOS 对电池使用有严格的政策。从我们的应用程序团队我知道,当通过 BLE 为我们的一个外围设备更新固件时,他们需要限制 BLE 传输速度。如果他们不这样做,iOS 会在一段时间后终止该应用程序,因为它在较长时间内消耗过多的能量。

有关吞吐量的问题,请参见示例:

BLE peripheral throughput limit

Bluetooth BLE Android write to peripheral with max throughput

How can I increase the throughput of my BLE application?

简而言之,请查看连接间隔、MTU 大小以及可能的 BLE 数据包长度扩展。但根据我的经验,BLE 吞吐量通常低于 EDR 吞吐量的节点也是如此。

【讨论】:

  • 目前我们使用BLE进行简单的命令执行和小数据传输,但是当涉及到像图像或视频这样的大数据时,BLE比Classic BT慢。
  • 啊,现在我更好地理解了你的问题。我将扩展我的分析器
【解决方案2】:

在蓝牙和 BLE 上花了一些时间后,以下是我的观察结果:-

在 BLE 中:

在没有响应特性的情况下,写入时最多可以传输 185 个数据,但对于写入特性,它可以达到 512 个。当计算 BLE 中的连接速度时

Throughput = (1000ms) * (no. of packet for time interval) * (Data per packet) / (connection Interal in ms)

接近 193kbps(183 字节数据包,3 字节是标头),但实际上我达到了 72kbps。

对于经典蓝牙:

苹果没有可用的框架,但您可以注册苹果的 MFI 计划并使用外部附件框架进行连接。

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 2013-11-21
    • 2013-01-15
    • 2022-07-14
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多