Frage

Ich bin im Begriff, einen Bluetooth-Scanner zu schreiben, die lokalisieren und mobile Geräte in der lokalen Umgebung identifiziert. Ist das etwas, was ich erreichen kann mit C #, oder muss ich nach unten in die C / C ++ APIs fallen müssen? Meine Anwendung zielt auf Windows XP und Vista. Pointers werden geschätzt.

Danke!

War es hilfreich?

Lösung

Ein Problem mit Bluetooth auf dem PC ist, dass es mehrere BT im Einsatz stapeln und man kann nie ganz wissen, was man auf einer bestimmte Maschine zur Verfügung steht. Die häufigsten sind Widcomm (jetzt Broadcom) und Microsoft (erschienen in XP, vielleicht eines der Service Packs). Allerdings einige BT Hardware-Anbieter Paket Bluesoleil und einige Verwendung Toshiba. Die meisten Dongles werden mit dem MS-Stack arbeiten, damit der .NET-Libs ich gesehen habe, ist in der Regel, dass verwenden.

Jeder des Stapels hat eine ganz andere Art und Weise die Entdeckung Teil zu tun, wo man für Geräte in der Nähe sehen und ihre Dienstleistungen erkundigen.

Wenn ich einen Ansatz heute holen würde ich wahrscheinlich die Entdeckung in C ++ tun und eine Schnittstelle für .NET hinzuzufügen.

Die 32feet.net Sachen ziemlich gut funktioniert, wenn ich es versucht, aber nicht unterstützen den Widcomm-Stack.

Andere Tipps

Es gibt auch Peter Foots 32feet.net

http://inthehand.com/content/32feet.aspx

Ich habe mit dieser wiedergegeben um, wenn es v1.5 war und es hat gut funktioniert.

Mike Petrichenko einen schönen BT Rahmen hat. Es arbeitet mit Bluesoleil, Widcomm, Toshiba und Microsoft.

Es ist nun die Wireless Communications-Bibliothek und arbeitet mit Bluetooth 802.11 und Infrarot genannt. Mike nannte die Firma Soft Service Company und verkauft nicht-kommerzielle und kommerzielle Lizenzen mit und ohne Quellcode in den Preisen zwischen $ 100 und $ 2050 reichen.

Die besten Weg, Bluetooth-Geräte zu erkennen und Datei an Bluetooth-Gerät sendet von Ihrem PC ist, dass Code zu verwenden.

    public void ExecuteCommandSync(object command)
    {
        try
        {
            // create the ProcessStartInfo using "cmd" as the program to be run,
            // and "/c " as the parameters.
            // Incidentally, /c tells cmd that we want it to execute the command that follows,
            // and then exit.
            System.Diagnostics.ProcessStartInfo procStartInfo =
                new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);

            // The following commands are needed to redirect the standard output.
            // This means that it will be redirected to the Process.StandardOutput StreamReader.
            procStartInfo.RedirectStandardOutput = true;
            procStartInfo.UseShellExecute = false;
            // Do not create the black window.
            procStartInfo.CreateNoWindow = true;

            // Now we create a process, assign its ProcessStartInfo and start it
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.StartInfo = procStartInfo;
            proc.Start();

            // Get the output into a string
            string result = proc.StandardOutput.ReadToEnd();
            // Display the command output.
            Console.WriteLine(result);
        }
        catch (Exception objException)
        {
            // Log the exception
            MessageBox.Show(objException.Message);
        }
    }

Sie können diese Methode aufrufen, wie

                          string command = "fsquirt";
                          ExecuteCommandSync(command);

Also, BluetoothFileTransferWizard angezeigt und Sie können verfügbare Gerät wählen und dieses Gerät für senden Datei senden. Wenn Sie nicht auf diese Weise verwenden möchten, versuchen 32feet.net.uk. Das war großartig für Bluetooth-Entwicklung für C # und VB.NET.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top