用于配对的外围义务静态引脚。

12个帖子/ 0新
最后一篇
Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
用于配对的外围义务静态引脚。

我使用带有SDK的LBCA2HNZYZ从对话框版本3.0.6使用。基于“Reporter_FH”示例的应用。

我必须在BLE连接时实现引脚功能。
该设备没有显示和键盘。设备是“外设(从属)”。
对于配对需要从“Central(Master)”侧需要静态PIN码。中央是iOS SDK的iPad。
当我尝试与Android手机与设备配对时,我会使用键盘获取弹出窗口以进入PIN。正确的引脚允许配对。iOS与设备连接,没有任何代码。
我如何要求PIN强制性?
你能告诉我什么是错的吗?

提前致谢。

设备:
mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

您的意思是iOS完成了配对而不询问PIN,然后输入您可以看到服务和特征的数字?你能写下它们吗?如果您的特性没有授权,那么没有人迫使主机需要配对以便阅读它们。也铭记服务发现不是安全的一部分。意味着主机能够看到不需要身份验证的支持的服务和特性,所有服务和特征都可以在服务发现期间(不是它们的值)。如果您希望主机无法看到您的服务,您可以在成功配对/绑定到外围设备后启用它们。现在我想看到iPhone上的服务/特征,而不是在Android上看到它们的一个UI。

谢谢mt_dialog.

Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
你好。我不是很大的专家

你好。我不是蓝牙低能量协议的专家,所以可能有人可以帮助我几个问题:

1.是否有能力在每次连接到同一设备时每次询问PIN码?
2.与设备配对时,我需要为强制性的询问密码代码做些什么定义?
3.是否需要使用授权或识别进行授权或识别进行接近的配置文件
4.在Connect建立过程中,函数app_send_pairing_rsp_func()未调用。如何才能要求中央询问连接参数?
在项目中定义的项目中:app_sec_env.auth =(gap_auth_req_mitm_bond);

谢谢!

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

在BLE时,当断开连接时,当断开连接时不会再次通过配对过程,如果主机先前已连接到设备,则需要验证在配对过程中交换的键。因此,如果您的设备正确配对,则唯一的方式将重复配对过程是未配对的。您必须设置您的服务或特定的特征,以便才能授权,只有在配对序列之后只能读取和写入特征,主机将能够看到服务和特征,但他不会能够在配对之前读取它们或写入它们。当他看到特征需要授权时,您的主机必须发出配对请求命令。

谢谢mt_dialog.

Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
你好。

你好。

如果我理解对,我需要在功能中定义连接安全选项:
void app_send_pairing_rsp_func(struct gapc_bond_req_ind * param)
并且还设置服务或特定的特性以要求授权。
当我尝试从iPad连接时,我不会输入“app_send_pairing_rsp_func”函数。显然,iPad已经配对设备。
在我们的申请中,现在没有选择unapairing。
核心BLE(iOS)的API是什么,我们需要用于解成对设备并清除验证密钥?
我在“蓝牙设备”中看到设备(设置 - >蓝牙),但我不能做任何事情。

谢谢。

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

在连接建立期间,您是否在app_connection_func中调用app_security_start()?您可以找到函数的实现和SmartTag参考设计中的配对过程的示例。要完成配对过程而不调用App_send_pairing respose_func是一点奇怪的。

谢谢mt_dialog.

Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
你好。

你好。

谢谢你的所有答案!它真的很有帮助!
现在我有下一个情况。
当设备首次与中央连接时,请求PIN码弹出窗口显示在iPad上。并第一次正确连接。
从设备中央断开(不忘记绑定)后,无法再次连接。iPad提供消息“连接警报。在询问时断开连接的外设”。我尝试使用SmartTag参考设计的功能:
void app_store_bond_data(void);
void app_clear_bond_data(void);
int app_check_bond_data(struct rand_nb * rand_nb,uint16_t ediv);
void app_load_bond_data(void);

这并没有改善这种情况。
有人可以给我一个提示吗?
非常感谢!

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

当一个设备配对时不再通过配对过程,主机必须发送和Ecryption请求,以便与对等设备建立安全链接。在SmartTag中,当您的设备绑定并通过配对过程再次进行闪存中的数据并将拒绝连接。

谢谢mt_dialog.

Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
嗨亲爱的支持。

嗨亲爱的支持。

我正在尝试使用智能标签的示例,但没有这么成功......

当iOS尝试在绑定后连接并断开连接到Gapc_encrypt_req_ind_handler()函数并调用到app_connect_confirm()。进入app_send_pairing_rsp_func()后。如果我理解它,它不应该发生。
之后,设备断开连接。

使用Android,它在绑定后连接,当Android中央忘记绑定信息时,设备拒绝连接。
1. iOS所定义的错误是什么?
2.评估板的示例是我可以看到相同的情况,当我想用​​静态引脚码(用显示器定义的设备)连接外围设备时。

非常感谢!

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

在智能标签中,当设备对iOS与IOS断开连接时,IOS应再次连接,因为它们是绑定的。在您的情况下,在重新连接时,设备再次发送配对请求,并且设备命令外围设备再次通过配对过程?(yep这不应该发生,因为设备绑定,请检查设备是否在Android手机中的“设置”选项卡中绑定。在iOS和Android中运行没有特殊定义。智能标记应在Android和iOS上工作,而无需任何修改。

谢谢mt_dialog.

Vadym.
离线
最后一次露面:1年3个月前
加入:2015-08-13 08:28
你好。

你好。

它开始工作。
问题与iOS 7有关。它使用iOS 9它正常工作。

有人知道我是否可以使用超过6位数的硬编码的字母数字PIN码?

谢谢。

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨Vadym,

嗨Vadym,

我认为PIN码是按蓝牙规范(从000000到99999)的6位数。

谢谢mt_dialog.