嗨,所有。
我想在广告数据中添加设备名称
因为发布数据的最大长度是0x1C (0x1F-3)字节。
iBeacon的数据结构是:
uint8_t adv_header [2];/ /静态ibeacon
uint8_t 雷电竞下载appcompany_id [2];
uint8_t data_type;/ /静态
uint8_t beacon_length;/ /静态
uint8_t uuid [16];/ /配置
uint8_t主要[2];/ /配置
uint8_t小[2];/ /配置
uint8_t tx_power;
iBeacon结构占用0x1B(27)字节。
然后,只有一个字节(0x1C-0x1B)可以使用。
那么,如何在iBeacon广告数据中添加设备名称?
3 ks
设备:
嗨ustbzhangm,
你能告诉我你使用哪个项目来宣传ibeacon数据包吗?您使用的是beacon项目或任何SDK>的示例取决于您如何使用SDK和您使用的示例,请注意,SDK将附加任何额外的数据,不适合在扫描响应数据中的广告字符串。在第一个指示(广告指示)中,广告数据将填充数据,然后在第二个指示(扫描响应指示)中,扫描响应数据将填充结构体。为了捕获扫描响应数据,您应该将设备配置为GAPM_SCAN_ACTIVE以获得扫描响应。你能解释一下你在应用中使用的是哪种扫描模式吗?GAPM_SCAN_ACTIVE配置还是GAPM_SCAN_PASSIVE配置?
谢谢,PM_Dialog
嗨,PM_Dialog。
非常感谢。
是的,我想发布ibeacon数据包。同时我还想公布更多的数据。
我使用对话参考设计电池供电的信标项目。` cmd->info.host中没有空格。Adv_data[]'来保存额外的数据。
我可以把额外的数据在'cmd->info.host。scan_rsp_data[]”?如果我想宣传设备名称,我可以把'\x05\x09\x54\x45\x53\x54'在scan_rsp_data?这有用吗?
我又测试了一次。
在可连接模式下,我可以在响应数据包中添加设备名称数据。它成功了,我可以通过手机扫描获取设备名称。
但在非连接模式下,我在响应数据包中添加了设备名数据。BLE设备不能正常工作。因为我无法扫描设备。
我找到一篇文章:
不可连接模式设备要么不发送通告报文,要么发送ADV_NONCONN_IND或ADV_SCAN_IND通告报文(如表2-1所示)。在这两种情况下,设备,正如模式名所暗示的,是不可连接的,这意味着没有中心可以与它建立连接。
但是我在DA14580 SDK中找不到ADV_SCAN_IND模式。DA14580是否可以在ADV_SCAN_IND模式下工作?
嗨ustbzhangm,
ADV_SCAN_IND包(可扫描的无向广告)是不可连接的包,在扫描请求的情况下,您将能够发送扫描响应数据。为了激活SDK中的这些数据包你必须设置扫描响应数据SDK会发送这些数据包。但是,请注意,如果将扫描程序配置为GAPM_SCAN_ACTIVE,则不会进行检测,因此外设将始终打开接收程序。这意味着当外围设备在广告事件期间传输数据时,它也将打开接收器进行听觉扫描请求。因此,当设备收到扫描请求时,它总是发送扫描响应。
谢谢,PM_Dialog