Вопрос

Я работаю над созданием сканера Bluetooth, который обнаруживает и идентифицирует мобильные устройства поблизости.Могу ли я добиться этого с помощью C# или мне нужно перейти к API C/C++?Мое приложение ориентировано на Windows XP и Vista.Указатели приветствуются.

Спасибо!

Это было полезно?

Решение

Одна из проблем с Bluetooth на ПК заключается в том, что используется несколько стеков BT, и вы никогда не можете точно знать, какой из них доступен на данном компьютере.Самые распространенные — Widcomm (ныне Broadcom) и Microsoft (появился в XP, возможно, в одном из пакетов обновлений).Однако некоторые поставщики оборудования BT комплектуют BlueSoleil, а некоторые используют Toshiba.Большинство ключей будут работать со стеком MS, поэтому библиотеки .NET, которые я видел, обычно используют его.

Каждый из стеков имеет совершенно другой способ выполнения части обнаружения, когда вы просматриваете ближайшие устройства и запрашиваете их услуги.

Если бы сегодня мне пришлось выбрать один подход, я бы, вероятно, сделал открытие на C++ и добавил интерфейс для .NET.

Когда я попробовал, 32feet.net работал довольно хорошо, но не поддерживал стек Widcomm.

Другие советы

Еще есть сайт 32feet.net Питера Фута.

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

Я экспериментировал с этим еще в версии 1.5, и все работало хорошо.

Майк Петриченко имеет хорошую структуру BT.Он работает с BlueSoleil, Widcomm, Toshiba и Microsoft.

Теперь она называется Библиотекой беспроводной связи и работает с Bluetooth 802.11 и инфракрасным портом.Майк назвал компанию Soft Service Company и продает некоммерческие и коммерческие лицензии с исходным кодом и без него по ценам от 100 до 2050 долларов.

Лучший способ узнать устройства Bluetooth и отправить файл на устройство Bluetooth с вашего компьютера — использовать этот код.

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

Вы можете вызвать этот метод как

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

Итак, появится BluetoothFileTransferWizard, и вы сможете выбрать доступное устройство и отправить файл для отправки на это устройство.Если вы не хотите использовать этот способ, попробуйте 32feet.net.uk.Это было здорово для разработки Bluetooth для C# и VB.NET.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top