ESP32 WebPlotter Voorbeeld - Tutorial voor Real-Time Data Visualisatie
Overzicht
Het WebPlotter voorbeeld creëert een real-time data visualisatie-interface die toegankelijk is via elke webbrowser. Ontworpen voor het ESP32 educatieve platform met geavanceerde dataverwerking, real-time plotmogelijkheden en naadloze integratie met sensorbewaking systemen. Perfect om sensorgegevens te visualiseren, algoritmen te debuggen of systeemprestaties in real-time te monitoren.

Kenmerken
- Real-time Data Plotting: Visualiseer sensorgegevens terwijl ze binnenkomen vanuit Arduino
- Meerdere Datastreams: Plot tot 8 verschillende datastromen tegelijk
- Auto-scaling: Automatische Y-as schaling op basis van datumbereik
- Interactieve Interface: Zoom, pan en analyseer datatrends
- WebSocket Communicatie: Directe updates met minimale vertraging
- Responsive Design: Werkt op desktop, tablet en mobiele apparaten
- Aanpasbare Configuratie: Instelbare plot titels, aslabels en bereiken
Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables ESP32 Starterskit (ESP32 inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Installatie-instructies
Snelle Stappen
Volg deze instructies stap voor stap:
- Als u voor het eerst met ESP32 werkt, raadpleeg dan de tutorial over het opzetten van de ESP32-omgeving in de Arduino IDE.
- Verbind het ESP32 bord met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste ESP32 bord (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
- Ga naar het Libraries-icoon in de linkerzijbalk van de Arduino IDE.
- Zoek op "DIYables ESP32 WebApps" en vind de DIYables ESP32 WebApps Library door DIYables.
- Klik op de Installeren knop om de library te installeren.

- U wordt gevraagd om extra benodigde dependencies te installeren.
- Klik op de Alles installeren knop om alle dependencies te installeren.

- Ga in Arduino IDE naar Bestand Voorbeelden DIYables ESP32 WebApps WebPlotter voorbeeld, of kopieer de bovenstaande code en plak deze in de Arduino IDE editor.
- Stel uw WiFi-inloggegevens in door de volgende regels in de code aan te passen:
- Klik op de Uploaden knop in de Arduino IDE om de code naar de ESP32 te uploaden.
- Open de Seriële Monitor.
- Bekijk het resultaat in de Seriële Monitor. Het ziet er ongeveer als volgt uit:
- Als u niets ziet, start het ESP32 bord opnieuw op.
- Noteer het getoonde IP-adres en voer dit adres in de adresbalk van een webbrowser op uw smartphone of PC in.
- Voorbeeld: http://192.168.0.2
- U ziet de startpagina zoals op de onderstaande afbeelding:

- Klik op de Web Plotter-link om de gebruikersinterface van de Web Plotter-app te zien zoals hieronder:

- U kunt ook direct de pagina openen met het IP-adres, gevolgd door /web-plotter. Bijvoorbeeld: http://192.168.0.2/web-plotter
- Kijk hoe de ESP32 gesimuleerde sensorgegevens genereert en deze in real-time plot. U ziet meerdere gekleurde lijnen die verschillende datastromen vertegenwoordigen.
Creatieve Aanpassingen - Visualiseer Uw Gegevens Creatief
Pas de plotinterface aan om aan uw unieke projectvereisten te voldoen en creëer verbluffende datavisualisaties:
Configuratie van Datasources
Vervang gesimuleerde data door echte sensorwaarden:
Methode 1: Enkele Sensorwaarde
Methode 2: Meerdere Sensoren
Methode 3: Array met Waarden
Plot Aanpassingen
Aangepaste Plot Weergave
Dynamische Configuratie
Geavanceerde Dataverwerking
Moving Average Filter
Data Logging met Tijdstempels
Integratie Voorbeelden
Milieubewaking
Motorbesturing Feedback
PID Controller Visualisatie
Prestatie-optimalisatie
Efficiënte Dataoverdracht
Gegevens verzenden bij verandering
Projectideeën
Wetenschappelijke Toepassingen
- Data Logger: Leg temperatuur, vochtigheid en druk over tijd vast
- Trillingsanalyse: Monitor accelerometerdata voor mechanische systemen
- pH Monitoring: Volg waterkwaliteit in aquaponics systemen
- Zonnepaneel efficiëntie: Houd spanning/stroom output en zonlicht bij
Educatieve Projecten
- Natuurkunde experimenten: Visualiseer slingerbewegingen, veeroscillaties
- Scheikunde lab: Bewaak reactiesnelheden en temperatuurveranderingen
- Biologische studies: Volg plantengroei sensoren en omgevingsfactoren
- Wiskunde: Plot wiskundige functies en algoritmische output
Domotica
- Energie monitoring: Houd het energieverbruik bij
- Tuinautomatisering: Bewaak bodemvochtigheid en lichtniveaus
- HVAC besturing: Visualiseer temperatuur- en vochtigheidstrends
- Beveiligingssysteem: Plot bewegingssensorsignalen
Robotica en Besturing
- Robotnavigatie: Plot positie- en oriëntatiegegevens
- Motorbesturing: Monitor snelheid, koppel en efficiëntie
- Sensorfusie: Combineer meerdere sensoruitkomsten
- Routeplanning: Visualiseer robotbewegingsalgoritmen
Problemen oplossen
Veelvoorkomende Problemen
1. Geen data zichtbaar in de plot
- Controleer de WiFi-verbinding
- Verifieer de WebSocket-verbinding in de browserconsole
- Zorg dat sendPlotData() regelmatig wordt aangeroepen
- Controleer de Seriële Monitor op foutmeldingen
2. Plot is schokkerig of onregelmatig
- Pas datafiltering toe (moving average)
- Verlaag de frequentie van dataverzending
- Controleer op sensorruis of verbindingsproblemen
- Verifieer stabiele stroomvoorziening
3. Browser presteert slecht
- Verminder maximaal aantal monsters (setMaxSamples())
- Verlaag het dataverzendtempo
- Sluit andere browser-tabbladen
- Gebruik hardwareversnelling in de browser
4. WebSocket-verbinding valt uit
- Controleer WiFi-signaalsterkte
- Controleer router-instellingen (firewall, poortblokkering)
- Implementeer reconnect-logica in eigen code
- Houd ESP32-geheugenverbruik in de gaten
Debug Tips
Gedetailleerde logging inschakelen
Testpatroon genereren
Geavanceerde Functies
Aangepaste Dataformatering
Integratie met Andere WebApps
Real-time Besturing met Plotting
Volgende Stappen
Na het beheersen van het WebPlotter voorbeeld, kunt u verder met:
- MultipleWebApps - Combineer plotten met bedieningsinterfaces
- WebMonitor - Voeg debugging mogelijkheden toe naast plots
- Aangepaste Applicaties - Bouw uw eigen gespecialiseerde plottingtools
- Data-analyse - Implementeer statistische analyse van geplotte gegevens
Ondersteuning
Voor extra hulp:
- Raadpleeg de API Reference documentatie
- Bezoek DIYables tutorials: https://esp32io.com/tutorials/diyables-esp32-webapps
- ESP32 community forums
- WebSocket debugtools in de browser developer console