Ratgeber · 13 Min. Lesezeit

ESP32 per Handy steuern: BlueGrays IoT in 5 Schritten einrichten

ESP32 per Handy steuern: Relais und DHT22 mit BlueGrays IoT anschließen, Code von Ohmi, 5 Einrichtungsschritte, Diagramme und Lösungen für typische Fehler.

ESP32 per Handy steuern heißt: Du schaltest ein Relais, eine LED oder einen Motor am Board mit dem Smartphone in deiner Tasche ein und aus und siehst Sensorwerte direkt auf dem Display. Ein schönerer Einstieg ins IoT ist kaum denkbar. Der ESP32 bringt 2,4-GHz-WLAN und Bluetooth schon mit, ein Zusatzmodul brauchst du also nicht. Die eigentliche Frage ist, welchen Weg du wählst. Für die ESP32-Steuerung per App kannst du einen eigenen Webserver programmieren, dich per Bluetooth verbinden oder einen Telegram-Bot aufsetzen. Auch Cloud-Dashboards wie Blynk und die Arduino IoT Cloud kommen in Frage. Jede Methode unterscheidet sich bei Einrichtungsaufwand, Reichweite und Einschränkungen.

In dieser Anleitung richtest du Schritt für Schritt den kürzesten Weg ein: die Funktion BlueGrays IoT in der BlueGrays-App. Den Code schreibt Ohmi für dich. Du baust nur die Schaltung auf und lädst den Code mit der Arduino IDE auf den ESP32. Das Board verbindet sich verschlüsselt mit dem BlueGrays-Server, deshalb müssen Handy und Board nicht im selben Netzwerk sein. Die Lampe zu Hause schaltest du so auch vom Büro aus über mobile Daten. Zuerst baust du mit einem Relais einen Lampenschalter. Danach ergänzt du einen DHT22 und holst Temperatur und Luftfeuchtigkeit als Live-Werte und Diagramme aufs Handy. Am Ende findest du einen Vergleich mit den anderen Methoden und eine Tabelle mit Lösungen für die häufigsten Fehler.

ESP32-Entwicklungsboard, das per Handy gesteuert werden soll
Der ESP32 geht über sein eingebautes 2,4-GHz-WLAN direkt ins Internet; für die Handy-Steuerung brauchst du kein zusätzliches Funkmodul.

5 Wege, einen ESP32 per Handy zu steuern

  • Lokaler Webserver: Der ESP32 liefert eine Webseite aus, und du rufst im Handy-Browser die IP-Adresse des Boards auf. Ein Konto brauchst du nicht, normalerweise klappt der Zugriff aber nur aus demselben WLAN. Details findest du im Beitrag ESP32 Async Web Server.
  • Bluetooth Classic und BLE: Kein Internet, kein Router nötig, das Handy verbindet sich direkt mit dem Board. In Innenräumen liegt die Reichweite meist bei etwa 10 Metern. Beide Varianten erklären wir in der Anleitung ESP32 Bluetooth.
  • Telegram-Bot: Du schickst dem Board Befehle per Nachricht und bekommst Benachrichtigungen zurück. Das funktioniert auch von unterwegs, bietet aber kein Dashboard mit Diagrammen oder Schiebereglern. Zur Einrichtung siehe ESP32 Telegram Bot.
  • Cloud-Dashboards (Blynk, Arduino IoT Cloud): In der Webkonsole legst du Vorlagen und Variablen an, schreibst den Code selbst und gestaltest das Dashboard auf dem Handy selbst. Das ist flexibel, du musst dich aber in mehrere Oberflächen und Konzepte einarbeiten. Für Blynk gibt es die Blynk-ESP32-Anleitung.
  • BlueGrays IoT: Du wählst in der App eine von 8 fertigen Vorlagen. Ohmi erstellt den Code mit deinen Pin-Einstellungen und deinem Geräteschlüssel. Schalter, Schieberegler, Farbwähler und Diagramme erscheinen auf dem Handy automatisch passend zur Vorlage. Du musst weder ein Dashboard gestalten noch einen Server aufsetzen.

Was du brauchst: Bauteile und Software

BauteilWofür?Hinweis
ESP32-EntwicklungsboardMikrocontroller mit WLANUnterstützt werden ESP32 Dev Module, WROOM, S3 und C3
USB-DatenkabelCode hochladen und StromversorgungMit reinen Ladekabeln erscheint kein Port
5-V-RelaismodulLampe schaltenAm besten ein Modul mit Optokoppler, das mit 3,3-V-Signal schaltet
LED + 220-Ω-WiderstandSicherer erster Test statt RelaisIm Code RELAY_ACTIVE_LOW = false setzen
DHT22 (optional)Temperatur und Luftfeuchtigkeit messenFür die Vorlage Raumstation
Breadboard und JumperkabelVerbindungen herstellenFür Module sind Male-Female-Kabel praktisch
2,4-GHz-WLANInternetzugang für das BoardMit 5-GHz-Netzen verbindet sich das Board nicht
Arduino IDECode aufs Board ladenEspressif-Paket esp32 in Version 3.x nötig
BlueGrays-AppEinrichtung und Steuerung per HandyiOS und Android; dein erstes Gerät ist kostenlos

Wie funktioniert die ESP32-Steuerung per App?

Bei BlueGrays IoT verbinden sich Handy und ESP32 nicht direkt miteinander. Nach dem Einschalten verbindet sich das Board zuerst mit deinem 2,4-GHz-WLAN zu Hause. Dann baut es über Port 443 eine verschlüsselte WebSocket-Verbindung (TLS) zum BlueGrays-Server auf und hält sie dauerhaft offen. Die App auf dem Handy verbindet sich mit demselben Server. Tippst du auf den Lampenschalter, geht der Befehl vom Handy zum Server und vom Server zum Board. Weil die Verbindung schon steht, kommt er ohne Verzögerung an. Ein Temperaturwert vom Board nimmt denselben Weg in umgekehrter Richtung. Port 443 nutzen auch Websites. Deshalb brauchst du keine Portweiterleitung am Router, keinen eigenen Server und musst die IP-Adresse des Boards nicht kennen.

Was das Board beim Server ausweist, ist der Geräteschlüssel. Das ist ein geheimer Text, der mit bgd_ beginnt und von der App beim Anlegen des Geräts erzeugt wird. Das Board schickt den Schlüssel beim Verbindungsaufbau im Header mit. So leitet der Server Befehle vom Handy an das richtige Board weiter. Der Schlüssel wird nicht im seriellen Monitor ausgegeben. Bricht die Verbindung ab, versucht es die Bibliothek BlueGraysIoT selbst erneut, in wachsenden Abständen. Werte, die offline gemessen wurden, schickt sie nach dem Wiederverbinden, und nach einem Stromausfall stellt sie den letzten Zustand der Schalter wieder her. Es reicht, wenn Board und Handy Internet haben: Das Board hängt im WLAN zu Hause, das Handy kann in einer anderen Stadt im Mobilfunknetz sein.

Schaltung: Relaismodul an den ESP32 anschließen

Bei den Vorlagen Lampenschalter und Raumstation gelten diese Standard-Pins: Der IN-Pin des Relais kommt an GPIO26, der Datenpin des DHT22 an GPIO4. Im 3. Schritt der Einrichtung kannst du die Pins ändern. Die Pinbelegung deines Boards prüfst du mit dem Tool Pinout. Auf manchen Boards steht am 5-V-Pin VIN, auf anderen 5V.

BauteilBauteil-PinESP32-PinHinweis
RelaismodulVCC5V (VIN)Die Spule braucht 5 V; bei USB-Versorgung liegen an diesem Pin etwa 5 V an
RelaismodulGNDGNDGemeinsame Masse
RelaismodulINGPIO263,3-V-Steuersignal
LED (zum Testen)Langes Bein (+)GPIO26Mit 220-Ω-Widerstand; kurzes Bein an GND, im Code RELAY_ACTIVE_LOW = false
DHT22VCC3V3Für die Raumstation
DHT22DATAGPIO4Beim nackten Sensor ist ein 10-kΩ-Pull-up nötig; Module haben ihn schon auf der Platine
DHT22GNDGNDGemeinsame Masse
Eine 230-V-Netzlampe oder Steckdose per Relais zu schalten ist gefährlich. Mach das nur mit jemandem, der sich damit auskennt, und verdrahte nur bei gezogenem Netzstecker. Lass keine offenen Kontakte, und bau die Schaltung in ein geschlossenes Gehäuse ein. Die App zeigt bei den Relais-Vorlagen dieselbe Warnung: Teste zuerst mit einer LED. Der ESP32 arbeitet mit 3,3-V-Logik. Die meisten 5-V-Relaismodule schalten mit diesem Signal, aber nicht alle; nimm deshalb ein Modul mit Optokoppler. Mehr dazu im Beitrag Was ist ein Relaismodul?.

BlueGrays IoT einrichten: die 5 Schritte in der App

Öffne in der App Werkstatt › Meine Geräte › Neues Gerät hinzufügen. Oben auf dem Bildschirm siehst du einen Zähler wie „Schritt 1 / 5“. Die ersten drei Schritte erledigst du am Handy, den vierten am Computer, den fünften wieder am Handy.

  1. Board und Vorlage: Wähle bei „Welches Board hast du?“ den ESP32 und markiere bei „Was soll es tun?“ eine der 8 Vorlagen. Für den ersten Versuch eignen sich „Relais-Lampe“ oder die „Raumstation“ mit Sensor. Gib dem Gerät einen Namen, den du leicht wiedererkennst, etwa „Wohnzimmerlampe“.
  2. Bauteile und Schaltung: Die Liste „Bauteile vorbereiten“ zeigt, was die Vorlage braucht. Der Plan „Kabel anschließen“ zeigt, welcher Anschluss an welchen Pin kommt. Bei Relais-Vorlagen siehst du die Warnung „Wenn du mit 230 V arbeitest, mach das mit jemandem, der sich auskennt. Teste zuerst mit einer LED.“
  3. WLAN und Code: Gib Netzwerkname und Passwort deines WLANs ein. Der Name muss exakt stimmen und zum 2,4-GHz-Band gehören. Wenn du willst, ersetzt du unter „Anschluss-Pins“ GPIO26 und GPIO4 durch andere Pins. Tippe dann auf „Gerät erstellen und Code vorbereiten“. Ohmi erstellt den Code mit deinem Geräteschlüssel; mit „Code kopieren“ oder „Teilen“ bringst du ihn auf deinen Computer.
  4. In die Arduino IDE hochladen: Du lädst den Code auf den ESP32. Die Teilschritte aus der App erklären wir im nächsten Abschnitt einzeln.
  5. Verbindung: Der Bildschirm „Warte auf dein Board“ springt automatisch weiter, sobald sich das Board mit dem Server verbindet.

Schritt 4 und 5: Code hochladen und Verbindung prüfen

  1. Installiere die Arduino IDE, falls sie noch fehlt. Die Schritte findest du im Beitrag Arduino IDE installieren.
  2. Suche im Boardverwalter nach „esp32“ und installiere das esp32-Paket von Espressif. Du brauchst Version 3.x; ist noch die alte 2.x installiert, aktualisiere sie. Die Installation des Pakets steht auch im Beitrag Was ist der ESP32?.
  3. Schließ das Board mit einem USB-Datenkabel an. Wähle unter Werkzeuge › Board das ESP32 Dev Module (oder dein Board-Modell) und unter Werkzeuge › Port den neu aufgetauchten Port. Erscheint kein Port, tausche das Kabel. Installiere danach je nach USB-Chip deines Boards den Treiber für CP210x oder CH340.
  4. Suche im Bibliotheksverwalter nach BlueGraysIoT und klicke auf Installieren. Wenn nach Abhängigkeiten gefragt wird, wähle „Alle installieren“; so kommen auch WebSockets, ArduinoJson und DHT sensor library mit. Hängst du fest, hilft die Anleitung Arduino-Bibliothek hinzufügen.
  5. Öffne einen neuen Sketch, lösche den Inhalt, füge den aus der App kopierten Code ein und klicke auf Hochladen. Bleibt das Ausgabefenster unten bei „Connecting…“ stehen, halte die BOOT-Taste am Board gedrückt. Sobald die Prozentangaben beim Schreiben erscheinen, lässt du los.
  6. Öffne den seriellen Monitor und stelle die Baudrate auf 115200. Zuerst solltest du „Wi-Fi connected“ sehen, ein paar Sekunden später die Zeile „BlueGrays IoT: connected“.

Sobald im seriellen Monitor „connected“ erscheint, wechselt der Bildschirm „Warte auf dein Board“ auf dem Handy zu „Verbunden: Die Werte kommen jetzt live.“ Tippe nun auf den Lampenschalter: Du solltest das Klicken des Relais hören oder die LED leuchten sehen. Verbindet sich das Board nicht innerhalb von 2 Minuten, bittet dich die App, drei Dinge zu prüfen. Hast du das 2,4-GHz-Netz gewählt? Steht im seriellen Monitor „Wi-Fi connected“? Stimmt die Groß- und Kleinschreibung im Passwort? Kommt nicht einmal die erste Zeile, liegt das Problem beim WLAN. Dann hilft dir die Checkliste im Beitrag ESP32 verbindet sich nicht mit dem WLAN.

Erster Code: Lampe per Handy ein- und ausschalten

Der Code, den die App für die Vorlage „Relais-Lampe“ erstellt, sieht ungefähr so aus. Die drei obersten Zeilen sind bereits mit deinem Geräteschlüssel, deinem Netzwerknamen und deinem Passwort ausgefüllt; hier stehen Platzhalter. Der Rest ist kurz: eine Relaisfunktion, eine Schalterdefinition und ein einzeiliges loop().

C++ (Arduino IDE)
1/*
2 * Salon lambası · BlueGrays IoT
3 * BlueGrays · bluegrays.com
4 * Bu kodu paylaşma: içinde cihaz anahtarın ve Wi-Fi şifren var.
5 * Do not share this code: it contains your device key and Wi-Fi password.
6 */
7
8#include <BlueGraysIoT.h>
9
10// Uygulama bu üç satırı senin bilgilerinle doldurur / The app fills these three lines with your details
11const char *DEVICE_KEY = "bgd_UYGULAMADAKI_ANAHTARIN";
12const char *WIFI_NAME = "EV_AGI_2_4_GHZ";
13const char *WIFI_PASSWORD = "WIFI_SIFREN";
14
15BlueGraysIoT bg(DEVICE_KEY);
16
17const int RELAY_PIN = 26;
18const bool RELAY_ACTIVE_LOW = true;  // çoğu röle modülü LOW ile çeker / most relay modules switch on LOW
19void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
20
21void setup() {
22  Serial.begin(115200);
23  pinMode(RELAY_PIN, OUTPUT);
24  setRelay(false);                  // açılışta lamba kapalı / lamp off at power-up
25  bg.onSwitch("lamba", setRelay);   // uygulamadaki "Lamba" anahtarı / the "Lamba" switch in the app
26  bg.setDebug(Serial);              // durum mesajları Seri Port Ekranı'na / status messages to the Serial Monitor
27  bg.setLanguage(BG_LANG_TR);
28  bg.begin(WIFI_NAME, WIFI_PASSWORD);
29}
30
31void loop() {
32  bg.loop();  // burada uzun delay() kullanma / avoid long delay() calls here
33}
34
ZeileAufgabe
#include Bindet die Bibliothek ein; WLAN, verschlüsselte Verbindung und Wiederverbinden übernimmt die Bibliothek
DEVICE_KEY, WIFI_NAME, WIFI_PASSWORDGeräteschlüssel (beginnt mit bgd_), Name und Passwort des 2,4-GHz-Netzes; die App trägt sie ein
BlueGraysIoT bg(DEVICE_KEY)Erzeugt mit dem Schlüssel das Objekt bg; alle weiteren Befehle laufen über dieses Objekt
RELAY_PIN = 26Pin, an dem der IN-Anschluss des Relais hängt; hast du im 3. Schritt den Pin geändert, steht hier eine andere Zahl
RELAY_ACTIVE_LOW = trueDie meisten Relaismodule schalten bei LOW; testest du mit einer LED, setze false, sonst arbeitet sie umgekehrt
setRelay(bool on)Schreibt bei on = true den aktiven Pegel: LOW beim Active-Low-Modul, sonst HIGH
setRelay(false) (in setup)Beim Einschalten des Boards startet die Lampe ausgeschaltet
bg.onSwitch("lamba", setRelay)Ruft bei jeder Änderung des Lampenschalters in der App setRelay mit true oder false auf
bg.setDebug(Serial)Gibt Statusmeldungen zur Verbindung im seriellen Monitor aus
bg.setLanguage(BG_LANG_TR)Gibt die Statusmeldungen auf Türkisch aus
bg.begin(WIFI_NAME, WIFI_PASSWORD)Startet die Verbindung mit dem WLAN und dem BlueGrays-Server
bg.loop()Verarbeitet eingehende Befehle und hält die Verbindung am Leben; muss in loop() ständig aufgerufen werden
Verwende in loop() kein langes delay(). Mit delay(5000) kann das Board 5 Sekunden lang bg.loop() nicht aufrufen. Schaltbefehle vom Handy kommen verzögert an, und die Verbindung kann abbrechen. Brauchst du Zeitsteuerung, nimm millis() wie im nächsten Beispiel. Das Prinzip erklären wir im Beitrag Arduino millis() und delay().

Sensor ergänzen: Raumstation (Relais + DHT22)

Jetzt hängen wir einen DHT22 an dasselbe Board und schicken Daten ans Handy. Wählst du in der App die Vorlage „Raumstation“, bekommst du neben dem Lampenschalter auch Temperatur (°C) und Luftfeuchtigkeit (%) samt Diagrammen. Der DHT22 misst von -40 bis 80 °C mit etwa ±0,5 °C Genauigkeit. Die Luftfeuchtigkeit erfasst er im Bereich 0–100 %, und er lässt sich höchstens alle 2 Sekunden auslesen. Schließ den Datenpin an GPIO4, VCC an 3V3 und GND an GND an. Wie die DHT-Familie funktioniert, vergleichen wir im Beitrag DHT11 Temperatur- und Feuchtigkeitssensor.

C++ (Arduino IDE)
1/*
2 * Oda istasyonu · BlueGrays IoT
3 * BlueGrays · bluegrays.com
4 * Bu kodu paylaşma: içinde cihaz anahtarın ve Wi-Fi şifren var.
5 * Do not share this code: it contains your device key and Wi-Fi password.
6 */
7
8#include <BlueGraysIoT.h>
9#include <DHT.h>
10
11const char *DEVICE_KEY = "bgd_UYGULAMADAKI_ANAHTARIN";
12const char *WIFI_NAME = "EV_AGI_2_4_GHZ";
13const char *WIFI_PASSWORD = "WIFI_SIFREN";
14
15BlueGraysIoT bg(DEVICE_KEY);
16
17const int RELAY_PIN = 26;
18const bool RELAY_ACTIVE_LOW = true;  // çoğu röle modülü LOW ile çeker / most relay modules switch on LOW
19void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
20DHT dht(4, DHT22);                   // DHT22 veri ucu GPIO4 / DHT22 data on GPIO4
21unsigned long lastReadMs = 0;
22
23void setup() {
24  Serial.begin(115200);
25  pinMode(RELAY_PIN, OUTPUT);
26  setRelay(false);
27  bg.onSwitch("lamba", setRelay);
28  dht.begin();
29  bg.setDeadband("sicaklik", 0.1);   // 0,1 °C değişmeden gönderme / send only after a 0.1 °C change
30  bg.setDeadband("nem", 1.0);        // %1 değişmeden gönderme / send only after a 1 % change
31  bg.setDebug(Serial);
32  bg.setLanguage(BG_LANG_TR);
33  bg.begin(WIFI_NAME, WIFI_PASSWORD);
34}
35
36void loop() {
37  bg.loop();  // burada uzun delay() kullanma / avoid long delay() calls here
38  if (millis() - lastReadMs >= 2000) {  // DHT22 en fazla 2 saniyede bir okunur / DHT22 reads at most every 2 s
39    lastReadMs = millis();
40    bg.send("sicaklik", dht.readTemperature());
41    bg.send("nem", dht.readHumidity());
42  }
43}
44

Der Relais-Teil ist identisch mit dem ersten Code; neu sind drei Dinge. Erstens die Zeile bg.send("sicaklik", dht.readTemperature()): Sie schickt einen Wert vom Board an die App, der erste Parameter ist der Name der Variable in der App. Zweitens die Zeile bg.setDeadband("sicaklik", 0.1). Sie legt die kleinste Änderung fest: Die Temperatur wird erst nach 0,1 °C Änderung erneut gesendet, bei der Luftfeuchtigkeit liegt die Schwelle bei 1 %. Drittens die Prüfung millis() - lastReadMs >= 2000 in loop. Der Sensor wird alle 2 Sekunden gelesen, dazwischen läuft bg.loop() ohne Wartezeit weiter. Die Bibliothek sendet einen Wert nur, wenn er sich ändert, und überschreitet nie das Tempo deines Plans. Zwischen zwei Sendungen derselben Variable liegen im Gratis-Plan mindestens 1 Sekunde, bei Premium mindestens 0,2 Sekunden. Diese Grenzen prüft der Server; Zahlen im Code zu ändern hebelt sie nicht aus. Bleibt die Raumtemperatur minutenlang bei 23,4 °C, sendet das Board nichts Neues, bei 23,5 °C geht eine einzige Nachricht raus. Bei lockerem Kabel oder fehlendem Pull-up ist der Messwert ungültig (NaN). Kommen keine Werte an, prüfe zuerst die Verbindung an GPIO4 und die Stromversorgung.

Was siehst du auf dem Handy?

  • Status: Oben auf dem Gerätebildschirm steht Online oder Offline, darunter „Letzte Daten vor …“. Hier erkennst du als Erstes, ob das Board wirklich verbunden ist.
  • Steuerelemente: Bei der Lampen-Vorlage erscheint ein Ein/Aus-Schalter. Die Vorlage RGB-LED-Streifen bietet Farbwähler, Helligkeit von 0–100 % und Effektauswahl. Bei der Vorhang-Vorlage gibt es einen Schieberegler für den Winkel von 0–180°.
  • Live-Werte und Diagramme: Es gibt die Zeiträume 1 Std., 24 Std., 7 Tage und 30 Tage. In der 7- und 30-Tage-Ansicht siehst du Stundenmittelwerte. Im Diagramm stehen Minimum, Maximum und letzter Wert. Solange das Board verbunden bleibt, kommt jede Minute ein neuer Punkt hinzu.
  • Code und Schlüssel: Den kompletten Code, den Geräteschlüssel und die WLAN-Daten findest du auch später hier. Musst du das Board neu programmieren, kopiere den Code von hier.
  • Schlüssel erneuern: Nutze das, wenn jemand deinen Schlüssel gesehen hat oder du das Board getauscht hast. Der alte Schlüssel ist sofort ungültig, du musst nur einmal den neuen Code aufs Board laden.
  • Gerät entfernen: Gerät und Diagrammverlauf werden gelöscht, dein Geräteplatz wird wieder frei.

Gratis und Premium: Wie viel kannst du nutzen?

Dein erstes Gerät ist kostenlos. Für einen Lampenschalter oder eine Raumstation mit einem ESP32 brauchst du nichts weiter. Bei der Raumstation sind Temperatur und Luftfeuchtigkeit zwei getrennte Variablen. Im Gratis-Plan kommen beide Live-Werte aufs Handy, einen Diagrammverlauf gibt es aber nur für eine Variable. Die Unterschiede der Pläne stehen unten; Details im Beitrag Was schaltet BlueGrays Premium frei?.

FunktionGratisPremium
Anzahl Geräte110
Variablen mit Diagrammverlauf120
Verlaufsdauer24 Stunden30 Tage
Mindestabstand zwischen zwei Sendungen derselben Variable1 Sekunde0,2 Sekunden

Vergleich mit anderen Methoden

MethodeZugriff von unterwegsDein Aufwand bei der EinrichtungDashboard und DiagrammeWann sinnvoll?
Lokaler WebserverNormalerweise nicht, nur im selben NetzESP32-Code und HTML-Seite schreibenGestaltest du selbstSteuerung zu Hause ohne Internet
Bluetooth / BLENein, ca. 10 mBoard-Code und eine App auf dem HandyAbhängig von der verwendeten AppOrte ohne Router, Steuerung aus der Nähe
Telegram-BotJaBot anlegen und Code schreibenNachrichten und Buttons, keine DiagrammeBenachrichtigungen und einfache Befehle
BlynkJaVorlage, Datastreams, Dashboard und CodeFertige Widgets und DiagrammeWer sein eigenes Dashboard gestalten will
Arduino IoT CloudJaIm Arduino-Konto Thing und Variablen anlegen, Code vervollständigenDashboard-WidgetsWer im Arduino-Ökosystem bleibt
BlueGrays IoTJaSchaltung aufbauen und Code hochladenFertige Steuerelemente und Diagramme je nach VorlageSchneller Einstieg und Nutzung beim Lernen

Die richtige Wahl hängt von deinem Bedarf ab. Gibt es gar kein Internet, bleiben nur Bluetooth oder ein lokaler Webserver. BlueGrays IoT, Blynk und die Arduino IoT Cloud setzen voraus, dass Board und Handy online sind. Willst du die Oberfläche komplett selbst gestalten oder flexibel z. B. an Home Assistant anbinden, bieten ESP32 MQTT und Cloud-Dashboards mehr Möglichkeiten. BlueGrays IoT hat 8 fertige Vorlagen. Dafür kommen Schaltplan, Bauteilliste, Code und Handy-Oberfläche fertig und aufeinander abgestimmt. Beim Lernen sinkt so die Gefahr, irgendwo einen Fehler einzubauen.

Sicherheit: Schlüssel, WLAN-Passwort und Code

  • Der Geräteschlüssel ist die Identität deines Boards. Wer den mit bgd_ beginnenden Schlüssel kennt, kann sich als dein Board ausgeben. Teile ihn deshalb nicht in Screenshots, Foren oder Chatgruppen.
  • Das WLAN-Passwort bleibt auf dem Handy. Es wird nicht an den Server geschickt; der Netzwerkname wird dagegen mit dem Gerät gespeichert, damit der Code später wieder angezeigt werden kann. Im Code auf dem Board steht das Passwort aber im Klartext.
  • Teile den Code nicht. Wie auch die App warnt, stehen im Code dein Geräteschlüssel und dein WLAN-Passwort. Willst du ihn in einem Forum zeigen, um Hilfe zu bekommen, lösche vorher die Zeilen DEVICE_KEY, WIFI_NAME und WIFI_PASSWORD.
  • Die Verbindung ist verschlüsselt. Der Datenverkehr zwischen Board und Server läuft über Port 443 mit TLS, niemand im selben Netz kann die Befehle mitlesen.
  • Im Zweifel den Schlüssel erneuern. Die Schaltfläche Schlüssel erneuern macht den alten Schlüssel sofort ungültig. Gibst du das Board weiter, erneuere ebenfalls den Schlüssel oder entferne das Gerät.

Häufige Fehler und Lösungen

SymptomMögliche UrsacheLösung
„Wi-Fi connected“ erscheint nie im seriellen Monitor5-GHz-Netz gewählt oder Fehler bei Groß-/Kleinschreibung im PasswortNamen des 2,4-GHz-Netzes eingeben; tragen beide Bänder im Router denselben Namen, trennen; Passwort sorgfältig neu eingeben
Kein Port unter Werkzeuge › PortReines Ladekabel oder fehlender TreiberDatenkabel verwenden; je nach Chip CP210x- oder CH340-Treiber installieren
Upload bleibt bei „Connecting…“ hängenBoard geht nicht in den Upload-ModusBOOT-Taste gedrückt halten, beim Schreibstart loslassen; mehr im Beitrag Arduino-Code lässt sich nicht hochladen
Kompilieren bricht mit Fehlern zum ESP32-Core abAlte esp32-Paketversion 2.x installiertIm Boardverwalter auf 3.x aktualisieren
„No such file or directory“ (BlueGraysIoT.h, DHT.h, WebSockets)Bibliothek oder Abhängigkeiten nicht installiertBlueGraysIoT neu installieren und „Alle installieren“ wählen; Fehlendes einzeln nach Namen suchen
Wirre Zeichen im seriellen MonitorBaudrate nicht 115200Baudrate im seriellen Monitor auf 115200 stellen
„Wi-Fi connected“ ja, aber kein „BlueGrays IoT: connected“Netz ohne Internet, Firmennetz blockiert oder Code mit altem Schlüssel von vor der ErneuerungMit dem Handy-Hotspot testen; aktuellen Code aus dem Bildschirm Code und Schlüssel hochladen
Board startet neu, wenn das Relais klicktZu schwache Stromversorgung (Brownout)Gutes Kabel und starkes Netzteil verwenden, Relais an 5V versorgen; siehe ESP32 Brownout
LED leuchtet, obwohl der Schalter aus istRELAY_ACTIVE_LOW wie fürs Relais auf true gelassenBei direkt angeschlossener LED RELAY_ACTIVE_LOW = false setzen
Analoger Sensor liefert bei aktivem WLAN immer denselben WertSensor hängt an einem ADC2-PinEinen ADC1-Pin (GPIO32–39) verwenden; Details im Beitrag Was ist ein ADC?
Temperatur- und Feuchtewerte kommen nicht anDHT22-Datenpin am falschen Pin oder Pull-up fehltDATA an GPIO4, VCC an 3V3; beim nackten Sensor 10-kΩ-Pull-up ergänzen

IoT-Projektideen mit dem ESP32

Hast du den Weg zwischen Board, Server und Handy einmal eingerichtet, ist ein neues Gerät in wenigen Minuten hinzugefügt. Fang mit dem Lampenschalter an, sieh dann mit dem DHT22, wie die Daten aufs Handy fließen, und wag dich danach an größere Projekte wie Bewässerung oder Vorhang. In der BlueGrays-App findest du diese ESP32-IoT-Projekte Schritt für Schritt mit Schaltplan und Code. Nutze im Tab Entdecken den Filter für IoT-Projekte, oder verbinde dieselbe Schaltung über die Karte „Als IoT-Gerät einrichten“ auf der Projektseite direkt mit deinem Handy.

Häufige Fragen

Wie kann ich einen ESP32 per Handy steuern?

Einen ESP32 steuerst du per Handy über einen lokalen Webserver, Bluetooth, einen Telegram-Bot oder Cloud-Dashboards. Mit BlueGrays IoT öffnest du Werkstatt › Meine Geräte › Neues Gerät hinzufügen. Du wählst Board und Vorlage, gibst die WLAN-Daten ein und lädst den von Ohmi erstellten Code mit der Arduino IDE hoch. Sobald das Board verbunden ist, erscheinen Schalter und Werte auf dem Handy.

Kann ich einen ESP32 ohne Internet per Handy steuern?

Mit BlueGrays IoT nicht; Board und Handy müssen beide online sein, weil die Befehle über den Server laufen. Für die Steuerung ohne Internet kannst du Bluetooth (BLE) oder einen ESP32-Webserver im selben Netz verwenden.

Kann ich meinen ESP32 aus einer anderen Stadt steuern?

Ja. Board und Handy verbinden sich mit demselben Server, sie müssen also nicht im selben Netz sein. Das Board hängt im 2,4-GHz-WLAN zu Hause, das Handy kann im Mobilfunknetz sein. Portweiterleitung, feste IP oder ein eigener Server sind nicht nötig.

Kostet BlueGrays IoT etwas?

Dein erstes Gerät ist kostenlos. Der Gratis-Plan umfasst 1 Gerät, Diagrammverlauf für 1 Variable und 24 Stunden Verlauf. Premium schaltet 10 Geräte, Diagrammverlauf für 20 Variablen und bis zu 30 Tage Verlauf frei.

ESP32 per Bluetooth oder WLAN steuern – was ist besser?

Bluetooth braucht weder Internet noch Router, die Reichweite liegt in Innenräumen aber meist bei etwa 10 Metern. Über WLAN und Server steuerst du das Board von überall auf der Welt, zusätzlich werden Diagramme und Verlauf gespeichert. Bist du immer zu Hause und hast keinen Router, passt Bluetooth; willst du Fernzugriff, ist WLAN die bessere Wahl.

Wie viele Geräte kann ich mit BlueGrays IoT verbinden?

Im Gratis-Plan 1 Gerät, mit Premium 10 Geräte. Unterstützt werden ESP32 (Dev Module, WROOM, S3, C3) und Raspberry Pi Pico W. Entfernst du ein Gerät, wird dein Geräteplatz wieder frei.

Alle Projekte ansehen
ESP32 IoT-Lampenschalter (Relais)
#372Anfänger
IoT

ESP32 IoT-Lampenschalter (Relais)

Schalte deine Lampe per Handy ein und aus, egal wo du bist. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Relais-Lampe in der App, gebaut mit einem ESP32 und einem Relaismodul und zuerst mit einer LED getestet. Geh zu Werkstatt › Geräte › Gerät hinzufügen und wähle Relais-Lampe; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
ESP32 IoT-Raumstation (Relais + DHT22)
#371Mittel
IoT

ESP32 IoT-Raumstation (Relais + DHT22)

Schalte deine Lampe per Handy ein und sieh Temperatur und Luftfeuchtigkeit deines Zimmers live, egal wo du bist. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Raumstation in der App, gebaut mit einem ESP32, einem Relaismodul und einem DHT22. Geh zu Werkstatt › Geräte › Gerät hinzufügen und wähle Raumstation; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
1
ESP32 IoT-Bewässerung (Bodensensor + Pumpe)
#376Mittel
IoT

ESP32 IoT-Bewässerung (Bodensensor + Pumpe)

Die Pumpe springt an, wenn die Erde im Topf austrocknet, und du siehst die Bodenfeuchte live am Handy. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Bodenfeuchte + Pumpe in der App, gebaut mit einem ESP32, einem Bodenfeuchtesensor, einem Relais und einer Mini-Wasserpumpe. Geh zu Werkstatt › Geräte › Gerät hinzufügen; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
ESP32 IoT-RGB-LED-Streifen (WS2812B)
#374Mittel
IoT

ESP32 IoT-RGB-LED-Streifen (WS2812B)

Steuere das Licht in deinem Zimmer per Handy: Farbe wählen, Helligkeit einstellen, Regenbogen- oder Atmen-Effekt einschalten. Dies ist die Anleitung zur IoT-Vorlage RGB-LED-Streifen in der App, gebaut mit einem ESP32 und einem WS2812B-Streifen mit 30 LEDs. Geh zu Werkstatt › Geräte › Gerät hinzufügen und wähle RGB-LED-Streifen; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
1
ESP32 IoT-Vorhangöffner (SG90-Servo)
#378Mittel
IoT

ESP32 IoT-Vorhangöffner (SG90-Servo)

Tipp auf dem Handy auf + oder −, und der Servo dreht sich im selben Moment auf diesen Winkel: Öffne und schließ einen Modellvorhang, den Wendestab einer Jalousie oder eine kleine Klappe von überall. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Servo-Vorhang in der App, gebaut mit einem ESP32 und einem SG90-Servo mit nur 3 Kabeln. Geh zu Werkstatt › Geräte › Gerät hinzufügen; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel.

0.0(0)
1
Pico W IoT-Temperatur und Feuchte (DHT22)
#373Anfänger
IoT

Pico W IoT-Temperatur und Feuchte (DHT22)

Sieh Temperatur und Luftfeuchtigkeit deines Zimmers live auf dem Handy. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Temperatur und Luftfeuchte in der App, gebaut mit einem Raspberry Pi Pico W und einem DHT22. Geh zu Werkstatt › Geräte › Gerät hinzufügen, wähle Pico W als Board und Temperatur und Luftfeuchte als Vorlage; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
1
Pico W IoT-Türsensor (Reedkontakt)
#375Anfänger
IoT

Pico W IoT-Türsensor (Reedkontakt)

Ist die Tür oder das Fenster offen geblieben? Schau auf dem Handy nach. Dieses Projekt ist die Anleitung zur IoT-Vorlage Tür / Fenster in der App, gebaut mit einem Raspberry Pi Pico W, einem Reedkontakt und einem kleinen Magneten. Geh zu Werkstatt › Geräte › Gerät hinzufügen, wähle Pico W als Board und Tür / Fenster als Vorlage; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
Pico W IoT-Bewegungszähler (PIR)
#377Anfänger
IoT

Pico W IoT-Bewegungszähler (PIR)

Zähl, wie oft jemand durch eine Tür oder einen Flur geht, und sieh den Moment der Bewegung live auf dem Handy. Dieses Projekt ist die Schritt-für-Schritt-Anleitung zur IoT-Vorlage Bewegungsmelder in der App, gebaut mit einem Raspberry Pi Pico W und einem PIR-Bewegungssensor mit nur 3 Kabeln. Geh zu Werkstatt › Geräte › Gerät hinzufügen; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)