Rohdaten über Bluetooth lesen

Ich habe ein digitales Human Interface Device, mit dem ich über 32feet.net eine Verbindung herstellen möchte, damit ich Eingabedaten daraus lesen und eine Ausgabe in meiner Anwendung verarbeiten kann. Ich habe noch nie zuvor mit Bluetooth programmiert und lerne dabei.

Ich kann mein Gerät problemlos mit dem Microsoft / Broadcom-Stack an Windows 7 anschließen. Ich kann das Gerät auch über 32feet.net erkennen, aber wenn ich versuche, es anzuschließen, erhalte ich eine Fehlermeldung. Ich habe mit BluetoothRadio.IsSupported sichergestellt, dass mein Stack unterstützt wird. Hier ist ein Codeausschnitt:

 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));

Die letzte Zeile verursacht den folgenden Fehler: In System.dll ist eine erste zufällige Ausnahme vom Typ "System.Net.Sockets.SocketException" aufgetreten

Ich habe auch einige andere Methoden mit client.Connect ausprobiert. Ich habe versucht, mithilfe von DiscoverDevices ein DeviceInfo-Array abzurufen und das Gerät manuell aus diesem Array auszuwählen und eine Verbindung damit herzustellen. Ich habe versucht, die serviceClass als leer festzulegen, da dies angezeigt wird, wenn ich DeviceInfo.ClassOfDevice.Service verwende. Ich konnte das Gerät mit DeviceInfo.SetServiceState (BluetoothService.HumanInterfaceDevice, true) mit Windows verbinden, aber keinen Stream von diesem Gerät abrufen.

Selbst wenn ich einen Datenstrom vom Gerät erhalten kann, nachdem es unter Windows verbunden wurde, wäre das in Ordnung. Mein Ziel hier ist es einfach, Eingaben vom Gerät wie einen Knopfdruck lesen zu können.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage