无法将Hololens连接到蓝牙低功耗设备

时间:2017-06-15 14:52:59

标签: c# visual-studio unity3d bluetooth hololens

对于我正在进行的项目,我需要从BluetoothLE模块(HM-10)读取数据。我需要从Unity应用程序中读取和使用这些数据。要连接和读取数据,我正在使用Visual Studio 2017为Unity构建插件。我可以使用以下命令获取BluetoothLE设备列表:

Sprint2

连接到设备似乎也可以。我用:

 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); 错误如下:

  

无法将“Windows.Devices.Bluetooth.BluetoothLEDevice”类型的对象转换为“Windows.Devices.Bluetooth.IBluetoothLEDevice3”

我使用错误的方法来获得结果吗?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我终于找到了如何获得所有服务和每项服务的特性。通过创建GattDevice,我可以使用GattDevice.GattServices获取服务。 当我找到正确的GattDeviceService时,我可以获得特性:

GattService s = new GattService(GattDeviceService)
GattCharacteristic.GetCharacteristics(s)