Я пытался найти способы найти и подключить Arduino через Bluetooth через приложение UWP, поэтому с большим количеством пустяков я нашел два пути (к сожалению, не смог найти официальную документацию MS по этому поводу) Так один методWindows 10 UWP Bluetooth-соединение с Arduino
DeviceInformationCollection availableDevices = await BluetoothSerial.listAvailableDevicesAsync();
foreach (DeviceInformation device in availableDevices)
{
deviceList.Add(device);
}
Это возвращает устройство Bluetooth под названием «Dev B», и это на самом деле модуль Bluetooth моего Arduino в. Несмотря на то, что есть другие доступные устройства, парные/непарные, этот метод всегда возвращает только «Dev B».
И тогда я использовать эту функцию, чтобы соединиться с Arduino
var selectedDevice = (DeviceInformation)DeviceListView.SelectedItem;
uint BaudRate = 9600;
var connection = new BluetoothSerial(selectedDevice.Name);
arduino = new RemoteDevice(connection);
connection.begin(BaudRate, SerialConfig.SERIAL_8N1);
connection.ConnectionEstablished += OnConnectionEstablished;
ConnectedDeviceTextBox.Text = "Connected with Arduino.";
И это прекрасно работает и подключается. И все хорошо до сих пор
так, потому что мне нужно было найти все блютус устройства доступны я нашел следующий метод
var selector = BluetoothDevice.GetDeviceSelectorFromPairingState(true);
var devices = await DeviceInformation.FindAllAsync(selector);
foreach (DeviceInformation device in devices)
{
deviceList.Add(device);
}
Это дает мне все спаренные устройства Bluetooth, а имя модуля Bluetooth теперь HC -05 (На самом деле это имя, которое окна показывают в настройках Bluetooth и везде). Но если я передаю эту информацию об устройстве в код подключения выше, она не будет подключаться. Я попытался с помощью имени устройства в
var connection = new BluetoothSerial(selectedDevice.Name);
, но он не работает, я также пытался переходящая в самом устройстве
var connection = new BluetoothSerial(selectedDevice);
еще не повезло.
Может кто-нибудь объяснить объяснение имени и почему его не соединяется со вторым методом. Заранее спасибо.
Thank You Rita, Получил ваш момент относительно разницы между классом Rfcomm и BluetoothDevice. Что касается имени, то я попробовал изменить имя модуля HC-05 Bluetooth, обновленный везде, кроме моего приложения, где он по-прежнему показывает Dev B первым методом. Я буду продолжать изучать это и обновлять поток, если найду что-нибудь. –