无法将 Hololens 连接到低功耗蓝牙设备
Can't connect the Hololens to a Bluetooth Low Energy device
对于我正在进行的项目,我需要从 BluetoothLE 模块 (HM-10) 读取数据。我需要从 Unity 应用程序读取和使用这些数据。为了连接和读取数据,我正在使用 Visual Studio 2017 为 Unity 构建一个插件。我可以使用以下方法获取 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();
错误内容为:
Unable to cast object of type 'Windows.Devices.Bluetooth.BluetoothLEDevice' to type 'Windows.Devices.Bluetooth.IBluetoothLEDevice3'
我是不是使用了错误的方法来获得结果?
任何帮助将不胜感激!
我终于找到了如何获取所有服务和每个服务的特征。通过创建 GattDevice,我可以获得 GattDevice.GattServices
的服务。
当我找到正确的 GattDeviceService 时,我可以通过以下方式获得特征:
GattService s = new GattService(GattDeviceService)
GattCharacteristic.GetCharacteristics(s)
对于我正在进行的项目,我需要从 BluetoothLE 模块 (HM-10) 读取数据。我需要从 Unity 应用程序读取和使用这些数据。为了连接和读取数据,我正在使用 Visual Studio 2017 为 Unity 构建一个插件。我可以使用以下方法获取 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();
错误内容为:
Unable to cast object of type 'Windows.Devices.Bluetooth.BluetoothLEDevice' to type 'Windows.Devices.Bluetooth.IBluetoothLEDevice3'
我是不是使用了错误的方法来获得结果?
任何帮助将不胜感激!
我终于找到了如何获取所有服务和每个服务的特征。通过创建 GattDevice,我可以获得 GattDevice.GattServices
的服务。
当我找到正确的 GattDeviceService 时,我可以通过以下方式获得特征:
GattService s = new GattService(GattDeviceService)
GattCharacteristic.GetCharacteristics(s)