ESP32 Bluetooth Tabel Voorbeeld - Interface voor Gestructureerde Gegevensweergave Tutorial
Overzicht
Het Bluetooth Tabel voorbeeld biedt een gestructureerde sleutel-waarde gegevensweergave die toegankelijk is via de DIYables Bluetooth STEM app. Ontworpen voor ESP32 boards met ondersteuning voor zowel BLE (Bluetooth Low Energy) als Classic Bluetooth verbindingen. Definieer benoemde rijen en update hun waarden in realtime — ideaal voor dashboards, sensortoestandpanelen, systeemmonitoren en elke toepassing die georganiseerde datavisualisatie vereist.
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 iOS-ondersteuning nodig is.

Kenmerken
- Gestructureerde Rijen: Tot 20 benoemde attribuutrijen
- Realtime Updates: Update individuele rijwaarden zonder de hele tabel te verversen
- Benoemde Attributen: Elke rij heeft een beschrijvend label (bijv. "Temperature", "Status")
- Dynamische Waarden: Verzend elke tekenreekswaarde per rij
- Tabelstructuur Synchronisatie: App vraagt tabelconfiguratie op bij verbinden
- BLE & Classic Bluetooth: Kies de Bluetooth-modus die bij uw project past
- Cross-Platform: BLE werkt op Android en iOS; Classic Bluetooth alleen op Android
- Laag stroomverbruik optie: BLE verbruikt minder stroom dan Classic Bluetooth
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 u voor het eerst met ESP32 werkt, raadpleeg dan de tutorial over het opzetten van de omgeving voor ESP32 in de Arduino IDE.
- Verbind de ESP32 met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste ESP32 board en 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.

- Er wordt gevraagd om aanvullende bibliotheekafhankelijkheden te installeren.
- Klik op de Install All knop om alle afhankelijkheden te installeren.

Kies één 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. Gebruik de BLE-code hieronder als u iOS-ondersteuning nodig heeft.
- In Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32Bluetooth_Table voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van Arduino IDE
- Klik op de Upload knop in Arduino IDE om de code naar ESP32 te uploaden
- Open de Serial Monitor
- Bekijk het resultaat in de Serial Monitor. Het ziet er als volgt uit:
ESP32 BLE Code (werkt met app op zowel Android als iOS)
- In Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32BLE_Table voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van Arduino IDE
- Klik op de Upload knop in Arduino IDE om de code naar ESP32 te uploaden
- Open de Serial Monitor
- Bekijk het resultaat in de Serial Monitor. Het ziet er als volgt uit:
Mobiele App
- Wanneer u de ESP32 Classic Bluetooth code gebruikt, moet u de ESP32 eerst met uw Android-telefoon koppelen voordat u de app opent:
- Ga op uw telefoon naar Instellingen > Bluetooth
- Zorg dat Bluetooth aan staat
- Uw telefoon zoekt naar beschikbare apparaten
- Zoek en tik op "ESP32_Table" in de lijst met beschikbare apparaten
- Bevestig het verbindingsverzoek (geen PIN nodig)
- Wacht tot de status "Gepaired" onder de apparaatte naam verschijnt
- Wanneer u de ESP32 BLE code gebruikt, is koppelen niet nodig. Ga direct door naar de volgende stap.
- Open de DIYables Bluetooth App
- Bij het openen van de app voor de eerste keer wordt om permissies gevraagd. Verleen alstublieft:
- Nearby Devices permissie (Android 12+) / Bluetooth permissie (iOS) - nodig om te scannen en verbinden met Bluetooth-apparaten
- Locatie permissie (alleen Android 11 en lager) - vereist door oudere Android versies voor het scannen van BLE-apparaten
- Zorg dat Bluetooth aanstaat op uw telefoon
- Tik op het startscherm op de Connect knop. De app zoekt zowel naar BLE als Classic Bluetooth apparaten.

- Zoek en tik op uw apparaat in de scanresultaten om te verbinden:
- Voor Classic Bluetooth: tik op "ESP32_Table"
- Voor BLE: tik op "ESP32BLE_Table"
- Na verbinding keert de app automatisch terug naar het startscherm. Selecteer de Table app vanuit het app-menu.

Opmerking: U kunt op het startscherm het instellingenicoon gebruiken om apps te verbergen/tonen. Zie de DIYables Bluetooth App Gebruikershandleiding voor meer details.
- De tabel wordt gevuld met de attribuutnamen en hun huidige waarden

Kijk nu terug naar de Serial Monitor in Arduino IDE. U zult zien:
- Bekijk hoe de tabelwaarden realtime in de app worden bijgewerkt
Creatieve Aanpassing - Pas de Code aan op uw Project
Definieer Tabelrijen
Voeg attribuutrijen toe aan de tabel (maximaal 20 rijen):
Update Rijwaarden
Update individuele rijwaarden via attribuutnaam of index:
Verwerk Gegevensverzoeken van de App
Wanneer de app verbindt of een verversing vraagt:
Wis en Herbouw de Tabel
Verwerk Verbindingsevenementen
Hoe de Tabel te Gebruiken
App Interface
De tabelinterface in de DIYables Bluetooth App toont:
- Attribuutkolom: Rijlabels gedefinieerd door addRow()
- Waarde kolom: Huidige waarden bijgewerkt door sendValueUpdate()
- Auto-verversing: Waarden worden realtime bijgewerkt zodra ze binnenkomen
Tabel Limieten
- Maximum 20 rijen per tabel (MAX_TABLE_ROWS = 20)
- Attribuutnamen dienen kort maar beschrijvend te zijn
- Waarden worden als tekenreeksen weergegeven
Programmeervoorbeelden
Sensor Dashboard
Systeemstatus Monitor
GPIO Pin Status Tabel
Analoge Sensor Array
Geavanceerde Programmeertechnieken
Conditionele Opmaak met Emoji's
Gebeurtenisgestuurde Updates
Hardware Integratie Ideeën
BME280 Weerstation Tabel
Verbind een BME280 sensor om temperatuur, luchtvochtigheid en druk in de tabel weer te geven.
Multi-Sensor Dashboard
Verbind meerdere sensoren (DHT22, BMP280, LDR, MQ-135) en toon alle metingen als rijen.
Apparaatinformatie Paneel
Toon ESP32 systeeminformatie: chipmodel, flashgrootte, vrije heap, uptime en MAC-adres.
BLE versus Classic Bluetooth - Welke te Kiezen?
| Feature | BLE (Esp32BLE_Table) | Classic Bluetooth (Esp32Bluetooth_Table) |
|---|---|---|
| iOS Ondersteuning | ? Ja | ? Nee |
| Android Ondersteuning | ? Ja | ? Ja |
| Stroomverbruik | Laag | Hoger |
| Bereik | ~30-100m | ~10-100m |
| Data Snelheid | Lager | Hoger |
| Koppeling Vereist | Nee (auto-connect) | Ja (handmatig koppelproces) |
| Beste Voor | Batterijgevoede, cross-platform | Hoog doorvoersnelheid, alleen Android |
Probleemoplossing
Veelvoorkomende Problemen
1. App vindt het apparaat niet
- Zorg dat de ESP32 aanstaat en dat de sketch is geüpload
- Voor BLE: Controleer of Bluetooth en Locatie aanstaan op uw telefoon
- Voor Classic Bluetooth: Koppel het apparaat eerst via de Bluetooth-instellingen van de telefoon
- Controleer dat het juiste partitietype is geselecteerd (Huge APP)
2. Tabel toont geen gegevens
- Zorg ervoor dat sendTableStructure() wordt aangeroepen in de onDataRequest callback
- Controleer dat rijen zijn toegevoegd met addRow() vóór het verzenden van updates
- Controleer in Serial Monitor of de melding "App requested table data" verschijnt
3. Waarden worden niet bijgewerkt
- Controleer of de attribuutnaam in sendValueUpdate() exact overeenkomt met wat is toegevoegd via addRow()
- Controleer of de update-intervaltimer werkt
- Zorg dat Bluetooth nog verbonden is
4. Rijen ontbreken in de tabel
- Maximaal 20 rijen worden ondersteund
- Controleer getRowCount() om te verifiëren dat alle rijen zijn toegevoegd
- Rijen moeten worden toegevoegd vóór het verzenden van de tabelstructuur
5. Verbinding valt vaak weg
- Kom dichterbij de ESP32 (verminder afstand)
- Voor BLE: Controleer interferentie van andere BLE-apparaten
- Voor Classic Bluetooth: Zorg voor stabiele voeding van ESP32
6. Sketch te groot / onvoldoende ruimte
- Ga in Arduino IDE naar Tools > Partition Scheme en kies "Huge APP (3MB No OTA/1MB SPIFFS)" of "No OTA (Large APP)"
- De standaard partitionering biedt ongeveer 1.2MB voor app-code, onvoldoende voor Bluetooth bibliotheken
- Deze instelling biedt ongeveer 3MB door af te zien van het OTA (over-the-air update) gedeelte
Debug Tips
Voeg uitgebreide debugging toe:
Projectideeën
Monitoring Dashboards
- Weerstation display (temperatuur, vochtigheid, druk, wind)
- Server/netwerk statusmonitor
- Plantverzorgingsdashboard (bodemvocht, licht, temperatuur)
- Aquarium monitor (temperatuur, pH, TDS)
Systeeminformatie
- ESP32 systeemdiagnose tabel
- WiFi verbindingsdetails
- Geheugengebruik tracker
- Batterijstatusweergave
Gegevensregistratie
- Sensor min/max/gemiddelde tracker
- Event teller display
- Timingsstatistieken (responstijd, uptime)
- I/O pinstatus overzicht
Domotica
- Kamerspecifieke temperatuurweergave
- Apparaatstatus overzicht
- Energieverbruikssamenvatting
- Beveiligingssensor status
Integratie met Andere Bluetooth Apps
Combineren met Bluetooth Plotter
Toon waarden in de tabel en visualiseer trends in plotter:
Combineren met Bluetooth Monitor
Gebruik tabel voor gestructureerde data en monitor voor logberichten:
Volgende Stappen
Na het beheersen van het Bluetooth Tabel voorbeeld, probeer:
- Bluetooth Monitor - Voor vrije tekstlogboeken
- Bluetooth Plotter - Voor datavisualisatie en trends
- Bluetooth Temperature - Voor dedicated temperatuurweergave
- Meerdere Bluetooth Apps - Combineren van tabel met andere displays
Ondersteuning
Voor aanvullende hulp:
- Raadpleeg de API Reference documentatie
- Bezoek DIYables tutorials
- Arduino community forums