Ошибки при запуске кода, связанного с Bluetooth, на ноутбуке hp

У меня возникли проблемы с попыткой поиграть с bluetooth на моем ноутбуке hp (probook 4320s, windows 7 64 бит). Я предполагаю, что это результат несовместимых драйверов, но я просто не могу понять это самостоятельно.

Я пытался заставить это работать на python и С#. На Python с помощью pybluez:

import bluetooth
print bluetooth.discover_devices()

И на С#, используя библиотеку 32feet:

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

Я опишу шаги, которые я выполнил до сих пор, чтобы решить эту проблему, чтобы вы, ребята, могли получить более четкое представление:

  1. Убедился, что bluetooth работает на ноутбуке - действительно, он может находить устройства в ноутбуке «Мой Bluetooth».
  2. Запустил код Python, получил IOError: Bluetooth-адаптер не обнаружен.
  3. Запустил код C#, получил исключение PlatformNotSupportedException.
  4. Выяснилось, что мой текущий драйвер Ratlink Motoroal BC4 Bluetooth 3.0+HS Adapter, который отображается под Bluetooth-радио в диспетчере устройств, может не поддерживать эти действия, поэтому я решил обновить драйвер в диспетчере устройств Windows и выбрал «Generic Bluetooth Adapter». На данный момент у меня есть «Generic Bluetooth Adapter» и «Microsoft Bluetooth Enumerator» на вкладке Bluetooth Radios в диспетчере устройств.
  5. Запустите код Python, та же ошибка.
  6. Запустите код С#, без исключений, однако никакие устройства не обнаружены. Результат DiscoverDevices всегда пуст.
  7. Также не удается найти устройства Bluetooth в папке «Мой Bluetooth» на ноутбуке. Получение «Радиоустройство Bluetooth недоступно».
  8. После случайного удаления и установки я случайно получил пункт «Устройства Bluetooth» и пункт «Радиоустройств Bluetooth» в диспетчере устройств. Первый содержит драйвер Motorolla, а другой — Microsoft Bluetooth Enumerator. Те же ошибки, что и (5) и (6), сохраняются.

Я безуспешно возился с разными драйверами с сайта hp. Кроме того, код работает на двух ноутбуках, отличных от hp, и не работает на другом ноутбуке hp (типа павильона). Я заметил, что на других ноутбуках есть только пуля Bluetooth-радио, которая содержит как собственное устройство Bluetooth, так и устройство перечисления Microsoft.

Есть ли надежда на программирование блютуза на ноуте hp? Что я делаю неправильно?

Спасибо, ребята, заранее


person Maor Veitsman    schedule 17.01.2015    source источник


Ответы (1)


Прежде всего, вы должны знать, что существует несколько различных стеков Bluetooth. Например, иногда код, который отлично работает на компьютере со стеком Toshiba, не будет правильно работать на компьютере со стеком Microsoft.

Во-вторых, я советую вам использовать библиотеку 32Feet.

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. Удачи

person RcMan    schedule 18.01.2015