ESP32 Bluetooth Plotter Voorbeeld - Tutorial voor Real-Time Data Plotten Interface
Overzicht
Het Bluetooth Plotter voorbeeld biedt real-time datavisualisatie op uw smartphone via de DIYables Bluetooth STEM app. Ontworpen voor ESP32 boards met ondersteuning voor zowel BLE (Bluetooth Low Energy) als Classic Bluetooth verbindingen. Plot tot wel 10 dataseries tegelijkertijd met configureerbare assen, automatische schaal, legendalabels en scrollende weergave — ideaal voor sensorvisualisatie, signaaldetectie en datamonitoring.
Dit voorbeeld ondersteunt twee Bluetooth-modi:
- ESP32 BLE (Bluetooth Low Energy): Werkt op zowel Android als iOS
- ESP32 Classic Bluetooth: Werkt alleen op Android. iOS ondersteunt geen Classic Bluetooth. Gebruik BLE indien u iOS-ondersteuning nodig heeft.

Functies
- Multi-Seriegrafieken: Plot tot 10 dataseries tegelijk
- Real-Time Weergave: Continue scrollende grafiek met live updates
- Configureerbare Assen: Stel eigen Y-as bereik, aslabels en plot titel in
- Auto-Scale: Automatisch aanpassen van Y-as bereik aan de data
- Aangepaste Legend: Label elke dataserie voor eenvoudige identificatie
- Aanpasbare Samples: Stel het aantal zichtbare datapunten in
- BLE & Classic Bluetooth: Kies de Bluetooth modus die bij uw project past
- Cross-Platform: BLE werkt op Android en iOS; Classic Bluetooth werkt alleen op Android
Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
ESP32 Code
Snelle Stappen
Volg deze instructies stap voor stap:
- Als dit uw eerste keer is met de ESP32, raadpleeg dan de tutorial over het instellen van de omgeving voor ESP32 in de Arduino IDE.
- Verbind het ESP32 board met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste ESP32 board en de juiste COM-poort.
- Ga naar het Libraries-icoon in de linker zijbalk van de Arduino IDE.
- Zoek op "DIYables Bluetooth" en vind de DIYables Bluetooth bibliotheek van DIYables.
- Klik op de Install-knop om de bibliotheek te installeren.

- U wordt gevraagd om extra bibliotheek afhankelijkheden te installeren
- Klik op de Install All-knop om alle afhankelijkheden te installeren.

Kies een van de twee Bluetooth-modi hieronder afhankelijk van uw behoeften:
ESP32 Classic Bluetooth Code (werkt alleen met app op Android)
Opmerking: Classic Bluetooth wordt NIET ondersteund op iOS. Heeft u iOS-ondersteuning nodig, gebruik dan de BLE-code hieronder.
- In de Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32Bluetooth_Plotter voorbeeld, of kopieer de code hierboven en plak deze in de editor van Arduino IDE
- Klik op de Upload-knop in de Arduino IDE om de code naar de ESP32 te uploaden
- Open de Serial Monitor
- Kijk het resultaat in de Serial Monitor. Het ziet er als volgt uit:
ESP32 BLE Code (werkt met app op zowel Android als iOS)
- In de Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32BLE_Plotter voorbeeld, of kopieer de code hierboven en plak deze in de editor van Arduino IDE
- Klik op de Upload-knop in de Arduino IDE om de code naar de ESP32 te uploaden
- Open de Serial Monitor
- Bekijk het resultaat in de Serial Monitor. Het ziet er als volgt uit:
Mobiele App
- Als u de ESP32 Classic Bluetooth code gebruikt, moet u de ESP32 eerst koppelen met uw Android-telefoon voordat u de app opent:
- Ga naar de Instellingen > Bluetooth van uw telefoon
- Zorg dat Bluetooth is ingeschakeld
- Uw telefoon zoekt naar beschikbare apparaten
- Zoek en tik op "ESP32_Plotter" in de lijst met apparaten
- Bevestig het koppelingsverzoek (geen PIN vereist)
- Wacht tot onder de apparaatnaam "Gekoppeld" verschijnt
- Als u de ESP32 BLE code gebruikt, is koppelen niet nodig. Ga direct naar de volgende stap.
- Open de DIYables Bluetooth App
- Bij het eerste gebruik vraagt de app om permissies. Verleen alstublieft de volgende rechten:
- Nabije apparaten toestemming (Android 12+) / Bluetooth toestemming (iOS) - vereist om te scannen en verbinding te maken met Bluetooth-apparaten
- Locatie toestemming (alleen Android 11 en ouder) - vereist door oudere Androidversies om naar BLE-apparaten te zoeken
- Zorg dat Bluetooth aanstaat op uw telefoon
- Tik op het startscherm op de Connect-knop. De app zoekt dan naar BLE en Classic Bluetooth apparaten.

- Zoek en tik in de scanresultaten op uw apparaat om verbinding te maken:
- Voor Classic Bluetooth: tik op "ESP32_Plotter"
- Voor BLE: tik op "ESP32BLE_Plotter"
- Zodra verbonden, keert de app automatisch terug naar het startscherm. Selecteer de Plotter app in het app-menu.

Opmerking: U kunt in het startscherm het instellingen-icoon aanklikken om apps te verbergen of tonen. Voor meer details zie de DIYables Bluetooth App Gebruikershandleiding.
- Bekijk hoe de real-time datagraaf over het scherm scrollt

Kijk nu terug op de Serial Monitor in Arduino IDE. U ziet:
- De plotter toont in realtime sinus, cosinus en willekeurige ruisgolven
Creatieve Aanpassing - Pas de Code aan voor Uw Project
Plotinstellingen Configureren
Stel de plotweergave in voordat u verbinding maakt:
Data Verzenden naar Plotter
Meerdere methoden om 1 tot 4+ dataseries te sturen:
Data-verzoek van de App Behandelen
Wanneer de app verbinding maakt en het Plotter scherm opent, kan het data opvragen:
Verbindingsgebeurtenissen Afhandelen
Hoe Werkt de Plotter
App Interface Bedieningselementen
De plotter interface in de DIYables Bluetooth App bevat:
- Real-Time Grafiek: Scrollende lijngrafiek met meerdere dataseries
- Legenda: Kleurenlabels voor elke dataserie
- Auto-Scroll: Blijft continu scrollen om de nieuwste data te tonen
Dataformaat
Data wordt verzonden als komma-gescheiden float-waardes:
- Enkele serie: bluetoothPlotter.send(value)
- Meerdere series: bluetoothPlotter.send(val1, val2, val3)
- Datasnelheid: Aanbevolen interval 10-100 ms voor vloeiende plotting
Programmeervoorbeelden
Enkele Sensor Plot
Multi-Sensor Accelerometer Plot
Analoge Pin Plotter
Signaalgenerator
Geavanceerde Programmeertechnieken
Moving Average Filter
Dynamische Plotconfiguratie
BLE versus Classic Bluetooth - Welke Kiest U?
| Feature | BLE (Esp32BLE_Plotter) | Classic Bluetooth (Esp32Bluetooth_Plotter) |
|---|---|---|
| iOS Ondersteuning | ? Ja | ? Nee |
| Android Ondersteuning | ? Ja | ? Ja |
| Stroomverbruik | Laag | Hoog |
| Bereik | ~30-100m | ~10-100m |
| Datasnelheid | Lager | Hoger |
| Koppeling Vereist | Nee (auto-connect) | Ja (handmatig koppelen) |
| Geschikt Voor | Battery-powered, cross-platform | Hoog doorvoervolume, alleen Android |
Probleemoplossing
Veelvoorkomende Problemen
1. Kan het apparaat niet vinden in de app
- Zorg dat de ESP32 aan staat en de sketch is geüpload
- Voor BLE: Zorg dat Bluetooth en Locatie aanstaan op uw telefoon
- Voor Classic Bluetooth: Koppel het apparaat eerst via de Bluetooth-instellingen van de telefoon
- Controleer of het juiste partitieschema is geselecteerd (Huge APP)
2. Plot werkt niet bijwerken
- Controleer de Bluetooth-verbinding in de app
- Controleer of bluetoothPlotter.send() wordt aangeroepen in de loop
- Controleer of bluetooth.isConnected() true retourneert
- Probeer los te koppelen en opnieuw te verbinden
3. Plot data ziet er schokkerig uit
- Verlaag het plotinterval (bijv. 50ms in plaats van 500ms)
- Zorg voor een stabiele Bluetooth-verbinding
- Verminder het aantal dataseries bij beperkte bandbreedte
4. Y-as bereik is niet passend bij data
- Gebruik enableAutoScale(true) voor automatische aanpassing
- Of stel een breed bereik in met setYAxisRange()
5. Legenda labels worden niet getoond
- Roep setLegendLabels() aan voordat verbinding tot stand komt
- Zorg dat het aantal labels overeenkomt met het aantal dataseries
6. Sketch is te groot / onvoldoende ruimte
- Ga in de Arduino IDE naar Tools > Partition Scheme en selecteer "Huge APP (3MB No OTA/1MB SPIFFS)" of "No OTA (Large APP)"
- Het standaard partitieschema biedt alleen ~1.2MB voor app-code, wat niet genoeg is voor Bluetooth bibliotheken
- Deze instelling geeft ~3MB ten koste van OTA (over-the-air update) partitie
Debug Tips
Voeg uitgebreide debugging toe:
Projectideeën
Sensor Monitoring
- Temperatuur- en vochtigheidsgrafieken
- Lichtintensiteit overdag meten
- Bewegingsregistratie met accelerometer
- Visualisatie van druksensor-datasets
Signaal Analyse
- Audiorefrequentie visualisatie
- Trillingsmonitoring
- Pols-/hartslagweergave
- Elektromagnetisch veldsterkte meten
Onderwijs
- Vergelijking van sinus, cosinus en tangensgolven
- Opladen/ontladen van RC-circuits
- Visualisatie van PID-controller gedrag
- Gegevenslogger voor natuurkundige experimenten
Industrie
- Trillingsmonitoring van machines
- Procesvariabelentrends
- Energieverbruik bewaking
- Kwaliteitscontrolegrafieken
Integratie met Andere Bluetooth Apps
Combineren met Bluetooth Slider
Gebruik sliders om parameters van het geplote signaal te regelen:
Combineren met Bluetooth Table
Toon huidige waarden naast de plot in een tabel:
Volgende Stappen
Nadat u het Bluetooth Plotter voorbeeld beheerst, probeer dan:
- Bluetooth Temperature - Voor gespecialiseerde temperatuurweergave
- Bluetooth Analog Gauge - Voor wijzerplaat-achtige visualisatie
- Bluetooth Table - Voor gestructureerde numerieke data
- Meerdere Bluetooth Apps - Combineer plotter met andere displays
Ondersteuning
Voor extra hulp:
- Raadpleeg de API Reference documentatie
- Bezoek DIYables tutorials
- Arduino community forums