Xamarin Android Bluetooth соединение - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать приложение, которое подключается к монитору сердечного ритма Bluetooth. Я искал так много статей и учебных пособий, но они не говорят вам, как настроить или go в полную информацию о Bluetooth. Кто-нибудь знает, с чего начать?

1 Ответ

0 голосов
/ 02 апреля 2020

Вы хотите подключиться к последовательному устройству Bluetooth с помощью Xamarin. Android?

Если да,

Сначала найдите экземпляр по умолчанию BluetoothAdapter на Android устройства и определите, включено ли оно:

BluetoothAdapter adapter = BluetoothAdapter.DefaultAdapter;
if(adapter == null)
  throw new Exception("No Bluetooth adapter found.");

if(!adapter.IsEnabled)
  throw new Exception("Bluetooth adapter is not enabled.");

Далее получите экземпляр BluetoothDevice, представляющий физическое устройство, к которому вы подключаетесь. Вы можете получить список сопряженных устройств, используя коллекцию BondedDevices адаптера. Я использую простой LINQ, чтобы найти нужное устройство:

BluetoothDevice device = (from bd in adapter.BondedDevices 
                      where bd.Name == "NameOfTheDevice" select bd).FirstOrDefault();

if(device == null)
   throw new Exception("Named device not found.");

Наконец, используйте метод устройства CreateRfCommSocketToServiceRecord, который вернет BluetoothSocket, который можно использовать для подключения и связи. Обратите внимание, что указанный ниже UUID является стандартным UUID для SPP:

_socket = device.CreateRfcommSocketToServiceRecord(UUID.FromString("00001101-0000-1000-8000-00805f9b34fb"));

await _socket.ConnectAsync();

Теперь, когда устройство подключено, связь происходит через свойства InputStream и OutputStream, которые находятся в объекте BluetoothSocket. Эти свойства стандарт. NET Поток объектов и может использоваться точно так, как вы ожидаете:

// Read data from the device
await _socket.InputStream.ReadAsync(buffer, 0, buffer.Length);

// Write data to the device
await _socket.OutputStream.WriteAsync(buffer, 0, buffer.Length);

, и вы можете обратиться к { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...