低功耗蓝牙设备有多少内存
How much memory does Bluetooth Low Energy device has
假设我想从连接到 Raspberry Pi 的蓝牙 4 模块开始传输广告数据包。我打算为此使用 BlueZ 库。有关于相同的基本问题 -
一个典型的蓝牙设备包含多少内存(它是标准的还是可以因供应商而异的东西)?在这两种情况下,广告是否必须为 27 字节(iBeacon)和 28 字节(Altbeacon 和 URIBeacon),或者它是否可以扩展到受蓝牙内存大小或任何其他准则限制的任何数字?希望对这个话题有所了解。
提前致谢!
设备内存不是限制蓝牙 LE 广告大小的因素。 Bluetooth 4.0 Core specification 施加了限制,它允许在制造商广告 PDU 中最多有 28 个字节(包括单字节 PDU 长度字段)。
虽然您无法在单个广告中传输更多数据,但可以使用其他技术发送更多数据,包括:
交织来自同一发射器的多个广告。你可以用一个"type"字节来区分这些广告,然后用它来将它们与接收设备拼接在一起。缺点:实现复杂。
使用扫描响应数据包发送附加数据。缺点:扫描响应可能不会及时到达。
提供可用于获取额外数据的可连接 GATT 服务。缺点:一旦连接,广告停止。
使用网络服务根据广告中的唯一标识符查找其他数据。缺点:没有互联网连接时无法使用。
假设我想从连接到 Raspberry Pi 的蓝牙 4 模块开始传输广告数据包。我打算为此使用 BlueZ 库。有关于相同的基本问题 -
一个典型的蓝牙设备包含多少内存(它是标准的还是可以因供应商而异的东西)?在这两种情况下,广告是否必须为 27 字节(iBeacon)和 28 字节(Altbeacon 和 URIBeacon),或者它是否可以扩展到受蓝牙内存大小或任何其他准则限制的任何数字?希望对这个话题有所了解。
提前致谢!
设备内存不是限制蓝牙 LE 广告大小的因素。 Bluetooth 4.0 Core specification 施加了限制,它允许在制造商广告 PDU 中最多有 28 个字节(包括单字节 PDU 长度字段)。
虽然您无法在单个广告中传输更多数据,但可以使用其他技术发送更多数据,包括:
交织来自同一发射器的多个广告。你可以用一个"type"字节来区分这些广告,然后用它来将它们与接收设备拼接在一起。缺点:实现复杂。
使用扫描响应数据包发送附加数据。缺点:扫描响应可能不会及时到达。
提供可用于获取额外数据的可连接 GATT 服务。缺点:一旦连接,广告停止。
使用网络服务根据广告中的唯一标识符查找其他数据。缺点:没有互联网连接时无法使用。