根据BLE patent,BLE包中的数据大小为47字节。但是,Android只公开20个字节的数据。
答案 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个项目:
通过我对BLE的测试,我实际上看到我得到的扫描记录实际上比我可以做广告的时间长。所以我认为你可以看到信标&即使使用Android设备,BLE设备的广告也超过31个字节。
但是BluetoothLeAdvertiser API只允许您在Android设备上发布的广告扫描记录中有31个字节。
我没有任何理由说明为什么限制为31个字节,我只是测试了它是以这种方式强制执行的。