Для проекта, над которым я работаю, мне нужно считать данные с модуля BluetoothLE (HM-10). Мне нужно прочитать и использовать эти данные из приложения Unity. Для подключения и чтения данных я создаю плагин для Unity с помощью Visual Studio 2017. Я могу получить список устройств BluetoothLE, используя:
string[] requestedProperties = { "System.Devices.Aep.DeviceAddress", "System.Devices.Aep.IsConnected" };
deviceWatcher =
DeviceInformation.CreateWatcher(
BluetoothLEDevice.GetDeviceSelectorFromPairingState(false),
requestedProperties,
DeviceInformationKind.AssociationEndpoint);
Подключение к устройству тоже работает. Я использую:
BluetoothLEDevice btDevice = await BluetoothLEDevice.FromIdAsync(device.Id);
Далее я хочу прочитать данные, которые отправляет это устройство. Я понимаю, что мне нужно собрать данные об услугах и характеристиках, прежде чем я смогу прочитать эти данные. Но я почему-то не могу дождаться услуг. Я получаю сообщение об ошибке: var gattservices = await btDevice.GetGattServicesAsync();
Ошибка гласит:
Невозможно привести объект типа «Windows.Devices.Bluetooth.BluetoothLEDevice» к типу «Windows.Devices.Bluetooth.IBluetoothLEDevice3».
Использую ли я неправильные методы для получения результатов?
Любая помощь будет оценена!