ESP32 - Relay Besturen via Web
In deze handleiding leren we hoe u een relay kunt aansturen via een webinterface met een browser op een pc of smartphone, waarbij gebruik wordt gemaakt van de ESP32. Concreet wordt de ESP32 geprogrammeerd om als webserver te functioneren. Stel dat het IP-adres van de ESP32 192.168.0.2 is. Dit is hoe het werkt:
- Wanneer u 192.168.0.2 invoert in de webbrowser, stuurt de browser een verzoek naar de ESP32, die vervolgens reageert met een webpagina met een aan/uit-knop voor het bedienen van de relay.
- Op dezelfde manier, wanneer u op de knop “Turn ON” klikt op de webpagina of 192.168.0.2/relay1/on typt in de browser, schakelt de ESP32 de relay aan en stuurt de besturingspagina terug.
- Evenzo, als u op de knop “Turn OFF” op de webpagina klikt of 192.168.0.2/relay1/off in de browser invoert, schakelt de ESP32 de relay uit en stuurt opnieuw de besturingspagina terug.

We leren aan de hand van twee voorbeeldcodes:
- HTML-inhoud is ingebed in de ESP32-code
- HTML-inhoud is gescheiden van de ESP32-code en geplaatst in een .h bestand
Deze handleiding biedt de basis die u eenvoudig en op een creatieve manier kunt aanpassen om het volgende te bereiken:
- Het besturen van meerdere relais via het web
- Het herontwerpen van de webgebruikersinterface (UI)
Hardware benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over relay en ESP32
Als u nog niet bekend bent met relais en ESP32 (pinout, hoe het werkt, hoe te programmeren ...), bekijk dan de volgende tutorials:
Aansluitschema
- Hoe ESP32 en relay aan te sluiten met een breadboard (gevoed via USB-kabel)

This image is created using Fritzing. Click to enlarge image
- Hoe ESP32 en relay aan te sluiten met een breadboard (gevoed via Vin-pin)

This image is created using Fritzing. Click to enlarge image
- Hoe ESP32 en relay aan te sluiten met een schroefterminal breakout board (gevoed via USB-kabel)

- Hoe ESP32 en relay aan te sluiten met een schroefterminal breakout board (gevoed via Vin-pin)

ESP32 Code - HTML-inhoud is ingebed in ESP32-code
Snelle stappen
- Als u voor het eerst ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 op Arduino IDE.
- Maak de bedrading volgens de bovenstaande afbeelding.
- Verbind de ESP32 met uw pc via een micro USB-kabel.
- Open Arduino IDE op uw pc.
- Selecteer de juiste ESP32-board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
- Open de Library Manager door te klikken op het Library Manager icoon in de linker navigatiebalk van Arduino IDE.
- Zoek op “DIYables ESP32 WebServer” en vind de Web Server bibliotheek van DIYables.
- Klik op de Installeren knop om de Web Server bibliotheek te installeren.

- Kopieer de bovenstaande code en open deze in Arduino IDE.
- Pas de wifi-gegevens (SSID en wachtwoord) in de code aan naar die van uzelf.
- Klik op de Uploaden knop in Arduino IDE om de code naar de ESP32 te uploaden.
- Open de Seriële Monitor.
- Bekijk het resultaat in de Seriële Monitor.
- U ziet een IP-adres, bijvoorbeeld: 192.168.0.2. Dit is het IP-adres van de ESP32 Web Server.
- Open een webbrowser en voer één van de onderstaande drie formaten in de adresbalk in:
- Houd er rekening mee dat het IP-adres kan verschillen. Controleer de actuele waarde in de Seriële Monitor.
- U ziet ook de volgende output in de Seriële Monitor:
- Controleer de status van het relais.
- U ziet de webpagina van de ESP32 op de webbrowser zoals hieronder weergegeven.

- U kunt nu de relay aan/uit bedienen via de webinterface.
ESP32 Code - HTML-inhoud is gescheiden van ESP32-code
Omdat een grafische webpagina een grote hoeveelheid HTML-inhoud bevat, wordt het onhandig om deze zoals voorheen in de ESP32-code in te sluiten. Om dit op te lossen, moeten we de ESP32-code en de HTML-code in verschillende bestanden plaatsen:
- De ESP32-code wordt in een .ino-bestand gezet.
- De HTML-code (inclusief HTML, CSS en Javascript) wordt in een .h-bestand geplaatst.
Snelle stappen
- Open Arduino IDE en maak een nieuwe sketch aan. Geef het een naam, bijvoorbeeld newbiely.com.ino.
- Kopieer onderstaande code en open deze in Arduino IDE.
- Pas de wifi-instellingen (SSID en wachtwoord) aan naar uw gegevens.
- Maak in Arduino IDE het bestand index.h aan door:
- Ofwel te klikken op de knop net onder het seriële monitor icoon en New Tab te kiezen, of gebruik Ctrl+Shift+N.
- Geef het bestand de naam index.h en klik op OK.
- Kopieer onderstaande code en plak deze in index.h.
- Nu heeft u de code in twee bestanden: newbiely.com.ino en index.h.
- Klik op de Uploaden-knop in Arduino IDE om de code naar de ESP32 te uploaden.
- Open via uw pc of smartphone de webpagina van de ESP32-webserver in de browser. Deze ziet er vergelijkbaar uit met de vorige code:
- Als u alleen de HTML-inhoud in index.h aanpast en niets in newbiely.com.ino wijzigt, zal de Arduino IDE bij compileren en uploaden de HTML-inhoud niet actualiseren.
- Om de Arduino IDE de HTML-inhoud toch te laten updaten, voert u een wijziging door in het newbiely.com.ino bestand (bijvoorbeeld een lege regel toevoegen, een commentaarregel ...).
- Meerdere relais via het web bedienen
- De webgebruikersinterface (UI) herontwerpen



※ Notiz:
U kunt de bovenstaande code eenvoudig en creatief aanpassen om het volgende te bereiken: