我希望Android手机能够粘合到DA14580设备,使得没有其他手机可以连接到它。我可以使用应用程序与我的设备配对,但绑定过程失败。
我需要做什么,以支持与DA14580键合?是否有相关文档?
嗨马特拉德,
请参阅第5.6章中的差距界面纸“RW-BLE-GAP-IS”,有关粘合的详细说明。
的问候!PY
如果我将中央设备的BD地址添加到白名单,我如何重新连接到这个中心设备?可以与否,哪个API?
作为对其他人的说明,我仔细阅读了文档/论坛,查看了参考项目,通读了白皮书,甚至直接联系了Dialog。经过这一切,我发现了一个关键点,我认为他们没有沟通。如果我错了,这里是纠正我的好地方。
我断言,如果您希望在iPhone或Android设备之间拥有独占连接,则该设备的BD地址必须在编译时以(并添加到白名单)。
也就是说,您可以使用需要一个需要PIN的粘合过程。至少对我来说,该问题是针对外围设备的每个实例都是相同的。
因此,如果在同一房间中有5个设备,任何带我的应用程序的人都可以连接到5个设备中的任何一个(如果它们有通用引脚)。
此外,iPhone/Android设备将无法区分它连接到我的哪个设备(两个设备之间的唯一区别是BD地址)。
对于我的设计,我希望用户能够将他的手机连接到自己的设备,忽略同一附近的其他用户的设备。我也不希望其他用户的手机能够连接到彼此的设备,只有他们先前已经建立了“绑定”(而不是债券,这是使用上面讨论的引脚的判配/加密的过程)))。
所以,请告诉我,我错了。如果我错了,请告诉我,如果我没有错,以下是一个简单但非常有价值的参考项目的大纲,我认为它将帮助任何打算使用iPhone/Android作为中心的开发者:
参考项目:按钮 - 按下绑定到外围设备的绑定- 允许任何中央设备启动扫描的项目,其中外设响应广告。参考项目有一个自定义的特征,在它的广告中,包含一些外围运行时数据(一个字节就足够了,最初的btye可能是0x00)。开发人员配置他的应用程序,首先打开,扫描特定名称的外设,然后查看自定义特征中的数据(不连接)。- 开发人员将其应用程序配置为拒绝连接到任何外围设备的所有BD地址,直到该特性中的数据读取特定值(例如0xFF)。- 当按下设备上的按钮时,参考项目配置为将自定义特性的值更改为0xFF 10秒钟。- 开发人员将其应用程序配置为读取并存储外围设备的BD地址,该地址显示0xFF的自定义特性。- 开发人员配置他的应用程序,以便在启动时,它读取存储的BD地址列表,此后允许连接到与存储的BD地址匹配的外围设备。
问题现在解决了。授予,其他应用程序开发人员可能会编写他的应用程序来连接到任何用户的设备,尽管是自定义特征的值。所以这不是一个'安全'连接。但如果我们不需要它,我们所需要的只是在同一区域运行的多个外围/中央设备,这会很好地解决问题。甚至更好,它使用户可以将他的iPhone / Android连接到多个外围设备,只要用户先前在每个外设上执行了“绑定”。
我们可以随时稍后将App / Wipheral配置为上述操作,但也执行键,此时连接现在安全。
最后,所有真正需要的是开发人员写下自定义特征,以执行上述我所描述的,这是我现在正在执行的过程中。如果我难以这样做,请告诉我。如果其他人看到这个想法的价值,并希望对话框放在一起参考项目,请在此处评论。我打赌他们的一个人可以在不到一个小时内完成这一点。对我来说,我会看到它是怎么回事....
干杯,klim
你好。具有不同广告数据的解决方案对于“可连接”设备和仅粘合设备的设备应该连接到实际上非常常见。这可以以任何方式实现,使得广告数据是不同的。例如,宣传包含0或1的服务数据项。我猜使用“制造商数据”类型更常见。
我认为蓝牙4.0标准并没有真正考虑过。存在“定向广告”解决方案,该解决方案应该仅用于通过广告分组中的中央的BD地址连接到已知的中心。但是,自从Android和iOS使用“可解析的私人地址”以来,它今天非常无用。这意味着您首先必须在外设可以解决地址之前建立连接,并查看它是否是已知的。蓝牙4.2将改变此功能。
我不明白你的意思是,为了拥有与中央的“独占”连接,您需要在编译时才知道中央的BD地址(因为它们使用随机可解析地址也没有意义)。并且关于与PIN配对,由DA14580的程序员达到应该配置它。请检查“RW-BLE-GAP-IS”和蓝牙规范。首先,IO功能设置定义如果引脚应在中央侧或外围侧输入。另一个应该示出使用显示器的随机引脚,或者用户可以在某种程度上找到大约一些设备的硬编码。如果要为每个设备具有不同的硬编码引脚,则可以例如在OTP标题中使用某些字段来存储此信息。这样,您可以使用相同的应用程序代码。
嗨Joacimwe,
谢谢您的回复和您的洞察力,我在论坛中看到了您这里的许多评论和帖子,您将我击败为稳定的信息来源。
我还没有阅读所有不同的RW-BLE-XX API文档,这是一个令人生畏的过程。而且我确信对分层和抽象的更全面的了解对我来说是很大的好处,并协助成为一个BLE设备开发人员。
事实是我是一个孤独的开发人员,因此我是任务在我们的设备上开发从硬件设计(第4个Gen Prototyp)对我们的BLE设备的应用程序级开发(在IOS和Android中的第四个原型)上开发所有内容目前,胜利遵循)。
所以我按时缩短了我可以通过BLE API文档读取阅读。这就是为什么我看过这里的论坛的洞察力,以及为什么我在对话对话的非常有用的参考设计上放置这样的价值。这也是为什么我在上面的评论中问我是否错误或遗漏了一些东西,我很可能是我。如果是这样,在我看来,这是一个完美的校正所发布的地方,因为我没有能够找到一个我认为的解决方案是一个非常普遍的目标。
我将尝试更好地解释我对一个中央的“独家”的连接。我传达了我写到上面的对话的本质,他们足以向我发给我的白皮书,就白名单的主题发给我。我读过这篇论文(我现在没有和我在一起),我的白皮书的外卖就是白名单策略只能用来仅允许具有已知的BD地址的设备来连接,而必须知道该BD地址编程时间并将其放入OTP中的白名单。所以对我来说,白名单策略不起作用来限制与单个设备的连接。
写一个随机数PIN到OTP对我来说不起作用两个原因,一个原因,即我从外部闪存启动而不是没有编程OTP,更重要的是,我需要找到一种传达该PIN的方法来传达该PIN的方法最终用户如此,当他们第一次设置设备时,他们就会武装这些信息。将销钉压在设备上或在某种类型的文档中包括它伴随设备似乎充满了潜在问题;如果用户失去了纸张怎么办?如何在设备的壳体上启动正确的销钉?但也许我错过了一个明显的解决方案......
所以对我来说,最简单的解决方案是我上面描述的,你足以确认的是一个常见的要求 - “对于”可连接“设备的不同的广告数据以及只有粘合设备应该连接的设备事实上很常见。“这就是我希望听到这是一个常见的足够要求,这对话将看到他们的开发人员一个小时或可能更少地进入参考设计中的意义,这是在外围设备上的按钮时简单地改变广告数据被按下。
再次感谢您对Joacimwe的投入,我希望我所要求的不是您和Dialog团队认为非常琐碎且不值得进一步关注的事情。我已经尝试在这个论坛上帮助别人,无论何时我的位置,我感谢你的时间和帮助,并将继续传递下去。
嗨了。我不幸的是没有直接代码,而是一些提示。
关于白名单。存储OTP中的地址不是必须的。如果在rw-ble-bap中查看 - 是,GAPM_WHITE_LIST_MGT_CMD中有一些API,用于从白色列表中添加/删除设备。出于某种原因,您仍然只有3个设备......但是由于大多数手机使用可解析随机地址,因此此解决方案非常毫无价值。
快要失去希望的时候如果你想阻止中央、连接到你,你需要使用GAPM_RESOLV_ADDR_CMD功能,在响应给你一个GAPM_ADDR_SOLVED_IND消息如果一个已知的中央连接(除非有人恶搞的地址所以你应该还需要确定你想要加密安全性),或者状态为GAP_ERR_NOT_FOUND的GAPM_CMP_EVT,如果是,可以断开链接。
我不知道你的用例,但似乎你真的不需要安全吗?
无论如何,要更改广告数据,请查看app_adv_func,如果您使用的是sdk3。在SDK5中,在BLE_APP_PROFILE示例中签出user_profile.c。然后,只要你想要重新启动广告的问题就是一个问题。
感谢提示,我将探讨更改广告数据的方法,似乎是我问题的最佳解决方案。
欢呼,克林
嗨马特拉德,
请参阅第5.6章中的差距界面纸“RW-BLE-GAP-IS”,有关粘合的详细说明。
的问候!
PY
如果我将中央设备的BD地址添加到白名单,我如何重新连接到这个中心设备?可以与否,哪个API?
作为对其他人的说明,我仔细阅读了文档/论坛,查看了参考项目,通读了白皮书,甚至直接联系了Dialog。经过这一切,我发现了一个关键点,我认为他们没有沟通。如果我错了,这里是纠正我的好地方。
我断言,如果您希望在iPhone或Android设备之间拥有独占连接,则该设备的BD地址必须在编译时以(并添加到白名单)。
也就是说,您可以使用需要一个需要PIN的粘合过程。至少对我来说,该问题是针对外围设备的每个实例都是相同的。
因此,如果在同一房间中有5个设备,任何带我的应用程序的人都可以连接到5个设备中的任何一个(如果它们有通用引脚)。
此外,iPhone/Android设备将无法区分它连接到我的哪个设备(两个设备之间的唯一区别是BD地址)。
对于我的设计,我希望用户能够将他的手机连接到自己的设备,忽略同一附近的其他用户的设备。我也不希望其他用户的手机能够连接到彼此的设备,只有他们先前已经建立了“绑定”(而不是债券,这是使用上面讨论的引脚的判配/加密的过程)))。
所以,请告诉我,我错了。如果我错了,请告诉我,如果我没有错,以下是一个简单但非常有价值的参考项目的大纲,我认为它将帮助任何打算使用iPhone/Android作为中心的开发者:
参考项目:按钮 - 按下绑定到外围设备的绑定
- 允许任何中央设备启动扫描的项目,其中外设响应广告。
参考项目有一个自定义的特征,在它的广告中,包含一些外围运行时数据(一个字节就足够了,最初的btye可能是0x00)。
开发人员配置他的应用程序,首先打开,扫描特定名称的外设,然后查看自定义特征中的数据(不连接)。
- 开发人员将其应用程序配置为拒绝连接到任何外围设备的所有BD地址,直到该特性中的数据读取特定值(例如0xFF)。
- 当按下设备上的按钮时,参考项目配置为将自定义特性的值更改为0xFF 10秒钟。
- 开发人员将其应用程序配置为读取并存储外围设备的BD地址,该地址显示0xFF的自定义特性。
- 开发人员配置他的应用程序,以便在启动时,它读取存储的BD地址列表,此后允许连接到与存储的BD地址匹配的外围设备。
问题现在解决了。授予,其他应用程序开发人员可能会编写他的应用程序来连接到任何用户的设备,尽管是自定义特征的值。所以这不是一个'安全'连接。但如果我们不需要它,我们所需要的只是在同一区域运行的多个外围/中央设备,这会很好地解决问题。甚至更好,它使用户可以将他的iPhone / Android连接到多个外围设备,只要用户先前在每个外设上执行了“绑定”。
我们可以随时稍后将App / Wipheral配置为上述操作,但也执行键,此时连接现在安全。
最后,所有真正需要的是开发人员写下自定义特征,以执行上述我所描述的,这是我现在正在执行的过程中。如果我难以这样做,请告诉我。如果其他人看到这个想法的价值,并希望对话框放在一起参考项目,请在此处评论。我打赌他们的一个人可以在不到一个小时内完成这一点。对我来说,我会看到它是怎么回事....
干杯,klim
你好。具有不同广告数据的解决方案对于“可连接”设备和仅粘合设备的设备应该连接到实际上非常常见。这可以以任何方式实现,使得广告数据是不同的。例如,宣传包含0或1的服务数据项。我猜使用“制造商数据”类型更常见。
我认为蓝牙4.0标准并没有真正考虑过。存在“定向广告”解决方案,该解决方案应该仅用于通过广告分组中的中央的BD地址连接到已知的中心。但是,自从Android和iOS使用“可解析的私人地址”以来,它今天非常无用。这意味着您首先必须在外设可以解决地址之前建立连接,并查看它是否是已知的。蓝牙4.2将改变此功能。
我不明白你的意思是,为了拥有与中央的“独占”连接,您需要在编译时才知道中央的BD地址(因为它们使用随机可解析地址也没有意义)。并且关于与PIN配对,由DA14580的程序员达到应该配置它。请检查“RW-BLE-GAP-IS”和蓝牙规范。首先,IO功能设置定义如果引脚应在中央侧或外围侧输入。另一个应该示出使用显示器的随机引脚,或者用户可以在某种程度上找到大约一些设备的硬编码。如果要为每个设备具有不同的硬编码引脚,则可以例如在OTP标题中使用某些字段来存储此信息。这样,您可以使用相同的应用程序代码。
嗨Joacimwe,
谢谢您的回复和您的洞察力,我在论坛中看到了您这里的许多评论和帖子,您将我击败为稳定的信息来源。
我还没有阅读所有不同的RW-BLE-XX API文档,这是一个令人生畏的过程。而且我确信对分层和抽象的更全面的了解对我来说是很大的好处,并协助成为一个BLE设备开发人员。
事实是我是一个孤独的开发人员,因此我是任务在我们的设备上开发从硬件设计(第4个Gen Prototyp)对我们的BLE设备的应用程序级开发(在IOS和Android中的第四个原型)上开发所有内容目前,胜利遵循)。
所以我按时缩短了我可以通过BLE API文档读取阅读。这就是为什么我看过这里的论坛的洞察力,以及为什么我在对话对话的非常有用的参考设计上放置这样的价值。这也是为什么我在上面的评论中问我是否错误或遗漏了一些东西,我很可能是我。如果是这样,在我看来,这是一个完美的校正所发布的地方,因为我没有能够找到一个我认为的解决方案是一个非常普遍的目标。
我将尝试更好地解释我对一个中央的“独家”的连接。我传达了我写到上面的对话的本质,他们足以向我发给我的白皮书,就白名单的主题发给我。我读过这篇论文(我现在没有和我在一起),我的白皮书的外卖就是白名单策略只能用来仅允许具有已知的BD地址的设备来连接,而必须知道该BD地址编程时间并将其放入OTP中的白名单。所以对我来说,白名单策略不起作用来限制与单个设备的连接。
写一个随机数PIN到OTP对我来说不起作用两个原因,一个原因,即我从外部闪存启动而不是没有编程OTP,更重要的是,我需要找到一种传达该PIN的方法来传达该PIN的方法最终用户如此,当他们第一次设置设备时,他们就会武装这些信息。将销钉压在设备上或在某种类型的文档中包括它伴随设备似乎充满了潜在问题;如果用户失去了纸张怎么办?如何在设备的壳体上启动正确的销钉?但也许我错过了一个明显的解决方案......
所以对我来说,最简单的解决方案是我上面描述的,你足以确认的是一个常见的要求 - “对于”可连接“设备的不同的广告数据以及只有粘合设备应该连接的设备事实上很常见。“这就是我希望听到这是一个常见的足够要求,这对话将看到他们的开发人员一个小时或可能更少地进入参考设计中的意义,这是在外围设备上的按钮时简单地改变广告数据被按下。
再次感谢您对Joacimwe的投入,我希望我所要求的不是您和Dialog团队认为非常琐碎且不值得进一步关注的事情。我已经尝试在这个论坛上帮助别人,无论何时我的位置,我感谢你的时间和帮助,并将继续传递下去。
干杯,klim
嗨了。我不幸的是没有直接代码,而是一些提示。
关于白名单。存储OTP中的地址不是必须的。如果在rw-ble-bap中查看 - 是,GAPM_WHITE_LIST_MGT_CMD中有一些API,用于从白色列表中添加/删除设备。出于某种原因,您仍然只有3个设备......但是由于大多数手机使用可解析随机地址,因此此解决方案非常毫无价值。
快要失去希望的时候如果你想阻止中央、连接到你,你需要使用GAPM_RESOLV_ADDR_CMD功能,在响应给你一个GAPM_ADDR_SOLVED_IND消息如果一个已知的中央连接(除非有人恶搞的地址所以你应该还需要确定你想要加密安全性),或者状态为GAP_ERR_NOT_FOUND的GAPM_CMP_EVT,如果是,可以断开链接。
我不知道你的用例,但似乎你真的不需要安全吗?
无论如何,要更改广告数据,请查看app_adv_func,如果您使用的是sdk3。在SDK5中,在BLE_APP_PROFILE示例中签出user_profile.c。
然后,只要你想要重新启动广告的问题就是一个问题。
嗨Joacimwe,
感谢提示,我将探讨更改广告数据的方法,似乎是我问题的最佳解决方案。
欢呼,克林