设备之间的蓝牙一致性

时间:2015-07-01 09:47:24

标签: c# bluetooth embedded 32feet

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

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

Windows上蓝牙无线电之间的冲突: 是否安装了多个蓝牙无线电/连接?我发现,如果在Windows机器上插入了外部蓝牙适配器,并且内置蓝牙已打开,则无法正常工作。

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

东芝堆栈: 并非所有

都支持此功能

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

最后,根据经验,内部蓝牙芯片并不总是具有良好的范围,干扰确实会影响连接。我有一个外部蓝牙适配器的好运。