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

无头UWP蓝牙配对,无需用户pin输入

裴学
2023-03-14

我目前正在构建一个运行在Windows 10 IoT Core上的无头UWP应用程序。我需要能够通过蓝牙(RFCOMM)将移动设备连接到信息亭以获取数据。我需要能够从移动设备启动配对。

我已经尝试了所有UWP蓝牙示例应用程序,但主要是尝试设备枚举和配对C#示例-特别是场景9-自定义设备配对。我可以使用引脚成功配对到头部UWP应用程序,但我无法成功配对到无头UWP应用程序-当我尝试启动配对时,我要么得到“失败”结果,要么得到“身份验证超时”结果。

如何在没有UI的情况下与无头UWP应用程序配对以检索pin?我可以接受UWP应用程序在每次配对时都有一个硬编码的pin而不是一个随机的pin,但我不确定这是否可行?

共有1个答案

阎功
2023-03-14

您可以尝试以下代码。当有传入的配对请求时,将调用handlerUpdater。

            handlerUpdated = new TypedEventHandler<DeviceWatcher, DeviceInformationUpdate>(async (watcher, deviceInfoUpdate) =>
            {
                // Since we have the collection databound to a UI element, we need to update the collection on the UI thread.
                await MainPage.Current.UIThreadDispatcher.RunAsync(CoreDispatcherPriority.Low, async () =>
                {
                    // Find the corresponding updated DeviceInformation in the collection and pass the update object
                    // to the Update method of the existing DeviceInformation. This automatically updates the object
                    // for us.
                    foreach (BluetoothDeviceInformationDisplay deviceInfoDisp in bluetoothDeviceObservableCollection)
                    {
                        if (deviceInfoDisp.Id == deviceInfoUpdate.Id)
                        {
                            if (deviceInfoDisp.DeviceInformation.Pairing.CanPair)
                            {
                                await deviceInfoDisp.DeviceInformation.Pairing.Custom.PairAsync(DevicePairingKinds.ConfirmOnly);
                            }

                            deviceInfoDisp.Update(deviceInfoUpdate);
                            break;
                        }
                    }
                });
            });
            deviceWatcher.Updated += handlerUpdated;
 类似资料:
  • 我正在Visual Studio 2015中用C语言为运行Windows IoT Core的Raspberry PI 2设备开发。 对于我的应用程序,我需要配对和取消配对蓝牙设备 我可以获得配对/未配对/所有蓝牙设备的列表吗<类似于内置管理网站的蓝牙页面(http://[设备IP]:8080/Bluetooth.htm) 我找到了一个例子(https://github.com/Microsoft/

  • 我在Android4(ICS)上有个问题,我的蓝牙应用程序连接到一个串行设备上,在Android3上就像一个魅力。 然而,当使用Android4时,每次我连接到(已经配对的)设备时,它都会显示“配对”对话框。 用户必须一遍又一遍地重新输入相同的pin。在Android4中有什么方法可以抑制这种行为吗?是新的虫子吗?附近有工作吗?BluetoothDevice是否需要某种方式来适应Android4?

  • 我在我的电脑上开发了一个带有python的HIDServer(蓝牙键盘)。有2个服务器套接字(psm 0x11和0x13)正在侦听连接。当我尝试将IPhone连接到计算机时,我收到了一个传入连接(如hcidump中所示),但不知何故,连接被远程主机终止。我的套接字永远无法接受客户端连接。你能帮帮我吗? hciDumps: 启动我的程序后: HCI事件:命令完成(0x0e)plen 4写入扩展查询响

  • 我正在寻找一种方法来进行蓝牙设备扫描并获取所有可以根据距离发现的设备。如果可能,我可以在不配对的情况下将其存档吗? 我假设iBeacons使用类似的逻辑,其中应用程序可以在不与信标配对的情况下获得与信标的距离。

  • 本文向大家介绍蓝牙无线电层,包括了蓝牙无线电层的使用技巧和注意事项,需要的朋友参考一下 下图所示的无线电层的位置- 蓝牙无线电层的特征 蓝牙无线电层规定了使用蓝牙技术进行通信的蓝牙收发器设备的要求。 它定义了空中接口,频带,跳频规范和调制技术。 该层负责将数据位从主设备移至从设备,反之亦然。 这是一种工作在10米范围内的低功率系统。 它与IEEE 802.11网络或WiFi一样,在未经许可的2.4

  • 嗨,我要开发一个应用程序,所以我有一个设备(服务器)与3个客户端。我做了所有的验证,打开蓝牙,找到设备,所有的工作都很好。但当我要连接一个设备时,我不知道会发生什么。 我正在使用下一个代码,当我单击一个我想连接它的设备时。我只有我的应用程序在母设备中。 这里我有一个问题,如果它没有配对会发生什么?如果我尝试连接,它会自动配对吗? 我的UUID是:“00001101-0000-1000-8000-0