Question

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

Merci!

Était-ce utile?

La solution

Un problème avec Bluetooth sur le PC est que plusieurs piles BT sont utilisées et que vous ne pouvez jamais vraiment savoir laquelle est disponible sur une machine donnée. Les plus courants sont Widcomm (maintenant Broadcom) et Microsoft (apparus dans XP, peut-être l’un des service packs). Toutefois, certains fournisseurs de matériel BT proposent BlueSoleil et certains utilisent Toshiba. La plupart des dongles fonctionnent avec la pile MS. Les bibliothèques .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, vous permettant de rechercher des périphériques à proximité et de consulter leurs services.

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

Le contenu de 32feet.net fonctionnait plutôt bien lorsque je l’essayais mais ne supportait pas la pile Widcomm.

Autres conseils

Il y a aussi 32feet.net de Peter Foot

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

J'ai joué avec ça à l'époque de la v1.5 et cela a bien fonctionné.

Mike Petrichenko dispose d'un bel environnement BT. Il fonctionne avec BlueSoleil, Widcomm, Toshiba et Microsoft.

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

Le meilleur moyen de connaître les périphériques Bluetooth et d’envoyer un fichier à un périphérique 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 à envoyer à ce périphérique. Si vous ne voulez pas utiliser cette méthode, essayez 32feet.net.uk. C’était formidable pour le développement Bluetooth pour C # et VB.NET.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top