不能传输最大长度的广告数据包

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
mark.bloechl
离线
最后看到:1年9个月前
加入:2015-12-09你们
不能传输最大长度的广告数据包

我试图发送一个最大长度(31B)的广告数据包。使用3个强制字节作为广告标志,似乎我应该能够传输自己的28个字节,但当我试图发送超过26个字节时,它不起作用——它似乎根本不是广告。不可思议的是,当我收到26 b广告DA14580配置为中心,我可以看到我的数据(\ x06 \ x01)然后空间为两个字节的缓冲区,但当我增加广告27或28字节我一无所获。
下面是我的26B广告:
#定义USER_ADVERTISE_DATA " \ x19 \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01”
为了尝试28B,我只添加了两个'ff'字节(并增加了字段长度字节):
#定义USER_ADVERTISE_DATA " \ x1b \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01 \ xff \ xff”

设备:
STS_Dialog(未验证)
嗨mark.bloechl,

嗨mark.bloechl,

这两个场景都检查过了,工作正常,请给我更多信息,你说的“配置为一个中心”是什么意思?你把DA14580设为中央吗?

谢谢,

STS_DIalog。

mark.bloechl
离线
最后看到:1年9个月前
加入:2015-12-09你们
你好,

你好,

我有2个DA14580:一个配置为外设,一个配置为中心。两者的代码都取自DSPS示例项目。当我试图从外部配置的单元发布超过26个用户字节,并在中心配置的单元上接收它时,它不起作用。当我在26字节或以下时,它会。两个实例之间唯一的区别是USER_ADVERTISE_DATA的大小。当我将广告长度设置为>26B时,我不认为该单位在做广告,因为我在手机上也看不到。

谢谢!
马克

MHv_Dialog
离线
最后看到:4个月2周之前
工作人员
加入:15 2013-12-06
嗨,马克,

嗨,马克,

DA14580堆栈自动在广告数据前添加3个字节的标志(长度+类型+标志= 3字节),这样就只剩下28个字节了。对于剩余的数据,您至少需要2个字节来表示有效负载长度和发布数据类型。这给您留下了26字节的有效负载。

通过在SDK内部实现一个工作来防止堆栈添加3字节的标志是可能的,但是蓝牙规范规定,当外设是可连接的时,您必须在您的广告中添加标志。如果你真的需要控制所有31字节在你的广告,我可以提供的变通办法。

/ MHv

mark.bloechl
离线
最后看到:1年9个月前
加入:2015-12-09你们
长度和数据类型

长度和数据类型字段包含在我的广告字符串中(即,当我说26字节是1B长度+ 1B类型+ 24B有效负载时,28字节字符串也是如此)。

MHv_Dialog
离线
最后看到:4个月2周之前
工作人员
加入:15 2013-12-06
很抱歉没看你的

很抱歉没有仔细阅读你的帖子。

我刚刚将你的28byte字符串复制到SDK504(空外围模板项目)的一个干净的提取,它发布了整个字符串没有问题。

///广告服务数据
///广告AD类型标志,不得在广告中设置数据
#定义USER_ADVERTISE_DATA " \ x1b \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01 \ xff \ xff”

///发布数据长度-最大28字节,预留3字节设置
#定义USER_ADVERTISE_DATA_LEN (sizeof (USER_ADVERTISE_DATA) 1)

/ MHv