如何获得DEVICE-BLE名称

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
5个职位/ 0个新
最后发表
RatheeshT
离线
最后看到:2年2天前
加入:2017-01-02还剩11分08秒
如何获得DEVICE-BLE名称

嗨,对话框的团队,
我使用的是SPS示例(DA1458x_DSPS_v_5.150.2)。
在sps主机示例中,我想列出可用的设备及其名称和BD地址。
它正确地列出了BD地址,但没有列出它的名称(给出了一些垃圾值)。即它提供USER_ADVERTISE_DATA“\x11\x07\xb7\x5c\x49\xd2\x04\xa3\x40\x71\xa0\xb5\x35\x85\x3e\xb0\x83\x07”。

为了得到以上我已经使用了广告报告结构
我已经使用uint8_t data[ADV_DATA_LEN];获得名称的上述结构的成员,因为Windows版本的接近监视器应用程序只使用它来获得名称。
/ / /广告报告结构
struct adv_report

/ / /事件类型:
/// - ADV_CONN_UNDIR:可连接的无向广告
/// - ADV_CONN_DIR:可连接定向广告
/// - ADV_DISC_UNDIR:可发现的无定向广告
/// - ADV_NONCONN_UNDIR:不可连接的无向广告
uint8_t evt_type;
///发布地址类型:public/random
uint8_t adv_addr_type;
/ / /广告地址值
struct bd_addr adv_addr;
///广告包中的数据长度
uint8_t data_len;
///广告包数据
uint8_t数据(ADV_DATA_LEN);
///发布报文的RSSI值
uint8_t rssi;

/ / unit8_t bdadrss;
};

这是对还是错?或者请让我知道正确的结构读取设备名称。
我附上了一张图片供参考。

设备:
MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨RatheeshT,

嗨RatheeshT,

设备的名称默认情况下不在广告字符串中,我的意思是设备的名称可能是公共的也可能不是,你在终端上得到的是代表UUID值的字符,您跟踪的设备不会在广告字符串中公开名称,而是在扫描响应数据中(只要您执行被动扫描,也可以在相同的回调app_on_adv_undirect_complete中捕获),也意识到设备的名称字符串或广告的广告数据标记“0 x09完整的本地名称”,通过规范为了找到如果一个名称位于广告字符串必须跟踪如果有0 x09标签在适当的字节顺序。

由于MT_dialog

RatheeshT
离线
最后看到:2年2天前
加入:2017-01-02还剩11分08秒
嗨,对话框中,

嗨,对话框中,
当设备名称大小为8或以下时,我可以在UART中通过下面的步骤列出设备的名称和它的地址,一旦设备的名称增加到8以上,它在UART中显示地址,但不是设备名称。
如果我增加了设备名长度,我可以在我的Android手机中看到该设备名,但不能在DA14580设备上,这是作为主机- ble。

你能给我一些建议吗?

MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨RatheeshT,

嗨RatheeshT,

我不确定我得到这个问题,这与实现,你还要在打印设备的名称,如果设备的名称位于广告的字符串,你已经实现了UART打印8个字符,然后UART只会打印8个字符。

由于MT_dialog

ojazdowski
离线
最后看到:1年11个月前
加入:2019-04-24 08:27
我还想

我也试图获得BLE设备名我的外设使用上面的例子,但无法。

作为一个中心,我正在扫描BLE外围设备。

我得到了周边的扫描响应。App_on_adv_report_ind回调事件处理程序。

通过将广告UUID匹配到已知的外设,我可以从这个回调成功地连接到外设。

但是,我想知道如何知道外围设备的名称。这将是0x09扫描响应(GAP_AD_TYPE_COMPLETE_NAME)。

suggeststions吗?

我的user_config.h是附加的。

谢谢