c# - socket - winsock bluetooth




API Bluetooth dans Windows/.Net? (4)

Je suis en train d'écrire un scanner Bluetooth qui localise et identifie les appareils mobiles dans les environs. Est-ce quelque chose que je peux accomplir en utilisant C #, ou ai-je besoin de descendre dans les API C / C ++? Mon application cible Windows XP et Vista. Les pointeurs sont appréciés.

Merci!


La meilleure façon de connaître les appareils bluetooth et d'envoyer des fichiers vers un appareil Bluetooth à partir de votre PC est d'utiliser ce code.

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

Vous pouvez appeler cette méthode comme

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

Ainsi, BluetoothFileTransferWizard apparaît et vous pouvez choisir le périphérique disponible et envoyer le fichier pour envoyer ce périphérique. Si vous ne voulez pas utiliser ce mode, essayez 32feet.net.uk. C'était génial pour le développement bluetooth pour C # et VB.NET.



Un problème avec Bluetooth sur le PC est qu'il y a plusieurs piles BT en cours d'utilisation et vous ne pouvez jamais savoir lequel est disponible sur une machine donnée. Les plus communs sont Widcomm (maintenant Broadcom) et Microsoft (apparu dans XP, peut-être l'un des service packs). Cependant, certains fournisseurs de matériel BT empaquetent BlueSoleil et certains utilisent Toshiba. La plupart des dongles fonctionnent avec la pile MS, donc les librairies .NET que j'ai vues ont tendance à l'utiliser.

Chacune des piles a une manière totalement différente de faire la partie découverte où vous recherchez des appareils à proximité et demandez leurs services.

Si je devais choisir une approche aujourd'hui, je ferais probablement la découverte en C ++ et ajouterais une interface pour .NET.

Les trucs de 32feet.net ont plutôt bien fonctionné quand je l'ai essayé mais je n'ai pas supporté la pile Widcomm.


Mike Petrichenko a un bon framework BT. Il fonctionne avec BlueSoleil, Widcomm, Toshiba et Microsoft.

Il est maintenant appelé la bibliothèque de communication sans fil et fonctionne avec Bluetooth 802.11 et infrarouge. Mike a nommé la société Soft Service Company et vend des licences non commerciales et commerciales avec et sans code source à des prix variant entre 100 $ et 2050 $.





bluetooth