问题标签 [pairing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2535 浏览

android - BLE 与 Android 5.0:如何让设备充当中央和服务器?

我正在使用两个 Android 5.0 设备通过低功耗蓝牙进行通信,但我不想:

  • 设备 1充当Central 和 Server

  • 设备 2充当Peripheral 和 Client


这是我想要实现的行为:

1)设备2开始做广告(外围角色)。

2)设备1开始扫描(中心角色),通过ScanCallback的onScanResult方法获取广告设备(BluetoothDevice对象)。

3)我现在希望通知广告设备(设备 2)它已被扫描,并且能够获取与设备 1 关联的蓝牙设备。

4) 设备 1 有一个 BluetoothGattServer 实例。设备 2 现在将在设备 1 上调用 connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback) 以获取 BluetoothGatt 的实例。

5)最后,Device 1是Server,Device 2是Client。


到目前为止,我发现在第 2 步中,一旦设备 1 拥有设备 2 的蓝牙设备,它就只能像第 4 步中那样使用 connectGatt 作为客户端连接。

我可能能够使用设备 1 中定义的BluetoothGattServer,并调用:gattServer.connect(BluetoothDevice device, boolean autoConnect)设备为设备 2。

但是如何通知设备 2 已连接?

如果我无法在 BluetoothDevice 上调用 connectGatt(Context, boolean, BluetoothGattCallback) ,我将如何在设备 2 获取BluetoothGatt实例

预先感谢您的帮助 !

一些文档:

蓝牙GattServer

蓝牙设备

0 投票
1 回答
822 浏览

android - Android无需配对请求即可将所有手机与同一个应用程序连接起来

我正在尝试构建一个应用程序来做到这一点,我必须通过蓝牙与所有具有该应用程序的手机配对,无需任何请求或密码,通过代码。我读到如果我知道设备的蓝牙名称,我可以进行“友好连接”。所以我这样做是为了更改名称:

现在我可以查找所有在蓝牙名称上具有“AppName”的设备并进行“友好连接”,我如何进行“友好连接”(通过蓝牙与所有具有该应用程序的手机配对,无需任何请求或密码,通过代码,带有蓝牙名称)?

0 投票
1 回答
561 浏览

android - 自动高效连接蓝牙配对设备

我一直在寻找连接配对蓝牙设备的最佳方式,当它回到范围内时,到目前为止,我有一个后台服务循环遍历所有配对设备并尝试每 10 次连接到它们秒左右。

我想知道是否有更好的方法来实现这一点,例如当它回到范围内时接收一条消息,这样我的设备就不会不断尝试连接到设备并耗尽电池寿命。我发现 ACTION_FOUND 对于配对的设备不能始终如一地工作,但也许我缺少一些东西。

0 投票
3 回答
5200 浏览

android - 以编程方式绑定到 Android 上的 BLE 设备

我正在编写一个 Android 应用程序,我想在其中以编程方式绑定到自定义 BLE 设备。我有手动绑定工作,其中用户使用标准的 Android 蓝牙配对对话框输入 PIN,但我无法找到有关如何以编程方式自动绑定 BLE 设备的任何信息,而无需用户干预。那可能吗?如果有,流程是什么?

0 投票
2 回答
18490 浏览

android - Android 蓝牙 - 配对与连接,有什么区别?

安卓菜鸟在这里!

两个安卓设备(智能手机)“配对”和“连接”时有区别吗?如果是这样,将数据从一个传输到另一个有什么区别?

0 投票
2 回答
2417 浏览

ios - HomeKit:“添加附件时出错,操作无法完成”和“添加附件时出错,操作无法完成”

编辑:我收到以下错误代码:

添加附件时出错 操作无法完成。(HMErrorDomain 错误 2。)

和:

添加配件时出错无法开始与配件配对 [name = xxxxx, providedName = xxxxx, uuid = xxxxx-xxxxx-xxxxx-xxxxx-xxxxx, identifier = xxxxx, configuration-app-id = (null), home = (null) , 桥 = (null) ]

两者都是数字 2。

不明白为什么在 HMatalog 应用程序上可以正常工作。我的代码有什么问题?它在附件模拟器上运行良好,但在真正的附件上却不行(真正的附件只能通过 HMatalog 应用程序添加,而不是我的自定义应用程序)。


实际行为:

  • 从我的应用程序添加附件(第一次工作)
  • 重置附件,然后重新添加它(不起作用并在下面的屏幕截图中给出配对错误)。但是,如果我使用 Apple 示例HMDatalog ,它确实会给出这些错误,但它确实有效。

在此处输入图像描述

而有时:

在此处输入图像描述

预期成绩:

  • 从我的应用程序中添加配件也没有配对错误

这是我的添加附件代码

0 投票
2 回答
1828 浏览

android - 预配对蓝牙设备

我希望能够预先配对蓝牙设备,以节省用户在使用该应用程序时混淆的步骤。我发现有一项 用于预配对蓝牙设备的系统、方法和装置的专利。

我正在考虑将一组 android 设备与一组嵌入式设备配对,因此在设置 android 设备时,我可以将它与需要与之通信的设备预先配对。我考虑过维护一个可以由应用程序下载和更新的 MAC 地址列表。

有没有办法配对两个设备而不必让它们接触?

0 投票
2 回答
697 浏览

ios - 重新配对 HomeKit 配件

HomeKit 配件模拟器中有一个取消配对按钮。当您取消配对某个配件时,该配件似乎保留在您之前分配的家中的 HomeKit 数据库中。我想添加一个从数据库中删除附件或重新配对附件的过程。

  1. 配件未配对时是否调用任何委托方法?

  2. 有没有办法测试以前发现的配件当前是否配对?我正在寻找与配对特别相关的东西 - 该isReachable属性太通用了。

  3. 有没有办法修复配件?在家里调用该addAccessory方法后,我收到一个错误,因为配件已经在家里 - 只是没有与设备配对。

0 投票
0 回答
4219 浏览

android - 用于控制 Android TV 的 Android 远程控制应用程序(在手机上)

我浏览了 Google TV Pairing 协议并从https://code.google.com/p/google-tv-pairing-protocol/下载了 TV Paring 协议示例代码

我还阅读了有关 Anymote 协议的信息,但意识到它仅适用于过时的 Google TV。同样,适用于 Android 的 Google TV Remote 应用示例代码也仅适用于 Google TV

但我没有找到任何东西可以帮助我为 Android TV 编写远程控制应用程序。现在,我知道我可以使用 TV Pairing 协议与 Android TV 进行配对(同样,没有找到关于协议细节的太多文档,但假设我会从 TV 配对协议源代码中弄清楚)。

我的问题是:在与 Android TV 成功配对后,我如何弄清楚如何与 Android TV 通信以从我的远程应用程序(通过 Wifi/蓝牙)向它发送关键事件?这里使用的协议是什么(不是 Anymote),我在哪里可以找到 proto 详细信息?由于某种原因,它似乎没有公开。

我需要使用 Android TV 用于接收键事件的现有方法将击键发送到 Android TV(例如,Google 最新的“Android TV 遥控器”应用程序能够将键事件发送到 Android TV),否则我会必须处理制作我自己的 Android TV 服务来接收关键事件,然后处理在 Android TV 设备上进行密钥注入,并且密钥注入仅允许使用 INJECT_KEYS 权限,这意味着我必须制作自己的 AOSP 图像和使用系统密钥签署我的 Android TV 服务,以便能够进行密钥注入。

对此的任何帮助表示赞赏。

0 投票
1 回答
853 浏览

ios - 如果删除外围设备中的配对信息,iOS BLE 配对对话框不显示

我正在开发 iOS 应用程序,它作为具有自定义服务和特性的 BLE 中心。

并且外围设备是由某个供应商开发的。

系统需要中央和外围配对才能写入特征值。现在我有一个关于配对的问题。

如果我通过[设置]的[蓝牙]中的[忘记此设备]删除中央(iPhone)端的配对信息,
当我的应用程序在连接后尝试写入特征值并发现服务和特征时,配对序列再次开始。(配对对话显示在我的应用程序上)

顺序如下,

但是,如果我删除外围设备端的配对信息(通过重置设备), 当我的应用程序在连接后尝试写入特征值并发现服务和特征时,配对序列不会开始。

配对对话永远不会显示,并且写入请求的响应不会返回。

顺序如下,

外围设备的供应商说,即使外围设备返回写入错误,iPhone 也不会请求配对

但是我的应用程序(至少 iOS 中的应用程序层)没有收到写入错误的委托 API。

有没有人有同样的问题?如果您能提供一些提示或信息,我将不胜感激。

添加写特征值的代码

在这两种情况下(在中央/外围端删除配对信息后),它发现完全相同的特征并写入相同的数据。

但仅在后一种情况下(在外围端删除),配对序列不会开始。