BLE周辺機器に接続しようとしています。まず、私は、広告を監視:Windows 10のBLE周辺機器に接続
watcher = new BluetoothLEAdvertisementWatcher { ScanningMode = BluetoothLEScanningMode.Active };
watcher.Received += WatcherOnReceived;
watcher.Start();
とWatcherOnReceivedコールバックで私はBluetoothLEDevice
public async void WatcherOnReceived(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs btAdv)
{
BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromBluetoothAddressAsync(btAdv.BluetoothAddress);
}
を作成しようしかし、私は常にWatcherOnReceivedコールバックでbleDevice == nullのを取得します。なぜ、どのようにそれを修正するには? UWPアプリケーションでBLEデバイスを作成する適切な方法は何ですか?そのデバイスに接続し、GATTのサービスと特性を発見し、その一部の通知を有効にし、それらの一部を読み書きする必要があります。
私は確かにすべてが無作為で、文書化されていないことに同意します。最も厄介なのは、1つのコンパクトで完全なBLE APIを持たず、他のWindowsデバイス(デバイスマネージャー)と統合し、各GATTサービスをデバイスとして公開すること+ 5つの異なるAPIあなたが望むものすべてを手に入れる。 – Emil