如何从广告包中删除标志

了解更多常见问题教程

5个职位/0个新职位
最后一篇文章
阿努希亚
离线
最后一次见到:3个月6天前
已加入:2017-12-20 02:30
如何从广告包中删除标志

你好,

如何从广告包中删除标志?我在不可连接模式下连续传输。

默认情况下,有效负载的标志部分有:020106(大小2字节,类型-01标志,标志值-06)

相反,我希望广告包是1FFF。。。。。。。(尺寸1F=31,十进制,FF型-制造商数据)

谢谢您,

阿努希亚

设备:
PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,阿努希亚,

嗨,阿努希亚,

你能澄清一下你的问题吗?请检查位于6.0.10.511\projects\target\u apps\misc path下的SDK的ble\u app\u nonco示例。app\u easy\u gap\u non\u connectable\u advertise\u get\u active()API为不可连接广告生成正确的命令。请检查user\u app\u adv\u start()回调函数。由app\u easy\u gap\u non\u connectable\u advertise\u start\u create\u msg()创建的相应消息。广告数据将被分类为info.host.adv\u数据gapm\u start\u advertise\u cmd结构的成员。设备名称也将存储在广告字符串中。我建议你看一下app的源代码\u easy\u gap\u non\u connectable\u advertise\u start\u create\u msg()。

您可以修改USER\u config.h头文件中的USER\u advertive\u DATA宏,以便在播发数据中存储所需的信息。例如,如果要将BD地址存储到广告数据中,可以执行以下操作:

广告字符串应具有特定格式。您可以使用ADV\u TYPE\u MANUFACTURER\u SPECIFIC\u DATA标志,并将MAC地址附加到广告字符串的制造商数据中。例如,假设您的BD地址是:x00 x01 x02 x03 x04 x05,那么您的广告数据如下所示

#define BLE\u MAC \u ADDR“\x00\x01\x02\x03\x04\x05”

#定义BLE\u MAC\u ADDR\u LEN“\x07”

#定义用户地址\

高级类型制造商特定数据\

BLE\ MAC\地址

但是,您能指出您想在广告数据中填充什么吗?

谢谢,下午好

阿努希亚
离线
最后一次见到:3个月6天前
已加入:2017-12-20 02:30
在广告包里,

在广告包中,我不想发送标志。我想使用所有31字节的制造商数据。上面提到的设置不控制标志。

我在不可连接模式下连续传输。

用户\u config.h有一个注释“可以省略标志数据类型”。我该怎么做这是我的问题。

*-ADV\u noncon\u IND:不可连接的无向广告事件。

*-用户定义的广告数据的最大长度应为31字节。

*-可以省略标志数据类型,因此用户可以将所有31字节用于

*数据。

*-扫描响应数据应为空。

阿努希亚
离线
最后一次见到:3个月6天前
已加入:2017-12-20 02:30
好 啊。在建议的答案中

好 啊。我找到了解决办法。在将ble\ U app\ U睡眠模式设为不可连接(连续传输)的建议答案中,

https://support.dialog semiconductor.com/forums/post/dialog smartbond蓝牙低能耗-%E2%80%93硬件设备参考设计/mnfdata更新#评论-24179

最后一个参数需要更改为零

//adv\ U connectable connectable advertising event or not参数设置为0。

app\ u add\ u ad\ u struct(cmd,&mnf\ u data,sizeof(struct mnf\ u specific\ u data\ u ad\ u structure),0);

void user\u app\u adv\u start(无效)

{

//安排下一次广告数据更新

app\u adv\u data\u update\u timer\u used=app\u easy\u timer(app\u adv\u data\u update\u TO,adv\u data\u update\u timer\u cb);

结构gapm\u开始\u广告\u cmd*cmd;

cmd=app_easy_gap_non_connectable_advertized_get_active();//无方向->non_connectable

//如果有足够的空间,将制造商数据添加到初始广告或扫描响应数据中

//adv\ U connectable connectable advertising event or not参数设置为0。

app\ u add\ u ad\ u struct(cmd,&mnf\ u data,sizeof(struct mnf\ u specific\ u data\ u ad\ u structure),0);

//在广告期间使用OTP拷贝设置延长睡眠时间

arch\u set\u extended\u sleep(真);

app_easy_gap_non_connectable_advertive_start();//无方向->non_connectable

}

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,阿努希亚,

嗨,阿努希亚,

很高兴您解决了问题,感谢您对app\u add\u ad\u struct()的提示。

谢谢,下午好