ESP32 Bluetooth Meerdere Apps Voorbeeld - Combineer Alle Bluetooth Apps in Eén Project Handleiding
Overzicht
Het Meerdere Bluetooth Apps voorbeeld laat zien hoe u meerdere Bluetooth app-interfaces kunt combineren in één ESP32-project. Laat Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge en Rotator tegelijkertijd draaien — toegankelijk via de DIYables Bluetooth STEM app. Ontworpen voor ESP32 boards met ondersteuning voor zowel BLE (Bluetooth Low Energy) als Classic Bluetooth verbindingen. Ideaal voor complexe projecten die meerdere besturings- en display-interfaces tegelijk nodig hebben.
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 Classic Bluetooth niet. Gebruik BLE als u iOS-ondersteuning nodig hebt.
Kenmerken
9 Apps in Eén: Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge en Rotator draaien gelijktijdig
Onafhankelijke Callbacks: Elke app heeft eigen event handlers
Onafhankelijke Timing: Verschillende update-intervallen per app
App Wisselen: Wissel vrij tussen apps in de mobiele app
BLE & Classic Bluetooth: Kies de Bluetooth-modus die bij uw project past
Cross-Platform: BLE werkt op Android en iOS; Classic Bluetooth werkt op Android
Laag Energieverbruik: BLE verbruikt minder stroom dan Classic Bluetooth
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.
Verbind de ESP32 met uw computer via een USB-kabel.
Start de Arduino IDE op uw computer.
Selecteer het juiste ESP32 board en de COM-poort.
Ga naar het Libraries-icoon in de linkerzijbalk van 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 krijgt een melding voor het installeren van aanvullende bibliotheekafhankelijkheden.
Klik op de Install All-knop om alle afhankelijkheden te installeren.
> Belangrijk: Omdat dit voorbeeld veel Bluetooth app-bibliotheken bevat, is het gecompileerde programma groter dan normaal. U moet het juiste partititie-schema selecteren (zie hieronder).
Kies een van de twee Bluetooth-modi afhankelijk van uw behoefte:
ESP32 Classic Bluetooth Code (werkt alleen met app op Android)
Opmerking: Classic Bluetooth wordt NIET ondersteund op iOS. Voor iOS-ondersteuning gebruikt u de BLE-code hieronder.
In Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32Bluetooth_MultipleApps, of kopieer bovenstaande code en plak deze in de editor van Arduino IDE
Belangrijk: Ga naar Tools > Partition Scheme en selecteer "Huge APP (3MB No OTA/1MB SPIFFS)". Dit is verplicht omdat het meerdere apps voorbeeld aanzienlijk meer flashgeheugen nodig heeft.
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 eruit als het volgende:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
DIYables Bluetooth - ESP32 Multiple Apps Example
Waiting for Bluetooth connection...
Ln 11, Col 1
ESP32 Dev Module on COM15
2
ESP32 BLE Code (werkt met app op Android en iOS)
In Arduino IDE, ga naar File Examples DIYables Bluetooth Esp32BLE_MultipleApps, of kopieer bovenstaande code en plak deze in de editor van Arduino IDE
Belangrijk: Ga naar Tools > Partition Scheme en selecteer "Huge APP (3MB No OTA/1MB SPIFFS)". Dit is verplicht omdat het meerdere apps voorbeeld aanzienlijk meer flashgeheugen nodig heeft.
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 eruit als het volgende:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
DIYables Bluetooth - ESP32 BLE Multiple Apps Example
Waiting for Bluetooth connection...
Ln 11, Col 1
ESP32 Dev Module on COM15
2
Mobiele App
Installeer de DIYables Bluetooth App op uw smartphone: Android | iOS
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 Instellingen > Bluetooth op uw telefoon
Zorg dat Bluetooth ingeschakeld is
Uw telefoon zoekt nu naar beschikbare apparaten
Zoek en tik op "ESP32 Multi-App" in de lijst met beschikbare apparaten
Bevestig het koppelverzoek (geen PIN vereist)
Wacht totdat onder de apparaatnaam "Gepaired" wordt weergegeven
Als u de ESP32 BLE code gebruikt, is koppelen niet nodig. Ga direct door naar de volgende stap.
Open de DIYables Bluetooth App
Bij het eerste gebruik vraagt de app om toestemming. Verleen alstublieft:
Nearby Devices toestemming (Android 12+) / Bluetooth toestemming (iOS) - nodig om te scannen en verbinding te maken met Bluetooth-apparaten
Locatie toestemming (alleen Android 11 en lager) - vereist voor oudere Android-versies om naar BLE-apparaten te scannen
Zorg dat Bluetooth aan staat op uw telefoon
Tik op het startscherm op de Connect-knop. De app scant voor zowel BLE als Classic Bluetooth apparaten.
Zoek uw apparaat in de scanresultaten en tik om te verbinden:
Voor Classic Bluetooth: tik op "ESP32 Multi-App"
Voor BLE: tik op "ESP32BLE Multi-App"
Na verbinden gaat de app automatisch terug naar het startscherm. Het startscherm toont alle beschikbare apps. De 9 apps die in de Arduino-code zijn geïnitialiseerd reageren en werken — andere apps worden getoond maar functioneren niet met deze sketch.
Tik op een van de volgende apps om open te gaan en te communiceren met de ESP32: Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge, Rotator
Wissel vrij tussen apps — ze delen allemaal dezelfde Bluetooth-verbinding
Kijk nu terug naar de Serial Monitor in Arduino IDE. U ziet:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
Creatieve Aanpassing - Pas de Code aan op Uw Project
Hoe Meerdere Apps Werken
Elke app wordt gemaakt als een afzonderlijk object en geregistreerd bij dezelfde Bluetooth-server. Ze delen de enkele Bluetooth-verbinding maar werken onafhankelijk:
> Opmerking voor Meerdere Apps: Omdat meerdere apps gelijktijdig data verzenden, kan Classic Bluetooth met zijn hogere datasnelheid nuttig zijn als u veel snel update apps hebt (bijvoorbeeld plotter op 100 ms). Voor batterijgevoede projecten wordt BLE aangeraden.
Problemen Oplossen
Veelvoorkomende Problemen
1. Apparaat niet zichtbaar in de app
Controleer of ESP32 aan staat en de sketch is geüpload
Voor BLE: Zorg dat Bluetooth en Locatie op uw telefoon aanstaan
Voor Classic Bluetooth: Koppel het apparaat eerst in de Bluetooth-instellingen van uw telefoon
Controleer of het juiste partititie-schema is geselecteerd (Huge APP) — dit is kritiek voor multi-app voorbeelden
2. Sketch is te groot / niet genoeg ruimte
In Arduino IDE, ga naar Tools > Partition Scheme en selecteer "Huge APP (3MB No OTA/1MB SPIFFS)" of "No OTA (Large APP)"
Het standaard partititie-schema geeft maar ~1,2MB voor app-code, wat niet genoeg is voor de multi-app voorbeeld
Deze instelling vergroot de beschikbare ruimte naar ~3MB ten koste van de OTA (over-the-air) update-partitie
Als het nog steeds te groot is, verwijder dan ongebruikte apps
3. Sommige apps verschijnen niet in de mobiele app
Zorg dat elke app is geregistreerd met bluetoothServer.addApp()
Controleer of de include-headers overeenkomen met de aangemaakte app-objecten
Zorg dat alle apps geregistreerd zijn vóór bluetoothServer.begin()
4. Dataveranderingen zijn traag of vertraagd
Verminder het aantal apps dat tegelijk data verzendt
Verhoog update-intervallen voor minder kritieke apps
BLE heeft beperkte bandbreedte — spreid updates in de tijd
5. ESP32 crasht of herstart
Controleer vrije heap geheugen met ESP.getFreeHeap()
Verminder het aantal tabelrijen of plotter-monsters
Zorg voor goede voeding (USB 3.0 of externe voeding)
6. Verbinding valt vaak weg
Kom dichter bij de ESP32 (verminder afstand)
Verminder de hoeveelheid data die verzonden wordt
Verspreid update-intervallen zodat apps niet tegelijk zenden
Energie monitor (Gauge + Plotter + Table + Monitor)
Volgende Stappen
Nu u meerdere Bluetooth apps combineert, hebt u alle tools om complexe ESP32-projecten te maken met rijke mobiele interfaces. Verken elk individueel app-tutorial voor diepere API-kennis:
Bluetooth Monitor - Tekstgebaseerde seriële monitor
Bluetooth Chat - Tweerichtingsberichtgeving
Bluetooth Slider - Waardebediening met schuifregelaars
U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!