使用串行端口和Windows 10进行蓝牙通信(spp1.1)

时间:2017-10-24 13:16:16

标签: c# wpf bluetooth rfcomm spp

我在Windows 10和外部设备之间的蓝牙连接有问题,其中制造商(假设CompanyX)使用串行端口配置文件1.1。只有从CompanyX获得的是有关使用虚拟串行端口进行通信的文档。这不是一个好的解决方案,因为Windows 10只有SPP 1.2所以我在配对和连接这个设备时遇到很多问题。

在我的WPF c#应用程序中,我使用Gurux lib。连接设备时我发送和接收数据没有任何问题,但99%的连接尝试端口忙,所以连接时间太长(有时10/15分钟)。 更多... Windows 10有配对问题,它发生设备已连接但没有任何端口名称。我测试了几个装有Windows 10的设备的情况,一个平板电脑也有删除配对设备的问题,即使我在注册表中也是如此。

几天前,CompanyX告诉我,我们可以使用rfcomm将他们的设备连接到Windows 10,并且它(可行)有效,但他们不想说明如何做到这一点。我有MAC地址这个设备,但我不知道rfcomm技术(只知道是客户端/服务器通信)。 在这种情况下,任何人都可以帮助我吗?一些例子或提示?我是c#的新手,所以我需要你的帮助来解决这个问题。

1 个答案:

答案 0 :(得分:1)

我最好的猜测是RFCOMM是指串行端口配置文件SPP,它基本上通过蓝牙模拟串行端口。这不会直接解决你的问题。 实际上,Windows 10在配对其他蓝牙设备方面确实存在很多问题。但是,您可以尝试以下解决方法,这基本上归结为有序重启串口和蓝牙。其中包括:取消配对您机器上的所有蓝牙连接,完全关闭蓝牙,并关闭您怀疑已打开或与连接相关联的任何串行端口。

我不熟悉Gurux,只是它们似乎面向智能电表读卡器。也许你可以在GitHub上找到更好的解决方案,例如:inthehand / 32feet; https://github.com/inthehand/32feet/tree/master/InTheHand.Devices.Bluetooth/InTheHand.Devices.Bluetooth.Win32

的问候, 弗拉德 附: 我会投票给你,但没有足够的声誉。你的问题很好。