Android 和 iOS 通过蓝牙进行数据通信
Data communication between Android and iOS over Bluetooth
android 设备和 iOS 之间的通信使用 Bluetooth LE 相当简单,在这里我可以执行简单的命令和小数据传输。
但是,当涉及到通过蓝牙从 android 设备到 iOS 应用程序的图像、视频、文档等大数据传输时,遇到了困难。
虽然 Android 到 android 大数据传输是通过蓝牙套接字进行的,但无论如何我可以通过蓝牙实现图像和视频传输到 iOS 吗?
我从很长一段时间以来一直在探索这个话题,但是所有的文档都说使用 iOS 是不可能的,有人可以阐明这种方法吗?...
一个原因可能是 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 中:
在没有响应特性的情况下,最多可以传输 185 个数据,但是对于写入特性,它最多可以传输 512 个数据。当计算 BLE 中的连接速度时
Throughput = (1000ms) * (no. of packet for time interval) * (Data per packet) / (connection Interal in ms)
接近 193kbps(183 字节数据包,因为 3 字节是 header),但实际上我达到了 72kbps。
对于经典蓝牙:
苹果没有可用的框架,但你可以注册苹果的MFI程序,使用外部配件框架进行连接。
android 设备和 iOS 之间的通信使用 Bluetooth LE 相当简单,在这里我可以执行简单的命令和小数据传输。 但是,当涉及到通过蓝牙从 android 设备到 iOS 应用程序的图像、视频、文档等大数据传输时,遇到了困难。
虽然 Android 到 android 大数据传输是通过蓝牙套接字进行的,但无论如何我可以通过蓝牙实现图像和视频传输到 iOS 吗?
我从很长一段时间以来一直在探索这个话题,但是所有的文档都说使用 iOS 是不可能的,有人可以阐明这种方法吗?...
一个原因可能是 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 中:
在没有响应特性的情况下,最多可以传输 185 个数据,但是对于写入特性,它最多可以传输 512 个数据。当计算 BLE 中的连接速度时
Throughput = (1000ms) * (no. of packet for time interval) * (Data per packet) / (connection Interal in ms)
接近 193kbps(183 字节数据包,因为 3 字节是 header),但实际上我达到了 72kbps。
对于经典蓝牙:
苹果没有可用的框架,但你可以注册苹果的MFI程序,使用外部配件框架进行连接。