【问题标题】:Errors when running Bluetooth related code on hp laptop在 hp 笔记本电脑上运行蓝牙相关代码时出错
【发布时间】:2015-01-17 16:44:46
【问题描述】:

我在尝试在我的 hp 笔记本电脑(probook 4320s,windows 7 64 位)上玩蓝牙时遇到了一些麻烦。我猜这是驱动程序不兼容的结果,但我自己无法弄清楚。

我试图让它在 python 和 c# 上工作。在 Python 上,使用 pybluez:

import bluetooth
print bluetooth.discover_devices()

在 C# 上,使用 32feet 库:

BluetoothClient bc = new BluetoothClient();
BluetoothDeviceInfo[] array = bc.DiscoverDevices();

我将描述到目前为止我自己执行的步骤以解决这个问题,以便你们可以更清楚地了解:

  1. 确保蓝牙可以在笔记本电脑上运行 - 实际上它能够在“我的蓝牙”笔记本电脑中定位设备。
  2. 运行 python 代码,得到 IOError: No Bluetooth adapter detected。
  3. 运行 C# 代码,得到 PlatformNotSupportedException。
  4. 发现我当前的驱动程序 Ratlink Motoroal BC4 蓝牙 3.0+HS 适配器出现在设备管理器的蓝牙无线电下可能不支持这些操作,所以我选择在 Windows 设备管理器上更新驱动程序并选择“通用蓝牙适配器”。此时我在设备管理器的蓝牙无线电选项卡下同时拥有“通用蓝牙适配器”和“微软蓝牙枚举器”。
  5. 运行python代码,同样的错误。
  6. 运行 c# 代码,没有异常,但是没有找到设备。 DiscoverDevices 的结果始终为空。
  7. 也无法在笔记本电脑的“我的蓝牙”文件夹中找到蓝牙设备。收到“蓝牙无线电设备不可用”。
  8. 随机卸载安装后,不小心在设备管理器中出现“蓝牙设备”项目符号和蓝牙无线电项目符号。第一个包含摩托罗拉驱动程序,另一个包含 Microsoft 蓝牙枚举器。与 (5) 和 (6) 相同的错误仍然存​​在。

我一直在 hp 网站上摆弄不同的驱动程序,但没有任何运气。此外,该代码适用于两台非 hp 笔记本电脑,但在另一台 hp 笔记本电脑(凉亭类型)上失败。我注意到其他笔记本电脑只有蓝牙无线电子弹,其中包含本机蓝牙设备和 Microsoft 枚举器设备。

在惠普笔记本电脑上进行蓝牙编程有希望吗?我做错了什么?

提前谢谢大家

【问题讨论】:

    标签: c# python bluetooth 32feet


    【解决方案1】:

    首先,您应该知道有几个不同的Bluetooth stacks。 例如,有时在带有 Toshiba 堆栈的计算机上完美运行的代码无法在带有 Microsoft 堆栈的计算机上正常运行。

    其次,我建议你使用32Feet library

    InTheHand.Net.Sockets.BluetoothClient _BTClient = new InTheHand.Net.Sockets.BluetoothClient();
    _BTClient.InquiryLength = new TimeSpan(0, 0, 5);
    InTheHand.Net.Sockets.BluetoothDeviceInfo[] _clientDevices = _BTClient.DiscoverDevices(20 ,authenticated, remembered, unknown);
    _BTClient.Dispose();
    _BTClient = null;
    

    我正在使用不是免费使用的BTFramework。 祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 2012-06-30
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多