Odczytywanie surowych danych przez Bluetooth

Mam cyfrowe urządzenie interfejsu użytkownika, z którym próbuję połączyć się za pomocą 32feet.net, dzięki czemu mogę odczytywać z niego dane wejściowe i przetwarzać dane wyjściowe w mojej aplikacji. Nigdy wcześniej nie programowałem za pomocą bluetooth i uczę się, jak idę.

Mogę bez problemu podłączyć urządzenie do systemu Windows 7 przy użyciu stosu microsoft / broadcom. Mogę także odkryć urządzenie za pomocą 32feet.net, ale gdy próbuję się połączyć, pojawia się błąd. Upewniłem się, że mój stos był obsługiwany za pomocą BluetoothRadio.IsSupported Oto fragment kodu:

 var client = new BluetoothClient();
 var dlg = new SelectBluetoothDeviceDialog();
 DialogResult result = dlg.ShowDialog(this);
 if (result != DialogResult.OK)
 {
     return;
 }
 BluetoothDeviceInfo device = dlg.SelectedDevice;
 BluetoothAddress addr = device.DeviceAddress;
 Console.WriteLine(device.DeviceName);
 Guid serviceClass = BluetoothService.HumanInterfaceDevice;
 client.Connect(new BluetoothEndPoint(addr, serviceClass));

Ostatni wiersz powoduje następujący błąd: w systemie System.dll wystąpił wyjątek pierwszej szansy typu „System.Net.Sockets.SocketException”

Próbowałem też innych metod z client.Connect. Próbowałem użyć DiscoverDevices, aby uzyskać tablicę DeviceInfo i ręcznie wybrać urządzenie z tej tablicy i połączyć się z nią. Próbowałem ustawić serviceClass jako Empty, ponieważ to się pojawia, gdy używam DeviceInfo.ClassOfDevice.Service. Udało mi się połączyć urządzenie z oknami za pomocą DeviceInfo.SetServiceState (BluetoothService.HumanInterfaceDevice, true), ale nie można z niego pobrać strumienia.

Nawet jeśli mogę uzyskać strumień danych z urządzenia po jego podłączeniu w systemie Windows, byłoby dobrze. Moim celem jest proste odczytanie danych wejściowych z urządzenia, takich jak naciśnięcie przycisku.

questionAnswers(2)

yourAnswerToTheQuestion