Datum:

Wemos D1 R2 mit der Arduino Cloud verbinden

In diesem Beitrag zeige ich dir, wie du den Mikrocontroller Wemos D1 Mini mit der Arduino Cloud verbindest.
blog/wp-content/uploads/2022/10/Arduino_Cloud_Wemos_D1_R2_verbinden_gr.jpg">
Wemos D1 R2 mit der Arduino Cloud verbinden

Im letzten Beitrag Arduino Nano RP2040 Connect mit der Arduino Cloud verbinden habe ich dir bereits gezeigt, wie dieses mit dem Arduino Nano RP2040 Connect geht. Da dieser originale Mikrocontroller besser unterstützt wird, ist die Einrichtung sehr einfach.

Den Wemos D1 Mini erhältst du in zwei Bauformen, zum einen als kleinen Mikrocontroller auf welchen du weitere Shields stecken kannst und in der Bauform eines Arduino UNOs.

Wemos D1 mini
Wemos D1 R2

Einrichten in der Arduino Cloud

Zunächst fügen wir den Mikrocontroller in der Arduino Cloud hinzu. Wie du das machst, habe ich dir im nachfolgenden YouTube Video ausführlich erläutert.

WemosD1 R2 mit der Arduino Cloud verbinden

Aufbau einer kleinen Schaltung mit einer LED am Wemos D1 R2

In diesem Beitrag möchte ich zunächst eine LED EIN/AUS schalten. Für die dazugehörige Schaltung benötigst du:

Zusätzlich benötigst du einen Account in der Arduino Cloud welchen du dir kostenfrei unter https://cloud.arduino.cc/ anlegen kannst.

Kleines Programm um die Schaltung zu testen

Damit wir sichergehen können, dass unsere Schaltung funktioniert, spielen wir nachfolgendes Blink-Sketch auf den Mikrocontroller auf.

//LED am digitalen Pin D3 angeschlossen
#define led D3
void setup() { //Pin der LED als Ausgang definieren pinMode(led, OUTPUT);
}
void loop() { //aktivieren der LED digitalWrite(D3, HIGH); //eine kleine Pause von 250ms einlegen delay(250); //deaktivieren der LED digitalWrite(D3, LOW); //eine kleine Pause von 250ms einlegen delay(250);
}

Programm mit den Keys aus der Arduino Cloud aufspielen

Zunächst ist unser Mikrocontroller lediglich in der Arduino Cloud eingerichtet, aber nicht online. Damit dieser final verbunden wird, müssen wir ein Sketch auf den Mikrocontroller aufspielen, in welchem wir die zuvor angezeigten Keys einbinden.

Du findest, das benötigte Programm nachfolgend zum Download als ZIP-Datei.

In der Datei / dem Reiter „arduino_secrets.h“ geben wir die Daten von der Wi-Fi-Verbindung ein sowie den Wert für den SECRET_DEVICE_KEY.

Der Secret Key wird dir nur während der Installation angezeigt! Wenn du diesen verlierst, dann musst du das Gerät erneut in der Arduino Cloud einrichten.

Der Wert „DEVICE_LOGIN_NAME“ in der Datei / dem Reiter „thingProperties.h“ wird mit dem Wert „Device ID“ aus dem Dialog während der Installation befüllt. Diesen Wert findest du später im Reiter „Things“ wieder!

Installieren der benötigten Bibliotheken

Wenn du die Daten in das Programm bzw. in die Propertiesdateien eingetragen hast, dann musst du noch ein paar Bibliotheken installieren.

Zunächst öffnen wir den Bibliotheksmanager (1) und geben in die Suchleiste den Text „ArduinoIoTCloud“ (2) ein. Am Eintrag „ArduinoIoTCloud by Arduino“ wählen wir die Schaltfläche „INSTALL“ (3), danach im neuen Dialog wählen wir die Schaltfläche „INSTALL ALL“ (4), damit werden zusätzlich alle benötigen Bibliotheken installiert.

Wenn alles installiert wurde, erkennst du dieses an dem kleinen Patch „INSTALLED“ an dem aus dem ersten Schritt gewählten Bibliothek.

Upload des Programms

Wenn das Programm in der Arduino IDE 2.0 erfolgreich hochgeladen wurde, wird im seriellen Monitor ein paar Ausgaben angezeigt.

Bei mir dauert der Aufbau der Wi-Fi-Verbindung etwas und somit wird zunächst angezeigt das der Aufbau fehlerhaft war.

Connection to "FRITZBox7590GI_EXT" failed
Retrying in "500" milliseconds
Connection to "FRITZBox7590GI_EXT" failed
Retrying in "500" milliseconds
Connected to "FRITZBox7590GI_EXT"
Connected to Arduino IoT Cloud
Thing ID: 017800d4-5fcb-4f42-bb46-aa2c92e27ecb

In meinem Fall habe ich bereits ein „Thing“ erstellt, welches hier mit der entsprechenden ID angezeigt wird. In deinem Fall sollte diese Zeichenkette nicht ausgegeben werden.

Eine LED aus der Cloud steuern

Fangen wir mit einem kleinen und einfachen Beispiel an und steuern eine LED aus der Arduino Cloud. Dieses Beispiel habe ich dir ebenfalls im oben verlinkten YouTube Video gezeigt. Hier nun die Schritt-für-Schritt-Anleitung zum Nachlesen.

Schritt 1 – ein Thing erstellen

Als erstes navigieren wir in den Reiter „Thing“ dort, klicken wir auf die Schaltfläche „CREATE THING“.

Schaltfläche „CREATE THING“ in der Arduino Cloud

Als Nächstes müssen wir den Mikrocontroller verbinden, dazu klicken wir auf die Schaltfläche mit dem „Kettensymbol“ und wählen unseren zuvor eingerichteten Mikrocontroller aus.

Mikrocontroller verbinden & Variable hinzufügen – Schritt 1
Verbinden des Mikrocontrollers mit dem Thing in der Arduino Cloud

Da wir bereits einen Mikrocontroller eingerichtet haben, wählen wir hier die Schaltfläche „ASSOCIATE“ (1) aus, sollte hier keiner erscheinen oder wir einen anderen einrichten möchten, so können wir mit der Schaltfläche „SET UP NEW DEVICE“ (2) einen weiteren Mikrocontroller hinzufügen.

erfolgreich verknüpfter Mikrocontroller

Wenn der Mikrocontroller erfolgreich verbunden wurde, dann wird dieser wie folgt angezeigt. In meinem Fall ist dieser bereits Online.


boolesche Variable erstellen

Danach können wir dann eine Variable mit dem Namen „status_led“ (1) vom Typ „bool“ (2) hinzufügen (3).


Zum Schluss können wir diesem Thing noch einen Namen geben, dieser Name sollte sprechend sein, sodass wir später nicht lange suchen müssen.

Da wir die kostenfreie Version der Arduino Cloud verwenden, sind wir hier auf maximal 5 Variablen pro Thing beschränkt.

Schritt 2 – einrichten eines Dashboards

Nachdem der Mikrocontroller zu einem Thing verbunden und eine Variable für den Status der LED erstellt wurde, können wir nun das Dashboard erstellen.

Dazu klicken wir im Reiter „Dashboards“ auf die Schaltfläche „BUILD DASHBOARD“.

Schaltfläche zum erstellen eines Dashboards

Ein Dashboard ist ein Fenster auf welchem wir Design-/Kontrollelemente platzieren können, um Sensoren / Aktoren zu steuern.

In unserem Fall platzieren wir einen Schalter sowie eine LED auf das Dashboard und verknüpfen beide mit der boolschen Variable „status_led“.

Schalter im Dashboard konfigurieren

In den Einstellungen zum Schalter können wir diesem einen Namen (1) geben. Viel wichtiger ist jedoch, dass wir die zuvor erstelle boolesche Variable „status_led“ verknüpfen (2).

Variable an den Schalter binden

In unserem Fall haben wir nur ein Thing mit einer Variablen (3) welche wir auswählen und mit der Schaltfläche „LINK VARIABLE“ (4) mit dem Schalter verbinden.

erfolgreich verbundene Variable

Wenn dieses erfolgreich war, wird die Variable angezeigt (5) und wir können diesen Dialog mit der Schaltfläche „DONE“ (6) schließen.

Nun können wir noch eine LED auf dem Dashboard platzieren und ebenfalls mit der booleschen Variablen verknüpfen.

fertiges Dashboard zum steuern einer LED per Schalter am Wemos in der Arduino Cloud

Der Schalter sowie die LED im Dashboard sind mit der booleschen Variablen verknüpft. Wenn wir den Schalter betätigen, so wird die LED im Dashboard aktiviert / deaktiviert. Jedoch muss dieses nicht unbedingt der realen Status entsprechen.

Schritt 3 – Arduino Sketch erweitern zum Empfangen der Daten

Damit wir nun auf den Wechsel des Status der booleschen Variablen reagieren können und so unsere LED aktivieren / deaktivieren müssen wir das bestehende Programm erweitern.

Zunächst erzeugen wir uns in der Datei „thingProperties.h“ eine Variable vom Typ „bool“ sowie ein Propertie welches wir mit dieser verbinden, die Variable muss genauso heißen wie in der Arduino Cloud!

Als letzten Parameter übergeben wir einen Namen einer Funktion, welche ausgeführt werden soll, wenn das Event „ON_CHANGE“ eintritt.

bool status_led;
void eventLEDStatusChange();
void initProperties() { ArduinoCloud.setBoardId(DEVICE_LOGIN_NAME); ArduinoCloud.setSecretDeviceKey(DEVICE_KEY); ArduinoCloud.addProperty(status_led, READWRITE,ON_CHANGE, eventLEDStatusChange);
}

Die Funktion „eventLEDStatusChange“ wird in der Datei „thingProperties.h“ definiert aber im Sketch ausprogrammiert.

void eventLEDStatusChange() { Serial.print("LED Status gewechselt auf: " ); Serial.println(status_led ? "AN" : "AUS"); digitalWrite(led, status_led);
}

Kommentare

Bisher keine Kommentare.

Neueste Beiträge

Räuberischer Diebstahl

Räuberischer Diebstahl

Am Donnerstag, um 14:29 Uhr, kam es in einem Geschäft im Untergeschoss des ehemaligen Kaufhofgebäudes zu einem Diebstahl. Eine Verkäuferi ...
Mehr lesen
Mann flüchtet nach versuchtem Raub auf Tankstelle

Mann flüchtet nach versuchtem Raub auf Tankstelle

Eine männliche Person, mit langen schwarzen lockigen Haaren und mit einer schwarzen Jacke, einer weißen FFP2 Maske und Sonnenbrille beklei ...
Mehr lesen
Kreis Coesfeld / Aktionen zum Thema Fahrrad und Pedelec

Kreis Coesfeld / Aktionen zum Thema Fahrrad und Pedelec

In den nächsten zwei Wochen plant die Polizei Coesfeld einige Aktionen zum Thema Fahrrad und Pedelec.Am 21.11.2022 wird, mit der Unterstüt ...
Mehr lesen
Durmersheim - Mehrere Autos aufgebrochen, Zeugen gesucht

Durmersheim - Mehrere Autos aufgebrochen, Zeugen gesucht

In Durmersheim wurden in der Zeit zwischen Montag und Dienstag gleich mehrere Fahrzeuge der Marke BMW aufgebrochen und Teile des Innenraums ...
Mehr lesen
Die Digitalisierung ist erst der Anfang - Künstliche Intelligenz wird weite Teile der Arbeitswelt, der Gesellschaft und des Alltags prägen

POL-PDWIL: Sachbeschädigung durch Graffiti

POL-PDWIL: Sachbeschädigung durch Graffiti

Im Tatzeitraum Donnerstag 15.09.2022 18:00 Uhr - Freitag, den 16.09.2022, 09:00 Uhr, kam es auf dem alten Festplatz in Brauneberg zu einer S ...
Mehr lesen