0

我认为这是一个相当普遍的问题,但在网上搜索我真的找不到那么多信息。我有一个带有蓝牙芯片的嵌入式系统,我经常用它来连接另一个嵌入式设备。这种连接非常健壮,永远不会失败。

然而嵌入式系统也可以通过虚拟串口连接到windows。我编写了一个软件来处理使用 32Foot inthehand 蓝牙库的连接。它在某些计算机(包括我自己的)上非常一致,但在其他计算机上完全失败或非常不稳定。其中一个实际上是一个相同的系统(相同的硬件/相同版本的 Windows)

在蓝牙配对、创建虚拟 COM 端口等方面,我应该在我的软件中特别关注什么,以提高不同计算机/Windows 版本的可靠性。

谢谢

4

1 回答 1

1

我编写了在 Windows 上运行并使用 32Foot 库通过虚拟串行端口连接到嵌入式设备的软件。我遇到过与您类似的问题,根据经验,主要问题是:

Windows 上蓝牙无线电之间的冲突: 是否安装/连接了多个蓝牙无线电?我发现如果在 Windows 机器上同时插入了外部蓝牙加密狗,并且打开了内部蓝牙,它将无法工作。

Widcomm/Broadcom 和 BlueSoleil 堆栈: 这些不支持身份验证,并且 Widcomm/Broadcom 不支持设置 pin。您可以检查是否BluetoothRadio.PrimaryRadio不为空,如果是则找出SoftwareManufacturer蓝牙无线电的。如果Manufacturer枚举是BluesoleilWidcomm或者Broadcom只是不使用身份验证或SetPin在初始化BluetoothClient.

东芝堆栈: 根本不支持

支持的蓝牙无线电和堆栈当前是否可用?: 您可以处理PlatformNotSupportedException会告诉您机器上当前是否没有可用的支持蓝牙堆栈。但是,这不会让您知道是否连接了多个收音机。

最后,根据经验,内部蓝牙芯片并不总是有很好的范围,干扰确实会影响连接。我有一个外部蓝牙加密狗更好的运气。

于 2015-08-26T10:42:36.057 回答