Dit project demonstreert draadloze communicatie tussen twee ESP32's via Bluetooth Low Energy (BLE). Eén ESP32 functioneert als knopbesturing (client) en de andere als LED ontvanger (server).
ble_client_button.cpp- Code voor ESP32 met knop (BLE Client)ble_server_led.cpp- Code voor ESP32 met LED (BLE Server)main.cpp- Instructies bestand (niet direct bruikbaar)
- Knop: Pin 4 naar GND (gebruikt interne pull-up weerstand)
- Functie: Stuurt commando's naar de LED ESP32
- LED: Pin 2 (ingebouwde LED) of externe LED tussen pin 2 en GND met weerstand
- Functie: Ontvangt commando's en bedient de LED
- Sluit de knop aan op ESP32 #1 (pin 4 naar GND)
- LED op ESP32 #2 is meestal al ingebouwd op pin 2
Voor ESP32 met knop (Client):
- Kopieer de inhoud van
ble_client_button.cppnaarmain.cpp - Upload naar ESP32 #1
Voor ESP32 met LED (Server):
- Kopieer de inhoud van
ble_server_led.cppnaarmain.cpp - Upload naar ESP32 #2
- Start eerst de LED ESP32 (server)
- Start daarna de knop ESP32 (client)
- Open de Serial Monitor op beide ESP32's (115200 baud)
- De client zoekt automatisch naar de server
- Druk op de knop om de LED aan/uit te schakelen
- Start BLE server met naam "ESP32_LED"
- Maakt een service aan met een writable characteristic
- Advertiseert zodat clients het kunnen vinden
- Wacht op write commando's ("1" = LED aan, "0" = LED uit)
- Scant naar BLE device met naam "ESP32_LED"
- Maakt verbinding wanneer gevonden
- Monitort knopstatus elke 100ms
- Stuurt "1" bij knop indrukken, "0" bij loslaten
Het project is geconfigureerd voor PlatformIO met:
- Platform: ESP32
- Board: esp32doit-devkit-v1
- Framework: Arduino
- Monitor speed: 115200
Client vindt server niet:
- Controleer of de server ESP32 aan staat en geadverteerd heeft
- Beide ESP32's moeten dichtbij elkaar zijn (< 10 meter)
LED reageert niet:
- Controleer Serial Monitor voor BLE verbindingsstatus
- Controleer of de juiste pins gebruikt worden
Verbinding valt weg:
- Client probeert automatisch opnieuw verbinding te maken
- Reset beide ESP32's als er problemen zijn
Service UUID: e9e17522-33d0-4da1-9d22-df7c28ec9d03
Characteristic UUID: e9f3a62d-d676-435e-8a78-73b0cbdb5152
Deze UUIDs moeten in beide bestanden hetzelfde zijn!