rfComm Bluetooth подключиться к инсулиновой помпе - PullRequest
0 голосов
/ 27 сентября 2019

Я использую 32feet.Net для подключения к инсулиновой помпе, которая общается по протоколу rfComm.Я написал простой код для подключения

   public void Listen()
    {
         server = new BluetoothListener(mUUID) { ServiceName =  "SerialLink" };
         Console.WriteLine("Start listen Devices");
         Console.WriteLine(server.LocalEndPoint.ToString());
         server.Start();
         while (true)
         { 
           using(BluetoothClient ConnectedClient = server.AcceptBluetoothClient())
            {
                //...
            }
        }

    }

Насос после запуска этот код обнаруживает в Windows, но Windows не помогает t want to give a ConnectedClient callback, blocks it by the message asking to type pin-code. The main trick that it won t, потому что после ввода пин-кода в сообщении окна и отправки в насос я должен приложить привет-байт и тогда она понимает, что соединение стабилизируется.Чтение 32 футов Api Я пытался использовать современный rfComm Api в Windows UWP, но он не хочет искать мою инсулиновую помпу.Вот код:

public async void InitializeRfCommServer()
        {
            try
            {
                rfcommProvider = await 
                RfcommServiceProvider.CreateAsync(RfcommServiceId.FromUuid(RfcommServiceUuid));

                // Create a listener for this service and start listening
                socketListener = new StreamSocketListener();
                socketListener.ConnectionReceived += SocketListener_ConnectionReceived;

                await socketListener.BindServiceNameAsync(rfcommProvider.ServiceId.AsString(),
                   SocketProtectionLevel.BluetoothEncryptionAllowNullAuthentication);

                rfcommProvider.StartAdvertising(socketListener,true);

                TextLabel.Text = "Listening for incoming connections";
                ServerInitiated = true;

            }
            catch (Exception e)
            {
                TextLabel.Text = e.Message;

                ServerInitiated = false;
            }
       } 

Так что я запутался.Может быть попробовать библиотеку 32feet в Windows 7?Или попробуйте исправить код UWP?

1 Ответ

0 голосов
/ 30 сентября 2019

Вы подтвердили с помощью анализатора пакетов wireshark на окнах, чтобы подтвердить, что поиск не происходит?

...