Inhaltsverzeichnis:

WIFI-Wetterstation mit Magicbit (Arduino) - Gunook
WIFI-Wetterstation mit Magicbit (Arduino) - Gunook

Video: WIFI-Wetterstation mit Magicbit (Arduino) - Gunook

Video: WIFI-Wetterstation mit Magicbit (Arduino) - Gunook
Video: My weather station build that survived 1 year now 2024, Juli
Anonim
Image
Image

Dieses Tutorial zeigt, wie man mit Arduino eine Wetterstation von Magicbit baut, die Details von Ihrem Smartphone abrufen kann.

Lieferungen

  • Magicbit
  • USB-A-zu-Micro-USB-Kabel
  • Magicbit DHT11 Sensormodul

Schritt 1: Geschichte

In diesem Tutorial erfahren Sie, wie Sie eine tragbare Wetterstation mit Magicbit-Entwicklungsplatine mit DHT11-Sensormodul erstellen. Durch die Verwendung eines Smartphones können wir die Details zum Wetter am Standort von Magicbit abrufen.

Schritt 2: Theorie und Methodik

In dieser Wetterstation hoffen wir, Daten über Temperatur und Luftfeuchtigkeit zu bekommen, wo wir wollen. Zuerst müssen wir die Daten von einem temperatur- und feuchtigkeitsempfindlichen Sensor abrufen. Dann wird das Ausgangssignal dieses Sensors an den Mikrocontroller weitergegeben, der über einen WIFI-Adapter verfügt, um eine Verbindung mit dem Internet herzustellen. Für all diese Dinge haben wir einfach das Magicbit-Core-Board und das DHT11-Sensormodul verwendet, das direkt an Magicbit angeschlossen werden kann. Magicbit hat einen ESP32-Prozessor. Dafür hat es eine eingebaute WIFI-Verbindung, um eine Verbindung mit dem Internet herzustellen. Dann übertragen wir unsere Sensordaten auf die Cloud-Plattform und mithilfe einer speziellen App haben wir unsere benutzerdefinierte Schnittstelle entworfen und zeigen diese Details damit an. Zu diesem Zweck verwenden wir die Blynk-Anwendung. Diese App ist eine IOT-basierte App. Aber es ist sehr einfach und wir können viele Projekte daraus machen. Es unterstützt auch viele Arten von Prozessoren wie Arduino, Esp32 und so weiter. Weitere Informationen zu dieser App und dieser On/Ine-Plattform erhalten Sie über den folgenden Link.

blynk.io/de/getting-started

Schritt 3: Hardware-Setup

Software-Setup
Software-Setup

Dies ist sehr einfach. Schließen Sie das Sensormodul an Magicbit an. Verbinden Sie dann Magicbit über ein Micro-USB-Kabel mit dem Computer.

Schritt 4: Software-Setup

Software-Setup
Software-Setup
Software-Setup
Software-Setup

Der größte Teil dieses Projekts wird im Software-Setup durchgeführt. Im Theorie- und Methodikteil haben wir erwähnt, dass wir die Blynk-Anwendung zur Anzeige unserer Daten verwenden. Lassen Sie uns das einrichten.

Zuerst müssen Sie die Blynk-App aus dem Play Store auf Ihr Android-Telefon oder aus dem App Store auf Ihr iOS herunterladen und installieren. Dann öffnen Sie es. Jetzt fordert es auf, sich anzumelden oder einzuloggen. Das ist ganz einfach. Wenn Sie diese App zum ersten Mal verwenden, geben Sie Ihre E-Mail-Adresse ein, geben Sie ein beliebiges Passwort ein und melden Sie sich an

Nachdem Sie sich bei Blynk angemeldet haben, wählen Sie das Symbol für ein neues Projekt und Sie gelangen auf die neue Projektseite. Geben Sie dann Ihren Projektnamen ein und Sie werden gefragt, welche Art von Board Sie verwendet haben und welche Art von Verbindung Sie verwendet haben, um mit dem Prozessor zu kommunizieren. Stellen Sie das als ESP32-Entwickler und WIFI ein. Klicken Sie nun auf die Schaltfläche Erstellen und Sie sehen eine Massage im Display. Dementsprechend müssen Sie nun Ihren E-Mail-Posteingang überprüfen. Weil sie Ihnen einen Authentifizierungs-Token-Code für Ihr Projekt geschickt haben. Überprüfen Sie Ihre E-Mail, um sicherzustellen, dass Sie sie erhalten haben. Wir verwenden diesen Code später in unserem Arduino-Quellcode. Jetzt haben Sie einen leeren Arbeitsbereich und können ihn nach Belieben anpassen

Klicken Sie nun auf das positive Zeichen in der oberen Leiste des Bildschirms und Sie gelangen auf die neue Seite. Es hat viele Optionen, die als Widgets bezeichnet werden. Diese Widgets werden verwendet, um Daten anzuzeigen und Geräte aus der Ferne zu steuern. Mehr dazu erfahren Sie unter diesem Link

docs.blynk.cc/#:~:text=Now%20imagine%3A%2… a%20blynk%20of%20an%20eye.

In diesem Projekt stellen wir unsere Daten mit zwei analogen Messgeräten dar und zeigen die Variation unserer Daten mit der Zeit mithilfe eines Diagramms. Dafür verwenden wir zwei Messgeräte und eine Superkarte. Durch Auswahl dieser Widgets können Sie sie zu Ihrer Arbeitsbereichsseite hinzufügen

Jetzt haben wir einen sehr wichtigen Teil zu vervollständigen. Das heißt, diese Widgets in geeigneter Weise konfigurieren. Dazu müssen Sie die Einstellungen jedes Widgets eingeben. Durch Klicken auf ein beliebiges Widget können Sie Einstellungen des angeklickten Widgets eingeben. Lassen Sie uns die Einstellungen jedes Widgets ändern. Da wir das linke Widget verwenden, um die Luftfeuchtigkeitsdetails und das rechte Widget für Temperaturdetails anzuzeigen, rufen Sie zuerst die Einstellungen des linken Anzeige-Widgets auf, indem Sie darauf klicken. Stellen Sie den bevorzugten und den Namen auf das Messgerät ein und wählen Sie die gewünschte Farbe aus, um Ihre Feuchtigkeitsdaten vom Messgerät anzuzeigen. Stellen Sie den Eingang als V5 und den Bereich auf 0 bis 100 ein. V5 bedeutet visuellen 5-Pin. Dies bedeutet, dass die App Daten vom visuellen 5-Pin erhält. nicht der fünfte Pin vom ESP32. Visual 5-Pin wird nur für die Kommunikation zwischen Board und App über das Internet verwendet. Es ist kein echter Stift. Die Luftfeuchtigkeit wird zwischen 0 und 100 angezeigt. Stellen Sie auch die Leserate auf 1 ein, damit die Datenanzeige jede Sekunde aktualisiert wird. Sie können es jederzeit ändern. aber in vielen Fällen ist 1s gut, um Daten ohne Verzögerung zu erhalten

Gehen Sie zurück zur Projektanzeige und geben Sie die richtigen Messgeräteinstellungen ein und ändern Sie die Einstellungen wie zuvor. Denken Sie daran, den Eingang als V6-Pin einzustellen. Weil wir bereits V5 verwendet haben, um die Feuchtigkeitsdaten zu erhalten

Gehen Sie nun zu den Super-Chart-Einstellungen und legen Sie den entsprechenden Namen und die Farbe fest. Fügen Sie dann zwei Datenströme hinzu. Der erste für die Luftfeuchtigkeit und der zweite für die Temperatur. Gehen Sie dann zu den Datenstromeinstellungen, indem Sie auf die Equalizer-Markierungen rechts davon klicken. Wählen Sie danach den Grafikstil aus. In diesem Fall setzen wir das als kontinuierliches Muster. Stellen Sie dann die Eingänge als V5 und V6 für zwei Datenströme ein. In den Einstellungen für den Temperaturdatenstrom setzen wir das Suffix als Celsius und in den Luftfeuchtigkeitseinstellungen als %. Sie können andere Einstellungen ändern, was Sie anzeigen möchten

Jetzt haben wir den Teil der App abgeschlossen. Aber ohne den korrekten Quellcode auf Magicbit hochzuladen, können wir keine Verbindung zu dieser App herstellen. Schauen wir uns also an, wie das geht.

In der ersten Phase integrieren wir spezielle Bibliotheken für den Aufbau einer Internetverbindung über WIFI. Die Bibliotheken sind bereits mit Ihrem Magicbit-Board in Arduino installiert, mit Ausnahme der Blynk-Bibliothek. Gehen Sie also zu Skizze> Bibliothek einschließen> Bibliotheken verwalten und suchen Sie die Blynk-Bibliothek und installieren Sie die neueste Version. Sie können die Bibliothek auch über diesen Link herunterladen

github.com/blynkkk/blynk-library

Gehen Sie nach dem Herunterladen zu Skizze>Bibliothek einschließen>ZIP-Bibliothek hinzufügen und wählen Sie die heruntergeladene ZIP-Datei aus.

Als nächstes müssen Sie unseren WIFI-Namen und das Passwort im Code für die Internetverbindung eingeben. Kopieren Sie nun den Auth Token-Code, den Sie per E-Mail erhalten haben, und fügen Sie ihn ein. Überprüfen Sie, wo unser Sensor mit dem Magicbit verbunden ist. In diesem Fall ist der verbundene Pin 33. Im Setup sehen Sie, dass es zwei virtuelle Pins gibt. Stellen Sie diese Pins als V5 und V6 ein. Wenn Sie in der App verschiedene Pins verwendet haben, ändern Sie dies im Code. Wenn der Code im Prozessor ausgeführt wird, wird zuerst eine Verbindung zum WIFI hergestellt. Überträgt dann die Daten per Internet über V5 und V6. Dies ist ein Schleifenprozess. Wählen Sie nun den richtigen Com-Port und den Kartentyp als Magicbit aus. Jetzt ist es an der Zeit, es hochzuladen

Nachdem der Code erfolgreich hochgeladen wurde, verbindet sich das Magicbit Board automatisch mit Ihrem WIFI. Je nach Umgebungsbedingungen kann es ein langsamer oder schneller Prozess sein.

Gehen Sie nun zu Ihrem Projekt in der Blynk-App und es ist an der Zeit, es zu testen. Klicken Sie auf das dreieckige Zahlensymbol. Wenn Ihre App über das Internet mit Ihrem Board verbunden ist, erhalten Sie eine Massage von der App. Schön, es funktioniert. Jetzt können Sie Temperatur und Luftfeuchtigkeit von den beiden Messgeräten und ihre Variation aus dem Diagramm sehen.

Schritt 5: Fehlerbehebung

Wenn Sie auf die Schaltfläche zum Abspielen des Projekts klicken und die Antwort nicht erfolgt. Dann,

  • Warten Sie ein bisschen. Denn manchmal ist es schwierig, Ihr WIFI entsprechend Ihrer Umgebungsbedingungen zu entdecken. auch eine langsame Internetverbindung kann ein Grund dafür sein.
  • Überprüfen Sie, ob der Auth-Code und die WIFI-Details in Ihrem eingegebenen Code korrekt sind.
  • Ändern Sie die WIFI-Verbindung.

Schritt 6: Arduino-Code

/*************************************************************

Laden Sie hier die neueste Blynk-Bibliothek herunter:

github.com/blynkkk/blynk-library/releases/latest Blynk ist eine Plattform mit iOS- und Android-Apps zur Steuerung von Arduino, Raspberry Pi und dergleichen über das Internet. Sie können ganz einfach grafische Oberflächen für alle Ihre Projekte erstellen, indem Sie Widgets einfach ziehen und ablegen. Downloads, Dokumente, Tutorials: https://www.blynk.cc Skizzengenerator: https://examples.blynk.cc Blynk-Community: https://community.blynk.cc Folgen Sie uns: https://www.fb. com/blynkapp Blynk-Bibliothek ist unter MIT-Lizenz lizenziert Dieser Beispielcode ist gemeinfrei. ************************************************* ********** Dieses Beispiel zeigt, wie Werte von Arduino an die Blynk App übertragen werden können. WARNUNG: Für dieses Beispiel benötigen Sie Adafruit DHT-Sensorbibliotheken: https://github.com/adafruit/Adafruit_Sensor https://github.com/adafruit/DHT-sensor-library App-Projekteinrichtung: Wertanzeige-Widget an V5 angehängt Wertanzeige-Widget an V6 ******************************************************************************************** *****************/ /* Auskommentieren, um Ausdrucke zu deaktivieren und Platz zu sparen */ #define BLYNK_PRINT Serial #include #include #include #include "DHT.h" // Sie sollten das Auth-Token in der Blynk-App abrufen. // Gehe zu den Projekteinstellungen (Nuss-Symbol). char auth = "****************"; // Auth-Token per E-Mail erhalten // Ihre WLAN-Zugangsdaten. // Passwort für offene Netzwerke auf "" setzen. char ssid = "***********"; ///Ihr WLAN-Name char pass = "***********"; // WLAN-Passwort #define DHTPIN 33 // Mit welchem digitalen Pin wir verbunden sind // Entkommentieren Sie, welchen Typ Sie verwenden! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // DHT 21, AM2301 DHT dht(DHTPIN, DHTTYPE); BlynkTimer-Timer; // Diese Funktion sendet jede Sekunde die Betriebszeit von Arduino an Virtual Pin (5). // In der App sollte die Lesefrequenz des Widgets auf PUSH eingestellt sein. Dies bedeutet, // dass Sie festlegen, wie oft Daten an die Blynk-App gesendet werden. Void sendSensor () { float h = dht.readHumidity (); float t = dht.readTemperature(); // oder dht.readTemperature (true) für Fahrenheit if (isnan (h) || isnan (t)) { Serial.println ("Fehler beim Lesen vom DHT-Sensor!"); Rückkehr; } // Sie können jederzeit einen beliebigen Wert senden. // Bitte senden Sie nicht mehr als 10 Werte pro Sekunde. Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); aufrechtzuerhalten. Void setup () {// Debug-Konsole Serial.begin (115200); Verzögerung (1000); Blynk.begin(auth, ssid, pass); // Sie können auch den Server angeben: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); dht.begin(); // Richten Sie eine Funktion ein, die jede Sekunde aufgerufen wird. timer.setInterval(1000L, sendSensor); aufrechtzuerhalten. Void Schleife () { Blynk.run (); Timer.run(); }

Empfohlen: