可分解的私有地址

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
nigelyang
离线
最后看到:1周20小时前
加入:2018-03-20 08:24
可分解的私有地址

嗨,对话框中,

14681 SDK支持“可解析的私有地址”吗?如果有,如何在SDK中开启“可解析私地址”功能?
我没有找到任何关于这个的文件。

谢谢

设备:
MT_dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2015-06-08 34
嗨nigelyang,

嗨nigelyang,

您需要使用ble_gap_address_set()函数。这个函数将以own_address_t var作为参数,在这个变量中,你必须定义你的设备想要发布的地址类型PRIVATE_RANDOM_RESOLVABLE_ADDRESS。的。该结构体的Addr成员将被忽略,因为您将使用一个随机可解析地址。您还必须填写函数的renew_dur参数,该参数将在特定的时间内更新地址。你可以在68x系列的“设置蓝牙地址和设备名称”的教程部分找到一些相关的指导方针。

由于MT_dialog

nigelyang
离线
最后看到:1周20小时前
加入:2018-03-20 08:24
嗨,对话框中,

嗨,对话框中,
我设置如下

Static const own_address_t user_bd_address = {
.addr_type = PRIVATE_RANDOM_RESOLVABLE_ADDRESS,
.addr = {0x0A,0x0B,0x0C,0x0D,0x0E,0x0F}};

ble_gap_address_set (&user_bd_address, 10000);//每10000ms修改一次

我尝试用手机应用程序监控BD地址,但发现并不是每10秒就换一次。

在这个案例中,有什么是我遗漏或误解的吗?

谢谢

MT_dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2015-06-08 34
嗨nigelyang,

嗨nigelyang,

请检查ble_gap_address_set()函数的ble_gap.h报头中的注释,最小值是150秒,步长为10毫秒。

由于MT_dialog

nigelyang
离线
最后看到:1周20小时前
加入:2018-03-20 08:24
嗨,对话框中,

嗨,对话框中,

我在输入正确的密钥后遇到了另一个问题,如果使用PRIVATE_RANDOM_RESOLVABLE_ADDRESS配对失败(evt->status=BLE_ERROR_FAILED)。代码将运行到“case BLE_EVT_GAP_PAIR_COMPLETED:”并打印“配对失败”。但是,如果使用PRIVATE_STATIC_ADDRESS,则成功。我错过了什么布景吗?什么条件将达到“case BLE_EVT_GAP_ADDRESS_RESOLVED:”?

谢谢

nigelyang
离线
最后看到:1周20小时前
加入:2018-03-20 08:24
嗨,对话框中,

嗨,对话框中,

我尝试了3个android手机,相同的应用程序,android版本7.0和8.0可以配对,但6.0版本失败了。可能的原因是什么?

谢谢

nigelyang
离线
最后看到:1周20小时前
加入:2018-03-20 08:24
很抱歉再次打扰你

很抱歉再次打扰您,我发现在使用Android 6.0版本的情况下,代码将达不到“case BLE_EVT_GAP_ADDRESS_RESOLVED:”和“case BLE_EVT_GAP_SEC_LEVEL_CHANGED:”。它直接到达case BLE_EVT_GAP_PAIR_COMPLETED:。我不明白为什么SDK会跳过这两种情况。谢谢你的回答。

MT_dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2015-06-08 34
嗨nigelyang,

嗨nigelyang,

很好地尝试了android 6.0版本,和随机可解析地址,没有注意到任何问题。如果您没有看到BLE_EVT_GAP_SEC_LEVEL_CHANGED发生,那么在绑定过程中发生了一些事情,嗅探日志将允许您通过空中查看正在发生的事情。

由于MT_dialog