Pergunta

Eu estou no processo de escrever um scanner Bluetooth que localiza e identifica os dispositivos móveis na vizinhança local. Isto é algo que eu posso realizar usando C #, ou que eu preciso para descer para as APIs C / C ++? Meu aplicativo tem como alvo o Windows XP e Vista. Os ponteiros são apreciados.

Obrigado!

Foi útil?

Solução

Um problema com Bluetooth no PC é que existem várias pilhas BT em uso e você nunca consegue saber qual deles está disponível em uma determinada máquina. Os mais comuns são Widcomm (agora Broadcom) e Microsoft (apareceu em XP, talvez um dos service packs). No entanto, alguns fornecedores de hardware BT empacotar BlueSoleil e alguns usam Toshiba. A maioria dos dongles irá trabalhar com o MS pilha para as bibliotecas .NET que eu vi tendem a usá-lo.

Cada uma das pilhas tem uma maneira totalmente diferente de fazer a parte descoberta onde procurar dispositivos próximos e inquirir os seus serviços.

Se eu tivesse que escolher uma abordagem hoje eu provavelmente faria a descoberta em C ++ e adicionar uma interface para .NET.

O material 32feet.net funcionou muito bem quando eu tentei, mas não apoiou a pilha Widcomm.

Outras dicas

Há também de Peter Foot 32feet.net

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

Eu tenho jogado ao redor com esta volta quando era v1.5 e funcionou bem.

Mike Petrichenko tem um bom quadro BT. Ele funciona com BlueSoleil, Widcomm, Toshiba e Microsoft.

Ele é agora chamado a Biblioteca comunicações sem fio e funciona com Bluetooth 802.11 e infravermelho. Mike chamado a empresa Soft Service Empresa e vende licenças não-comercial e comercial com e sem código-fonte em preços que variam entre US $ 100 e US $ 2050.

A melhor maneira de saber Bluetooth dispositivos e arquivo enviar para o dispositivo bluetooth de seu PC é usar esse código.

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

Você pode chamar esse método como

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

Assim, BluetoothFileTransferWizard aparecer e você pode escolher disponível arquivo de dispositivo e de envio para enviar esse dispositivo. Se você não quiser usar dessa forma, tente 32feet.net.uk. Isso foi ótimo para Bluetooth desenvolvimento para C # e VB.NET.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top