- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,低功耗蓝牙通信可以在配对或不配对的情况下建立。这是在移动开发的背景下,更具体地说是 Android,但我相信 iOS 或多或少是相同的。
是否存在人们会选择其中之一而不是另一个的情况?目的是什么?从技术上讲,什么是配对通信,什么是非配对通信?
我已经涉足了一些差异,甚至制作了一些与 BLE 相关的仅演示应用程序,但我还没有找到明确的解释,看看我所做的是否实际上被认为是配对的。
编辑:
我问这个问题的原因是我相信我希望加密未配对的 BLE 连接。在某些情况下,本质上是我的主要用例,移动设备可能想要在一天中的不同时间随机连接到多个不同的外围设备,并且物理上接受配对请求的过程似乎是不必要的并且相当耗时。我所说的“随机”是指,如果我的公寓周围散布着十几个,并且我个人在不亲自检查的情况下不知道到底是哪一个,那么我就路过其中一个。我不知道第一次走进房间要做什么,并且必须手动配对每个设备,如果我有 100 个设备,那将是疯狂的。请注意,这些设备不一定必须同时连接,但可以。另请注意,据我所知,这通常不是典型外围设备到移动用例的主要用例。
最佳答案
以下是一些差异:
如果您绑定(bind)设备,链接将被加密,因此变得更加安全。因此,“配对”通信基本上意味着链接是加密的,而且设备“知道”它正在对话的内容。
远程设备还会学习您手机的 IRK(身份解析 key ),稍后可用于识别手机。默认情况下,手机每 15 分钟左右轮换一次蓝牙设备地址。如果不知道 IRK,外设就无法识别手机。
如果设备绑定(bind),那么好处是远程设备的 GATT 数据库会被缓存,这意味着下次连接时,您不必等待很长时间才能完成服务发现。
在 Android 上,由于 API 缺少“地址类型”位(公共(public)/随机地址),因此在不进行首次扫描的情况下通过蓝牙设备地址进行连接会被破坏。如果 Android“猜测”错误,您将连接到错误的设备并因此失败。但是,如果设备已绑定(bind),则会根据蓝牙设备地址存储和查找地址类型,这使其按预期工作。因此,如果您计划在启动时在后台自动连接到外围设备,那么绑定(bind)设备是个好主意。
一个小细节是客户端特征配置描述符值也应该由 GATT 服务器存储,并在绑定(bind)设备重新连接后恢复,因此不必重写描述符值。
某些蓝牙配置文件需要绑定(bind),例如 HID(至少在 iOS 和 Android 上)。
关于低功耗蓝牙配对与未配对通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55230324/
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 卷积神经网络(CNN)通过从原始数据中自动学习层次特征表示,在图像识别任务中取得了巨大成功。虽然
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 血压的测量和预测是心脏病患者和有心脏问题的人的一个重要条件,应该保持持续的控制。在这项研究中,基
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 心血管疾病是最严重的死亡原因之一,每年在全世界造成严重的生命损失。持续监测血压似乎是最可行的选择
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦MCX系列MCU的新品MCXN947 。 自 2015 年恩智浦和飞思卡尔合并成新恩智浦之后,关于它们各
我正在开发一个应用程序,该应用程序接受语音输入,并将该输入与 list 中的已知项目进行匹配。 list 中的每个项目都有一个别名列表,以便长标题的项目可以与较短的名称相匹配。 例如: class P
两个双模蓝牙设备连接时,必须使用EDR,不能并联使用LE。然后必须通过 EDR 链路传输 BT 低功耗 GATT 配置文件。这是我从规范中读到的内容。 但是 iOS EDR 堆栈(在没有 MFi 许可
我正在尝试为 S3 开发蓝牙 4.0 应用程序。问题是,手机的行为就像它甚至没有蓝牙 4.0。它不会发现 4.0 设备,并且无法通过 4.0 设备发现。我在手机设置和应用程序中都尝试过,使用 Broa
我正在寻找一种与 Adafruit bluefruit LE(nRF8001 芯片组)板进行交互的方法,在 Windows 桌面应用程序中使用 c#(据我所知,我无法使用 Windows.Device
我是一名优秀的程序员,十分优秀!