嗨,对话,
14681 SDK是否支持“可解析专用地址”?如果是,如何在SDK中启用“可解析私有地址”功能?我没有找到任何关于这个的文件。
谢谢
你好nigelyang,
您需要使用ble\u gap\u address\u set()函数。这个函数将把一个自己的地址变量作为参数,在这个变量中,您必须定义您的设备想要在您的案例中公布的地址类型私有的、随机的、可解析的地址。地址结构的成员将被忽略,因为您将使用随机可解析地址。此外,您还必须填写函数的renew\u dur参数,该参数将在特定时间内更新地址。您可以在68x系列教程的设置蓝牙地址和设备名称部分找到一些相关的指导原则。
谢谢你的对话
嗨,对话,我设定如下
静态const own\u address\u t user\u bd\u address={.addr\u type=PRIVATE\u RANDOM\u RESOLVABLE\u地址,.addr={0x0A,0x0B,0x0C,0x0D,0x0E,0x0F};
ble_gap_address_set(&user_bd_address,10000);//每10000毫秒更改一次
我试着通过手机应用程序来监控BD地址,但发现它并没有每10秒改变一次。
在这种情况下,我有什么遗漏或误解吗?
请检查ble\u gap.h头中关于ble\u gap\u address\u set()函数的注释,最小值为150秒,步长为10毫秒。
在输入正确的密钥后,我遇到了另一个问题,如果使用私有\u随机\u可解析\u地址,配对失败(evt->status=BLE \u ERROR \u failed)。代码将运行到“case BLE\u EVT\u GAP\u PAIR COMPLETED:”并打印“PAIR failed”。但是,如果使用私有\u静态\u地址,则会获得成功。有什么我错过的场景吗?什么样的条件才能达到“案例解决”?
我试过3款android手机,都是同样的应用,android 7.0版和8.0版可以配对,但是6.0版失败了。可能的原因是什么?
很抱歉再次打扰您,我发现在使用Android版本6.0的情况下,代码不会达到“case BLE\u EVT\u GAP\u ADDRESS\u RESOLVED:”和“case BLE\u EVT\u GAP\u SEC\u LEVEL\u CHANGED:”,直接达到“case BLE\u EVT\u GAP\u PAIR\u COMPLETED:”。我不明白为什么我要跳过这两个案子。谢谢你的回答。
安卓6.0版做了很好的尝试,地址随机可解析,没有发现任何问题。如果你看不到BLE\u EVT\u GAP\u SEC\u LEVEL\u发生了变化,那么在粘接过程中会发生一些事情,嗅探器日志会让你看到空中发生了什么。
你好nigelyang,
您需要使用ble\u gap\u address\u set()函数。这个函数将把一个自己的地址变量作为参数,在这个变量中,您必须定义您的设备想要在您的案例中公布的地址类型私有的、随机的、可解析的地址。地址结构的成员将被忽略,因为您将使用随机可解析地址。此外,您还必须填写函数的renew\u dur参数,该参数将在特定时间内更新地址。您可以在68x系列教程的设置蓝牙地址和设备名称部分找到一些相关的指导原则。
谢谢你的对话
嗨,对话,
我设定如下
静态const own\u address\u t user\u bd\u address={
.addr\u type=PRIVATE\u RANDOM\u RESOLVABLE\u地址,
.addr={0x0A,0x0B,0x0C,0x0D,0x0E,0x0F};
ble_gap_address_set(&user_bd_address,10000);//每10000毫秒更改一次
我试着通过手机应用程序来监控BD地址,但发现它并没有每10秒改变一次。
在这种情况下,我有什么遗漏或误解吗?
谢谢
你好nigelyang,
请检查ble\u gap.h头中关于ble\u gap\u address\u set()函数的注释,最小值为150秒,步长为10毫秒。
谢谢你的对话
嗨,对话,
在输入正确的密钥后,我遇到了另一个问题,如果使用私有\u随机\u可解析\u地址,配对失败(evt->status=BLE \u ERROR \u failed)。代码将运行到“case BLE\u EVT\u GAP\u PAIR COMPLETED:”并打印“PAIR failed”。但是,如果使用私有\u静态\u地址,则会获得成功。有什么我错过的场景吗?什么样的条件才能达到“案例解决”?
谢谢
嗨,对话,
我试过3款android手机,都是同样的应用,android 7.0版和8.0版可以配对,但是6.0版失败了。可能的原因是什么?
谢谢
很抱歉再次打扰您,我发现在使用Android版本6.0的情况下,代码不会达到“case BLE\u EVT\u GAP\u ADDRESS\u RESOLVED:”和“case BLE\u EVT\u GAP\u SEC\u LEVEL\u CHANGED:”,直接达到“case BLE\u EVT\u GAP\u PAIR\u COMPLETED:”。我不明白为什么我要跳过这两个案子。谢谢你的回答。
你好nigelyang,
安卓6.0版做了很好的尝试,地址随机可解析,没有发现任何问题。如果你看不到BLE\u EVT\u GAP\u SEC\u LEVEL\u发生了变化,那么在粘接过程中会发生一些事情,嗅探器日志会让你看到空中发生了什么。
谢谢你的对话