跳转到主要内容

广告与扫描响应数据

DA14585

5个月前

广告与扫描响应数据

发布的moguilevski60点 4回复
0的问题

亲爱的团队对话框,

我将使用ADV_SCAN_IND包广告使用barebone的例子。但是,当我用数据(< 31字节)填充USER_ADVERTISE_SCAN_RESPONSE_DATA时,就像切口中显示的那样

///扫描响应数据#define USER_ADVERTISE_SCAN_RESPONSE_DATA "\x64\x75\x6D\x6D\x79\x20\x64\x61\x74\x61"

代码执行在广告开始时中断。除了尺寸限制外,对有效载荷还有什么其他规则需要考虑吗?正确使用这种广告类型还需要哪些步骤?在这种情况下是否允许连接?

接受答案!

5个月前

PM_Dialog

嗨moguilevski,

广告字符串和扫描响应数据应遵循特定的格式。制造商特定数据是一个标志,开发者可以包含自己的数据,并在设备广告时填充它们。为了将自定义数据添加到广告字符串中,格式应该类似于

下面是一个例子:

#define MAN_DATA "\x64\x75\x6D\x6D\x79\x20\x64\x61\x74\x61" #define MAN_DATA_LEN "\x0B" #define USER_ADVERTISE_SCAN_RESPONSE_DATA MAN_DATA_LEN\ ADV_TYPE_MANUFACTURER_SPECIFIC_DATA\ MAN_DATA

详情请参阅BLE广告教程(HTML)

谢谢,PM_Dialog

接受答案!

5个月前

moguilevski 60点

你好PM_Dialog,

非常感谢你的回答。另外,我想问你一个相关的问题:

是否有可能将自定义数据字段放入广告或扫描响应有效负载中,这并不包括在通用蓝牙规范中(AD类型列表:0x01 - 0x2D, 0x3D, 0xFF)?

接受答案!

5个月前

PM_Dialog

嗨moguilevski,

如果你想在广告或扫描响应数据中存储定制数据,你应该按照我之前的回复,使用制造商特定的数据。

谢谢,PM_Dialog

接受答案!

5个月前

moguilevski 60点

谢谢你!