【问题标题】:Can I broadcast bluetooth low energy 20 KB data every 5 seconds from Android/iOS device?我可以从 Android/iOS 设备每 5 秒广播一次蓝牙低功耗 20 KB 数据吗?
【发布时间】:2025-12-10 02:40:01
【问题描述】:

我知道有一些安卓模拟器应用可以模拟 iBeacon、eddystone 等 BLE 信标... 但是,我认为这些信标标准只能传输 1 KB 左右,对吗?

我希望能够从两个或更多智能手机每 5 秒广播 10-20 KiloByte 数据,然后它们必须能够扫描彼此的广播并读取彼此的数据。

是否有任何库或原生 API 之类的?

【问题讨论】:

  • 您无法广播那么多数据。广告包非常小。即使是连接时的单个属性更新也被限制为大约 60 个字节。
  • 那么BLE如何与音频耳机配合使用?音频需要以数百 KB 的速度传输。手机不是每秒向空中发送 100+ KB 的数据,这样耳机就可以捕捉到音频数据信号吗?据我所知,BLE 速度确实可以达到 100 KBps。
  • 音频流通过传统蓝牙协议而不是 BLE GATT 传递。此外,您可以通过连接实现的数据速率与外围设备可以广播的数据速率不同。您还可以使用 L2Cap 进行兄弟吞吐量。

标签: android ios bluetooth broadcast beacon


【解决方案1】:

蓝牙传输的每个数据包长度为20字节。根据计算,5s内传输的数据大约等于5kb,所以需要从蓝牙申请MTU扩展 但这取决于设备支持的最大扩展量

mBluetoothGatt.requestMtu(512);

【讨论】:

  • 那么BLE如何与音频耳机配合使用?音频需要以数百 KB 的速度传输。手机不是每秒向空中发送 100+ KB 的数据,这样耳机就可以捕捉到音频数据信号吗?据我所知,BLE 速度确实可以达到 100 KBps。
  • 广播/广告是一个特殊的概念,它使用三个广告频道重复广播预先定义的消息,任何“观察者”都可以接收。这是非常有限的,至少在非最新的蓝牙规范中是这样。但是,如果您连接到设备,您将获得点对点连接,现在您可以在最佳情况下突然发送高达 1.4 Mbps 的数据。
  • 是的,理想情况下,它是可以实现的。您需要确定设备是否支持 MCU 处理速度。如果使用ble+音频格式,建议使用ADPCM或opus格式,解码后音质更好。当然,你也可以在 A2DP 中使用 HFP 进行音频交互