当前位置: 首页 > 知识库问答 >
问题:

与蓝牙设备配对与连接到蓝牙设备之间有什么区别?

司空凌
2023-03-14

我正在开发一款连接蓝牙物联网设备的Flitter应用程序。我正在使用Flatter_blue图书馆。该库允许扫描附近的蓝牙设备。基于该扫描,您可以“连接”到设备。没有与设备配对的概念。

根据我以前在手机上使用蓝牙的经验(连接到我的汽车和蓝牙扬声器时),我必须在Android操作系统上配对设备。

我很好奇,从高层次上讲,配对设备和连接设备之间有什么区别。此外,更具体地说,在操作系统内配对设备与扫描并从应用程序连接到设备之间有什么区别?

共有2个答案

卢深
2023-03-14

在较高的级别上,您将始终使用“连接”连接到设备,但您可能必须首先“配对”设备。蓝牙配对是一个安全过程。一个一次性的配置步骤,为两台设备配对配备一系列共享安全密钥,允许对通信进行加密。

蓝牙低能耗设备可以有三个安全级别,最低级别不需要配对,然后两个级别需要配对。

选择使用无配对的设备提供了最大的简单性,但显然没有安全性。通信不加密,任何其他设备都可以连接。

可以使用的两种配对方法在连接时提供相同级别的安全性。然而,在配对过程中,两种方法中的一种比另一种更安全。密钥配对是两个过程中最安全的,需要输入6位数字。这提供了针对中间机器(MITM)攻击的保护。Just Works配对并不那么安全,但它不需要您输入任何内容,因此使用非常简单。

一旦建立了配对,就可以进行连接,而无需每次都建立配对。

有关配对选项的详细说明,请访问:https://www.bluetooth.com/blog/bluetooth-pairing-part-1-pairing-feature-exchange/

邴景山
2023-03-14

根据蓝牙核心规范第5.2版第1卷A部分第5.1章,配对定义为:

创建一个或多个共享密钥的过程

密钥本身不是共享的,而是使用称为Diffie-Hellman密钥交换的过程建立的。这意味着只有在连接加密时才需要配对。如果你连接到一个需要对其特征之一采取安全措施的设备,Android将自动向你的应用程序用户提示配对请求

你可能听说过的另一个术语是粘合,它的定义是:

存储配对期间创建的密钥以用于后续连接的行为,以便形成可信设备对

键合允许重新连接您的设备,而无需另一个配对过程,因为密钥之前已经建立。

当使用蓝牙低能量(BLE)配对时,不需要在操作系统内手动进行设备配对。你可以随时扫描一个设备,广告它的存在。正如我之前所说:如果需要,操作系统会自动处理配对。

 类似资料:
  • 连接和断开蓝牙设备在Windows Phone/Desktop 8.1上产生了各种结果。我一直在使用命名空间和我尝试连接具有不同蓝牙版本/类的几个设备。 版本1.2(1级和2级) 每当我尝试连接到2.0或2.1设备时,都会出现问题。第一次尝试连接到每个设备时,一切都会顺利,连接也会打开。当我随后关闭连接并重新连接设备时,问题就开始了。在重新连接期间,连接将永远不会打开,调试器将抛出一个系统。例外:

  • 连接设备 接口说明 用于连接 扫描出来的蓝牙设备。 参数说明 字段 类型 必须? 说明 device RKBLEDevice 是 蓝牙设备 示例代码 Swift: RokidMobileSDK.binder.connect(device: RKBLEDevice) Objc: [RokidMobileSDK.binder connect:device]; 断开设备 接口说明 用于断开已经连接的

  • 连接蓝牙设备 接口说明 接口需传入蓝牙名称(蓝牙address重启后会变) 参数说明 字段 类型 必须? 说明 name String 是 设备名称 举个大栗子 RokidMobileSDK.binder.connectBT(name, new IBTConnectCallBack() { @Override public void onConnectSucceed(BTDevic

  • 我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。

  • 我在连接时遇到问题。起初它有效,而不是不起作用,除非我取消配对设备。我已经得到了所有可能发生的异常,套接字关闭,管道关闭,连接被拒绝,端口已经在使用中,等等。 我知道android 4.2之前版本的蓝牙存在问题(https://code.google.com/p/android/issues/detail?id=37725). 我在连接这些设备时遇到问题的设备: Htc one(Android4.

  • 我想连接第三方蓝牙设备到我的Android Wear手表(三星Gear Live)。我试图找到留档如何做到这一点,但我没有任何运气。所有的搜索,我似乎都认为我想连接到手机上。 有谁知道一个很好的例子来演示如何将蓝牙心率监视器(或其他设备)连接到Android Wear,以便我在手机不存在时保存历史记录?这可能吗?它是否与从手机/平板电脑上执行相同的协议?