ESP32-WROVERでBLE通信(カスタムPCアプリ編)
前回(ESP32-WROVERでBLE通信(Custom Characteristic編))でESP32 BLEデバイス側をカスタマイズしましたが今回はPC側をカスタマイズしてみました。
といっても「Bluetooth GATT クライアント」のGitHubにある完全なサンプルを多少カスタマイズしているだけです。
元のサンプルは汎用的に使えるようになっていますが、今回は前回(ESP32-WROVERでBLE通信(Custom Characteristic編))で作成したカスタムサービスとReadカスタム特性、Writeカスタム特性を持ったBLEデバイスとの通信に特化しています。
バーガーメニューにBLEデバイスのペアリング/接続をまとめて必要なくなったらバーガーボタンを押して引っ込めることができます。
接続ができるとサービスや特性は選択ではなくカスタムサービス、Readカスタム特性、Writeカスタム特性の順で決め打ちで表示しています。
Writeデータ値を入れてWriteボタンを押すとWriteされてReadボタンで読み出されます。

元のサンプルはMvvMで書かれていますが今回は簡単にコードビハインドで書いています。元のサンプルにあったDisplayHelpers.csをそのままコピーして(namespaceの変更はします)、後のコードはMainPage.xaml.csにまとめました。
接続/ペアリング/通信といった主だったコードは元のサンプルコードを概ねコピーしています。
あとアプリにBluetooth機能を足すために「ソリューションエクスプローラー」→「Package.appxmanifest」を開いて、「機能」タブの「Bluetooth」にチェックを入れます。

あまり解説することもないので最終的なプロジェクトだけをアップしておきます。