与中央设备粘合

8个帖子/ 0个新
最后一篇
motred
离线
最后一次露面:5年4个月前
专家
加入:2014-01-20 21:48
与中央设备粘合

我希望Android手机能够绑定到DA14580设备,这样没有其他手机可以连接到它。我可以用应用程序和我的设备配对,但结合过程失败了。

为了支持与DA14580的绑定,我需要做些什么?有没有文件?

py_dialog.
离线
最后一次露面:2年8个月前
职员
加入:2014-08-25 09:59
嗨Motred,

嗨Motred,

请参考GAP接口纸“rw - bly -GAP- is”,在5.6章中有关于bonding的详细描述。

问候!
PY

Mansonhui.
离线
最后一次露面:1年3个月前
加入:2014-07-15 33
如果我添加BD地址

如果我将中心设备的BD地址添加到白名单中,我如何重新连接到这个中心设备?能或不能,哪个API?

klim9531
离线
最后一次露面:4年3个月前
加入:2015-01-28 23:52
作为别人的忠告,我有

作为其他人的说明,我已经仔细阅读了文档/论坛,查看了参考项目,读过白皮书,甚至直接联系对话框。毕竟这一点,我发现有一个关键点我相信他们未能沟通。如果我错了,这将是一个纠正我的好地方。

我断言,如果你想在iPhone或Android设备之间有一个排他的连接,该设备的BD地址必须在编译时已知(并添加到白名单)。

也就是说,您可以使用需要一个需要PIN的粘合过程。至少对我来说,该问题是针对外围设备的每个实例都是相同的。

因此,如果在同一房间中有5个设备,任何带我的应用程序的人都可以连接到5个设备中的任何一个(如果它们有通用引脚)。

此外,iPhone / Android设备无法区分其连接的哪些设备(从一个到下一个的唯一区别是BD地址)。

在我的设计中,我希望用户能够将他的手机连接到他自己的设备,而忽略附近其他用户的设备。我也不希望其他用户的手机能够连接到彼此的设备,只有一个他们已经建立了一个“绑定”(不是一个BOND,这是一个过程的配对/加密使用的PIN我们上面讨论过)。

所以,请告诉我我有这个错误。如果我错了,请告诉我,如果没有,这里是一个简单但非常有价值的参考项目的概要,即我预期的将有助于一些打算使用iPhone / Android作为中央的开发人员:

参考项目:按钮 - 按下绑定到外围设备的绑定
—允许任何中心设备发起扫描的项目,外设照常响应广告。
- 参考项目具有自定义特征,即在其广告中包含一些外设运行时数据(单个字节是足够的,最初BTYE可能为0x00)。
- 开发人员首先将其应用程序配置为Fornon,以扫描某个名称的外围设备,然后查看该自定义特征(无需连接)中的数据。
- 开发人员将其应用程序配置为拒绝连接到任何外围设备的所有BD地址,直到该特性中的数据读取特定值(例如0xFF)。
——Reference项目被配置为当设备上的按钮被按下时,将自定义特性的值更改为0xFF 10秒。
- 开发人员将其应用程序配置为读取并存储外围设备的BD地址,该地址显示0xFF的自定义特性。
- 开发人员配置他的应用程序,以便在启动时,它读取存储的BD地址列表,此后允许连接到与存储的BD地址匹配的外围设备。

现在问题解决了。当然,另一个应用程序开发者可以编写他的应用程序来连接任何用户的设备,尽管自定义特性很有价值。所以这不是一个“安全的”连接。但如果我们不需要它,我们所需要的只是多个外围/中心设备在同一个区域运行,这就很好地解决了这个问题。更好的是,只要用户之前在每个外设上执行过“BIND”,它就可以让用户将他的iPhone/Android连接到多个外设设备。

我们可以稍后配置应用程序/外设来完成上述操作,但也可以执行BOND,此时连接是安全的。

最后,所有真正需要的是开发人员写下自定义特征,以执行上述我所描述的,这是我现在正在执行的过程中。如果我难以这样做,请告诉我。如果其他人看到这个想法的价值,并希望对话框放在一起参考项目,请在此处评论。我打赌他们的一个人可以在不到一个小时内完成这一点。对我来说,我会看到它是怎么回事....

干杯 - klim.

Joacimwe
离线
最后一次露面:1年3个月前
格鲁鲁
加入:2014-01-14 06:45
嗨。解决方案

嗨。对于一个“可连接”的设备和一个只有绑定设备应该连接的设备有不同的广告数据的解决方案实际上是相当普遍的。这可以以任何方式实现,只要广告数据是不同的。例如,发布一个包含0或1的服务数据项。我想使用“制造商数据”类型更常见。

我认为蓝牙4.0标准并没有真正考虑过。存在“定向广告”解决方案,该解决方案应该仅用于通过广告分组中的中央的BD地址连接到已知的中心。但是,自从Android和iOS使用“可解析的私人地址”以来,它今天非常无用。这意味着您首先必须在外设可以解决地址之前建立连接,并查看它是否是已知的。蓝牙4.2将改变此功能。

我不明白你的意思是,为了拥有与中央的“独占”连接,您需要在编译时才知道中央的BD地址(因为它们使用随机可解析地址也没有意义)。并且关于与PIN配对,由DA14580的程序员达到应该配置它。请检查“RW-BLE-GAP-IS”和蓝牙规范。首先,IO功能设置定义如果引脚应在中央侧或外围侧输入。另一个应该示出使用显示器的随机引脚,或者用户可以在某种程度上找到大约一些设备的硬编码。如果要为每个设备具有不同的硬编码引脚,则可以例如在OTP标题中使用某些字段来存储此信息。这样,您可以使用相同的应用程序代码。

klim9531
离线
最后一次露面:4年3个月前
加入:2015-01-28 23:52
嗨Joacimwe,

嗨Joacimwe,

谢谢您的回复和您的洞察力,我在论坛中看到了您这里的许多评论和帖子,您将我击败为稳定的信息来源。

我还没有阅读所有不同的RW-BLE-XX API文档,这是一个令人生畏的过程。而且我确信对分层和抽象的更全面的了解对我来说是很大的好处,并协助成为一个BLE设备开发人员。

事实是,我是一个孤独的开发人员,我负责开发一切对我们设备的硬件设计(4日创原型功能齐全)应用水平发展为我们祝福设备(在iOS和Android,目前,赢得跟随)。

所以我的时间有点短,我可以花在阅读BLE API文档。这就是为什么我在这里的论坛上寻找见解,以及为什么我如此重视Dialog非常有用的参考设计。这也是为什么我在上面的评论中问我是否错了或遗漏了什么,很可能我是错的。如果是这样,那么在我看来,这是一个完美的地方张贴更正,因为我还没有找到一个解决方案,我认为这是一个非常普遍的目标。

我将试着更好地解释我对中心的“排他性”连接的定义。我将我上面所写内容的精髓传达给了Dialog,他们很好地将关于白名单主题的白皮书发给了我。pdf格式。我阅读报纸(我没有现在和我)我的外卖的白皮书,虽然白名单策略可以用来只允许一个设备与一个已知的BD地址连接,BD地址必须是已知的编程和OTP放入白名单。因此,对我来说,白名单策略无法将连接限制在单个设备上。

写一个随机数销OTP不为我工作有两个原因,一,我从外部flash,而不是编程OTP,引导,更重要的是,我将需要找到一个交流方式销给最终用户,当他们设置设备第一次他们有这样做所需的情报。在设备上印上PIN码或将其包含在设备附带的某种文档中似乎充满了潜在的问题;如果用户丢失了这张纸怎么办?如何在设备的外壳上印上正确的个人识别码?但也许我错过了一个明显的解决办法……

所以对我来说,最简单的解决方案是我上面描述的,你足以确认的是一个常见的要求 - “对于”可连接“设备的不同的广告数据以及只有粘合设备应该连接的设备事实上很常见。“这就是我希望听到这是一个常见的足够要求,这对话将看到他们的开发人员一个小时或可能更少地进入参考设计中的意义,这是在外围设备上的按钮时简单地改变广告数据被按下。

再次感谢您对此JoaCimWe的输入,我希望我不要求您和对话团队的某些东西发现非常微不足道,并且在进一步的关注之下。我已经尝试过这个论坛,每当我处于职位时,我会帮助他人,我感谢您的时间和帮助,并将继续向前支付。

干杯 - klim.

Joacimwe
离线
最后一次露面:1年3个月前
格鲁鲁
加入:2014-01-14 06:45
你好,我们又见面了。不幸的是不要

你好,我们又见面了。我不幸的是没有直接代码,而是一些提示。

关于白名单。存储OTP中的地址不是必须的。如果在rw-ble-bap中查看 - 是,GAPM_WHITE_LIST_MGT_CMD中有一些API,用于从白色列表中添加/删除设备。出于某种原因,您仍然只有3个设备......但是由于大多数手机使用可解析随机地址,因此此解决方案非常毫无价值。

如果要阻止连接到您的未知中心,则需要使用GAPM_RESOLV_ADDR_CMD功能,其中响应为您提供GAPM_ADDR_SOLVED_IND消息(除非有人欺骗地址,否则您仍然需要加密以确定如果您想要安全性),或者使用Status Gap_Err_Not_Found的Gapm_cmp_evt,如果不,则可以断开链接连接。

我不知道你的用例,但似乎你真的不需要安全吗?

无论如何,要更改广告数据,请查看app_adv_func,如果您使用的是sdk3。在SDK5中,在BLE_APP_PROFILE示例中签出user_profile.c。
那么只要你想什么时候重启广告就可以了。

klim9531
离线
最后一次露面:4年3个月前
加入:2015-01-28 23:52
嗨Joacimwe,

嗨Joacimwe,

感谢提示,我将探讨更改广告数据的方法,似乎是我问题的最佳解决方案。

欢呼,克林