This Blazor WebAssembly web app uses the Web Bluetooth API in SpawnDev.BlazorJS to access BLE (Bluetooth Low Energy) services on an ESP32 microcontroller.
Based on a Javascript version:
ESP32 Web Bluetooth (BLE): Getting Started Guide
The folder ESP32BLEApp
contains a PlatformIO VSCode project for an ESP32-S3-WROOM microcontroller that will act as a BLE server.
The ESP32 app is written using C/C++.
The ESP32 will advertise a service with a characteristic that can be read and written to by the Blazor WebAssembly application. No wiring is required for this demo. An onboard LED can be toggled on and off using the Blazor WASM app and data is retrieved automatically when it changes.
I specifically tested using the Freenove Basic Starter Kit for ESP32-S3-WROOM CAM.
Feel free to open an issue if you have any questions or problems. Setting up the development environment and getting the ESP32 to work as expected (especially the drivers and breakpoint debugging) can be tricky. I will try to help if I can. 🖖