Android中的BLE数据包格式

时间:2015-11-25 11:16:17

标签: android bluetooth-lowenergy android-bluetooth

根据BLE patent,BLE包中的数据大小为47字节。但是,Android只公开20个字节的数据。

2 个答案:

答案 0 :(得分:4)

数据传输协议中BLE数据包的标准格式为:

命令字节(1字节)+设备标识ID(2字节)+数据(12-16字节)+ CheckSum(1字节)

命令部分:这些是您必须根据命令类型指定的十六进制值(例如,设备名称,工厂信息,温度和湿度数据等)。

设备标识ID:这将包括接收设备的UUID(如果它是SIG组生成的UUID,则可以是16位,如果您正在测试,则可以是128位)

数据部分:此部分将包含您要发送的所有数据(可以介于12到16个字节之间,但建议您修复数据包的长度)

CheckSum:用于纠错。您可以使用不同的机制,但是您必须相应地调整数据部分)

如果您计划在SIG蓝牙网站上实施尚未拥有现有配置文件的内容,则必须定义自定义gatt配置文件和服务器。

P.S。阅读有关外部设备的设备规格的更多信息,并查看蓝牙网站上的核心规格。你做的每件事都必须符合他们的标准

好吧,希望这有帮助.. 干杯!

答案 1 :(得分:2)

基本上BLE数据包(作为扫描记录提供给Android API)据我所知只是标准BLE,就像任何其他平台一样。

即。它由项目组成,每个项目按以下顺序包含3个项目:

  1. 1字节数据长度值
  2. 1个字节类型,如:GATT profile
  3. 中所定义
  4. 数据,长度由1字节长度值
  5. 定义

    通过我对BLE的测试,我实际上看到我得到的扫描记录实际上比我可以做广告的时间长。所以我认为你可以看到信标&即使使用Android设备,BLE设备的广告也超过31个字节。

    但是BluetoothLeAdvertiser API只允许您在Android设备上发布的广告扫描记录中有31个字节。

    我没有任何理由说明为什么限制为31个字节,我只是测试了它是以这种方式强制执行的。