Koppeln Sie Bluetooth-Geräte mit einem Computer mit einer 32-Fuß-.NET-Bluetooth-Bibliothek

Wenn Sie wissen möchten, wie Sie mit der 32feet.NET-Bibliothek mit Bluetooth-Geräten kommunizieren, lesen Sie die Lösung

Ich versuche derzeit, über Bluetooth zwischen einem Computer und einem selbstgebauten .NET-Gadgeteer-Prototyp zu kommunizieren.

Der Gadgeteer-Prototyp besteht aus dem Mainboard, einem Netzteil und einem Bluetooth-Modul. Das Modul befindet sich im erkennbaren Modus.

Auf dem Computer wird ein benutzerdefiniertes Bluetooth-Programm ausgeführt, das auf 32 Fuß .NET Bluetooth basiert. Das Programm erkennt alle in Reichweite befindlichen Bluetooth-Geräte und versucht, sie zu koppeln. Dies geschieht jedoch momentan nicht automatisch. Ich muss einen Pairing-Code für das Gerät eingeben.

Wie kann ich Geräte ohne Eingabe des Pairing-Codes koppeln?

Wenn Geräte gefunden werden, liegt das Problem beim Pairing. Ich habe viel experimentiert, aber keine Lösung gefunden ...

foreach (BluetoothDeviceInfo device in this.deviceList)
{
    try
    {
        //BluetoothClient client = new BluetoothClient(this.CreateNewEndpoint(localAddress));
        //BluetoothEndPoint ep = this.CreateNewEndpoint(device.DeviceAddress);

        EventHandler<BluetoothWin32AuthenticationEventArgs> handler = new EventHandler<BluetoothWin32AuthenticationEventArgs>(HandleRequests);
        BluetoothWin32Authentication auth = new BluetoothWin32Authentication(handler);

        BluetoothSecurity.PairRequest(device.DeviceAddress, null);
    }
}

Dieser Codeblock leitet die Kopplung ein und funktioniert, aber Windows fordert mich auf, den Kopplungscode für das Gerät einzugeben. Ich habe über die BluetoothWin32Authentication gelesen, um diesen Fall zu verhindern, aber ich verstehe es nicht richtig.

private void HandleRequests(object that, BluetoothWin32AuthenticationEventArgs e)
{
    e.Confirm = true;
}

Dies ist der Code des Ereignishandlers (http://32feet.codeplex.com/wikipage?title=BluetoothWin32Authentication)

Wenn Sie lediglich zulassen möchten, dass das Pairing ausgeführt wird, wenn SSP-Geräte eine Verbindung herstellen, reicht es aus, den Rückruf zu bearbeiten und "e.Confirm = True" festzulegen - das ist jedoch etwas unsicher ...

Ich bin verwirrt -.- Das Ziel ist, dass die Anwendung und das Gadgeteer-Modul Daten ohne Benutzereingriff in beide Richtungen senden können.

Stimmt es, dass ich Geräte ohne Benutzerinteraktion nicht automatisch koppeln kann?

Stimmt es, dass zwei Geräte, die bereits gekoppelt wurden, Daten ohne Benutzerinteraktion austauschen können?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage