Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Smarte Wetterstation mit dem Arduino Plug and Make Kit und Cloud-Dashboard

Posted on 17. Januar 202523. Januar 2025 by Stefan Draeger

Das Arduino Plug and Make Kit bietet eine Vielzahl von Sensoren und Aktoren, mit denen du die Welt der Arduino-Programmierung erkunden kannst. In diesem Blog habe ich bereits einige spannende Projekte mit diesem Kit vorgestellt. Heute zeige ich dir, wie du eine smarte Wetterstation mit Anbindung an die Arduino Cloud programmieren kannst.

Smarte Wetterstation mit dem Arduino Plug and Make Kit und Cloud-Dashboard
Dieses Video auf YouTube ansehen.

Das Arduino Plug and Make Kit erhältst du bei BerryBase für bereits ab 96€* (zzgl Versandkosten).

Mit rund 97 € hat das Kit zwar einen stolzen Preis, bietet jedoch ein durchdachtes System, das sich ideal für den einfachen Einstieg eignet. Dank der Qwiic-Schnittstelle entfällt das oft fehleranfällige Verkabeln der Komponenten – besonders für Anfänger ein großer Vorteil, der einen deutlich frustfreieren Start ermöglicht.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Inhaltsverzeichnis

  • Benötigte Ressourcen für dieses Projekt
  • Aufbau der Schaltung am Arduino Plug and Make Kit
  • Programmieren der Wetterstation in der Arduino Cloud
    • Schritt 1 – Verbinden des Mikrocontrollers mit der Arduino Cloud
    • Schritt 2 – Erstellen eines Things und des Dashboards
      • Schritt 2.1 -Variablen anlegen
      • Schritt 2.2 – Verknüpfen des Gerätes mit dem Thing
      • Schritt 2.3 – Einrichten der WiFi-Verbindung
    • Schritt 3 – Dashboard erstellen und verwenden der Variablen
      • Schritt 3.1 – ein Element dem Dashboard hinzufügen und konfigurieren
    • Schritt 4 – Generieren des Quellcodes
    • Schritt 5 – Upload & Test

Benötigte Ressourcen für dieses Projekt

Wenn du die smarte Wetterstation am Arduino UNO R4 nachbauen möchtest, dann benötigst du:

  • ein Arduino Plug and Make Kit, mit
    • Arduino UNO R4 WiFi
    • Umweltsensor
    • 3fach Taster Modul
    • zwei Qwiic Kabel

Aufbau der Schaltung am Arduino Plug and Make Kit

Dank der Qwiic-Schnittstelle gestaltet sich der Aufbau der Schaltung äußerst einfach. Die Sensoren und Aktoren werden über den I2C-Bus angesteuert, was es ermöglicht, sie einfach in Reihe miteinander zu verbinden.

Schaltung - smarte Wetterstation mit Arduino Plug and Make Kit
Schaltung – smarte Wetterstation mit Arduino Plug and Make Kit

Programmieren der Wetterstation in der Arduino Cloud

Mit der Arduino Cloud kannst du nicht nur ein Dashboard erstellen, sondern auch direkt deinen Sketch programmieren. Dafür wird der Arduino Cloud Agent benötigt, der die Verbindung zwischen dem Mikrocontroller, der am Computer angeschlossen ist, und dem Browser herstellt.

Wenn dieses Programm installiert wurde, dann findest du dieses unten rechts bei der Uhr in der Taskleiste.

Im oben verlinkten YouTube Video zeige ich dir wie du die kleine Wetterstation einrichtest und programmierst.

Schritt 1 – Verbinden des Mikrocontrollers mit der Arduino Cloud

Wenn der Arduino Cloud Agent installiert wurde, dann müssen wir diesen einrichten, dazu öffnen wir in der Cloud den Menüpunkt „Devices“ (1) und wählen dort die Schaltfläche „ADD DEVICE“ (2)

Im nächsten Schritt müssen wir zunächst auswählen welchen Typ wir verbinden wollen. Da wir den originalen Arduino UNO R4 WiFi haben, wählen wir hier die Kachel mit dem Arduino Logo (3).

Nun wäre der perfekte Zeitpunkt um deinen Mikrocontroller mit dem PC zu verbinden (soweit noch nicht geschehen).

In meinem Fall hat die Suche einpaar Sekunden gedauert und der Dialog hat zwischendrin einpaar mal gewechselt.

Du solltest, wenn dein Gerät gefunden wurde die Schaltfläche „CONFIGURE“ (4) finden welche wir klicken müssen.

Anschließend wird die Firmware und andere Eigenschaften geprüft und konfiguriert.

Dem Gerät müssen wir einen Namen (5) vergeben und diesen Schritt über die Schaltfläche „NEXT“ (6) verlassen.

Dir wird zunächst ein zufälliger Name angezeigt welchen du natürlich auch übernehmen kannst.

Es wird nun ein Sketch auf den Mikrocontroller überspielt welcher die Features für die Arduino Cloud enthält.

Wenn der kleine Wizard abgeschlossen ist, verlassen wir diesen über die Schaltfläche „DONE“ (7).

Schritt 2 – Erstellen eines Things und des Dashboards

Ein Thing in der Arduino Cloud ist eine Collection aus Variablen und Konfigurationen welche du später in deinem Dashboard & Sketch verwenden kannst. Daher müssen wir diesen nach dem aufbau der Verbindung zum Mikrocontroller erstellen. Du kannst an deinem konfigurierten Thing jederzeit Variablen hinzufügen und ändern!

Zunächst klicken wir im Menü auf den Eintrag „Thing“ (8) und wählen anschließend die Schaltfläche „CREATE THING“ (9).

An diesem Thing kannst du nun Variablen hinzufügen (10), ein Gerät verknüpfen (11) und die WiFi Verbindung konfigurieren (12).

Schritt 2.1 -Variablen anlegen

Im ersten Schritt am Thing wollen wir die Variablen für die Temperatur und die rel. Luftfeuchtigkeit sowie „aktiv“ hinzufügen.

Um eine Variable anlegen zu können, müssen wir zunächst auf „ADD“ (10) klicken und dort vergeben wir dieser einen Namen (13) wählen den Datentypen aus (14) und klicken unten auf die Schaltfläche „ADD VARIABLE“ (15).

Das wierderholen wir für die rel. Luftfeuchtigkeit und für das Feld „Aktiv“, wobei wir die letztere Variable als bool definieren.

Schritt 2.2 – Verknüpfen des Gerätes mit dem Thing

Nachdem die Variablen angelegt wurden (15), verknüpfen wir unseren Mikrocontroller mit dem Thing, dazu klicken wir auf der rechten Seite auf die Schaltfläche „Select Device“ (16).

Im neuen Dialog werden alle konfigurierten Mikrocontroller aufgelistet. Da wir zu diesem Zeitpunkt nur einen Mikrocontroller eingerichtet haben, klicken wir hier am Eintrag für den Arduino UNO R4 WiFi die Schaltfläche „ASSOCIATE“ (17).

Schritt 2.3 – Einrichten der WiFi-Verbindung

Die Einrichtung der WiFi-Verbindung ist denkbar einfach, hier musst du nur auf die Schaltfläche „Configure“ (18) klicken und gibst dort die Daten von deinem lokalen WiFi-Netzwerk ein. Das Gute daran ist, diese Daten werden sogleich auch für dein Sketch verwendet und du musst hier nichts zwischenspeichern.

Im neuen Dialog gibst du nun deine SSID (19) und dein Passwort (20) ein. Diese Eingabe bestätigst du abschließend mit der Schaltfläche „SAVE“ (21).

Schritt 3 – Dashboard erstellen und verwenden der Variablen

Nun können wir endlich unser Dashboard erstellen und die Sensordaten vom Arduino visualisieren. Dazu klicken wir im Menü auf „Dashboard“ (22) und wählen dort die Schaltfläche „CREATE DASHBOARD“ (23).

Oben Links im neuen, leeren Dashboard finden wir drei Schalter und den Namen (24).

Über das die Schaltfläche mit dem Auge (25) können wir den Bearbeitungsmodus verlassen und gelangen in die Ansicht zum Darstellen der Sensorwerte.

Die Schaltfläche mit dem Bleistift (26) dient dazu, den Bearbeitungsmodus zu aktivieren. Über diesen Modus können wir dem Dashboard Elemente hinzufügen.

Die Schaltfläche mit dem Smartphone (27) wechselt die Ansicht zu einer mobilen Darstellung. Damit kannst du prüfen ob dein Dashboard auch auch tragbaren Geräten korrekt angezeigt wird.

Schritt 3.1 – ein Element dem Dashboard hinzufügen und konfigurieren

Klicken wir nun auf den Bleistift (28) und wählen anschließend die Schaltfläche „ADD“ (29). Aus dem Dropdown Menü können wir nun verschiedene Elemente für unser Dashboard auswählen. Starten wir zunächst mit dem Schalter (engl. Switch) (30).

Diesem Element vergeben wir einen Namen (31) und verlinken dieses mit einer Variable aus einem Thing (32).

Da wir zur Zeit nur ein Thing konfiguriert haben (33), ist auch nur eines angezeigt aus welchem wir die Variable active (34) auswählen und dieses mit der Schaltfläche „LINK VARIABLE“ (35) bestätigen. Den Dialog verlassen wir anschließend über die Schaltfläche „DONE“.

Dieses Vorgehen wiederholen wir nach bedarf für die Variablen temperatur und humidity. Wenn wir den Wert in einem Block anzeigen lassen wollen, dann wählen wir den Block „Value“ (36) und für das Diagramm „Chart“ (37).

Blöcke für das Dashboard in der Arduino Cloud
Blöcke für das Dashboard in der Arduino Cloud
Blöcke für das Dashboard in der Arduino Cloud
Blöcke für das Dashboard in der Arduino Cloud

Wenn du dein Dashboard erstellt hast, dann könnte dieses ungefähr wie folgt aussehen:

Dashboard in der Arduino Cloud für die smarte Wetterstation
Dashboard in der Arduino Cloud für die smarte Wetterstation

Schritt 4 – Generieren des Quellcodes

Das Dashboard wurde nun eingerichtet und wir können uns als nächstes dem Quellcode widmen wo wir den Sensor auslesen und die Werte den Variablen zuweisen.

Wir können über die Arduino Cloud ein Sketch generieren lassen welches bereits das nötigste enthält. Dazu öffnen wir das zuvor konfigurierte Thing und wählen oben rechts den Link „</> Sketch“ (38). Anschließend klicken wir auf „GENERATE SKETCH“.

Im neuen Dialog kannst du oben dem neuen Sketch einen Namen vergeben (39) und findest den Hinweis auf den verknüpfen Mikrocontroller (40). Über die Schaltfläche „Upload“ (41) kannst du dein Sketch auf den Mikrocontroller überspielen.

Den nachfolgenden Code kopieren wir in das Fenster vom Sketch. Wenn du deine Variablen wie hier im Beitrag benannt hast, dann sollte dieser 1:1 funktionieren.

#include <Modulino.h> // Bibliothek für das Modulino-Framework, das Sensoren und Taster unterstützt.
#include "thingProperties.h" // Enthält die Konfiguration der Arduino Cloud Eigenschaften.

#define indicatorLED 13 // Definiert die LED an Pin 13 zur Statusanzeige.

ModulinoThermo umweltsensor; // Objekt für den Umweltsensor (Temperatur und Luftfeuchtigkeit).
ModulinoButtons taster; // Objekt für das Taster-Modul.

const int TASTER_A = 0; // Pin-Definition für den Taster A.
long lastAction = -1; // Speichert den letzten Zeitpunkt einer Aktion.
const int PAUSE = 2500; // Zeitspanne (in ms) zwischen zwei Aktionen.

void setup() {
  Serial.begin(9600); // Initialisiert die serielle Kommunikation mit 9600 Baud.
  delay(1500); // Wartet 1,5 Sekunden, um den Mikrocontroller zu stabilisieren.

  initProperties(); 
  // Konfiguriert die Cloud-Variablen und definiert, wie diese behandelt werden (Lesen, Schreiben, Callback-Funktionen bei Änderungen).

  ArduinoCloud.begin(ArduinoIoTPreferredConnection); 
  // Startet die Verbindung zur Arduino Cloud über die bevorzugte Verbindungsmethode.

  setDebugMessageLevel(2); // Setzt die Debug-Ebene für detailliertere Nachrichten.
  ArduinoCloud.printDebugInfo(); // Gibt Debug-Informationen zur Arduino Cloud-Verbindung aus.

  Modulino.begin(); // Initialisiert das Modulino-System.
  umweltsensor.begin(); // Startet den Umweltsensor.
  taster.begin(); // Startet das Taster-Modul.
}

void loop() {
  ArduinoCloud.update(); 
  // Aktualisiert die Verbindung zur Arduino Cloud, um Daten zu synchronisieren.

  long currentMillis = millis(); 
  // Holt die aktuelle Zeit in Millisekunden seit Start.

  if (currentMillis > (lastAction + PAUSE)) { 
    // Führt die folgenden Aktionen nur alle 2,5 Sekunden aus.
    lastAction = currentMillis;
    if (active) { 
      // Wenn die Wetterstation aktiv ist:
      temperatur = umweltsensor.getTemperature(); 
      // Liest die Temperatur vom Sensor aus und speichert sie in der Cloud-Variable.
      humidity = umweltsensor.getHumidity(); 
      // Liest die Luftfeuchtigkeit vom Sensor aus und speichert sie in der Cloud-Variable.
    }  
  }

  if (taster.update() && taster.isPressed(TASTER_A)) { 
    // Prüft, ob der Taster aktualisiert wurde und Taster A gedrückt ist.
    active = !active; 
    // Wechselt den Status der Wetterstation (aktiv/inaktiv).
    onActiveChange(); 
    // Ruft die Funktion auf, die auf Änderungen der "active"-Variable reagiert.
  }

  delay(50); // Fügt eine kurze Pause ein, um die Schleife zu stabilisieren.
}

void onTemperaturChange() {
  // Funktion wird aufgerufen, wenn sich die Temperatur in der Arduino Cloud ändert.
}

void onHumidityChange() {
  // Funktion wird aufgerufen, wenn sich die Luftfeuchtigkeit in der Arduino Cloud ändert.
}

void onActiveChange() {
  digitalWrite(indicatorLED, active); 
  // Schaltet die Status-LED basierend auf dem "active"-Status ein oder aus.
}

Schritt 5 – Upload & Test

Sobald du den Sketch auf den Mikrocontroller hochgeladen hast werden deine Daten übertragen und im Dashboard visualisiert.

smarte Wetterstation – Arduino Cloud

2 thoughts on “Smarte Wetterstation mit dem Arduino Plug and Make Kit und Cloud-Dashboard”

  1. Ulidd sagt:
    17. Januar 2025 um 22:25 Uhr

    Wie kannst Du eine LED ohne Vorwiderstand anschließen ?

    Antworten
    1. Stefan Draeger sagt:
      18. Januar 2025 um 09:03 Uhr

      Hi,

      die große 10mm LED an Pin D13 hat eine Spannungsversorgung von 3.4V und daher kann diese getrost auch an den digitalen Pin vom Arduino angeschlossen werden. Wenn du eine normale 5mm oder 3mm LED verwenden möchtest, dann benötigst du einen 220 Ohm Vorwiderstand. Der Beitrag richtet sich mehr an das Arduino Plug and Make Kit, daher bin ich auf diese LED nicht näher eingegangen.

      Gruß, Stefan

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}