Inhaltsverzeichnis:
- Schritt 1: Anforderungen
- Schritt 2: Blynk
- Schritt 3: Arduino-IDE
- Schritt 4: Erstellen Sie es
- Schritt 5: Code
Video: Pflanzenmonitor mit ESP32 Thing und Blynk - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Überblick
Das Ziel dieses Projekts ist es, ein kompaktes Gerät zu schaffen, das in der Lage ist, den Zustand einer Zimmerpflanze zu überwachen. Das Gerät ermöglicht es dem Benutzer, die Bodenfeuchtigkeit, Luftfeuchtigkeit, Temperatur und die "fühlbare" Temperatur von einem Smartphone mit der Blynk-App zu überprüfen. Darüber hinaus erhält der Benutzer eine E-Mail-Benachrichtigung, wenn die Bedingungen für die Anlage ungeeignet sind. Beispielsweise wird der Benutzer daran erinnert, die Pflanze zu gießen, wenn die Bodenfeuchtigkeit unter ein geeignetes Niveau sinkt.
Schritt 1: Anforderungen
Dieses Projekt verwendet ein Sparkfun ESP32-Ding, einen DHT22-Sensor und einen elektronischen Ziegelbodenfeuchtigkeitssensor. Außerdem werden ein WLAN-Netzwerk und die Blynk-App benötigt. Vorzugsweise sollte ein wasserdichtes Gehäuse erstellt werden, um das ESP32-Ding aufzunehmen. Während in diesem Beispiel eine Standardsteckdose für eine Stromquelle verwendet wird, würde das Hinzufügen einer wiederaufladbaren Batterie, eines Solarpanels und eines Ladereglers ermöglichen, dass das Gerät mit erneuerbarer Energie betrieben wird.
Schritt 2: Blynk
Laden Sie die Blynk-App herunter und erstellen Sie ein neues Projekt. Notieren Sie sich das Authentifizierungstoken – es wird im Code verwendet. Erstellen Sie neue Anzeige-Widgets in der Blynk-App und wählen Sie die entsprechenden im Code definierten virtuellen Pins aus. Legen Sie das Aktualisierungsintervall auf Push fest. Jedem Widget sollte ein eigener virtueller Pin zugewiesen werden.
Schritt 3: Arduino-IDE
Laden Sie die Arduino-IDE herunter. Befolgen Sie die Download-Anweisungen für den ESP32-Ding-Treiber und die Demo, um die WLAN-Konnektivität sicherzustellen. Laden Sie die im Code enthaltenen Blynk- und DHT-Bibliotheken herunter. Geben Sie das Authentifizierungstoken, das WLAN-Passwort, den WLAN-Benutzernamen und die E-Mail im endgültigen Code ein. Verwenden Sie den Democode für den Bodenfeuchtesensor, um die Minimal- und Maximalwerte für die Bodenart zu ermitteln. Notieren und ersetzen Sie diese Werte im endgültigen Code. Ersetzen Sie die Mindestwerte für Temperatur, Bodenfeuchtigkeit und Luftfeuchtigkeit für die Pflanze im endgültigen Code. Laden Sie den Code hoch.
Schritt 4: Erstellen Sie es
Schließen Sie zuerst den Bodenfeuchtigkeitssensor an 3,3 V, Masse und Eingangspin 34 an. Beachten Sie, dass der Schalter auf A eingestellt ist, da die analoge Einstellung für diesen Sensor verwendet wird. Als nächstes verbinden Sie den DHT-Sensor mit 3,3 V, Masse und Eingangspin 27. Der DHT22-Sensor benötigt einen 10K Ohm Widerstand zwischen dem VCC und dem Datenausgangspin. Überprüfen Sie unbedingt das DHT-Diagramm, um sicherzustellen, dass es richtig verdrahtet ist. Konfigurieren Sie den ESP32 in einem wasserdichten Gehäuse mit dem Feuchtigkeitssensor im Boden und dem DHT-Sensor über der Oberfläche. Schließen Sie eine Stromquelle an und genießen Sie Daten über die Umgebung Ihrer Anlage.
Schritt 5: Code
//Enthaltene Bibliotheken
#define BLYNK_PRINT-Seriennummer
#include #include #include #include "DHT.h"
// DHT-Sensorinformationen
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitaler Pin mit dem DHT-Sensor verbunden DHT dht (DHTPIN, DHTTYPE); // DHT-Sensor initialisieren.
// Eingangspins und Ausgänge definieren
int boden_sensor = 34; // Definieren Sie die Pinnummer des analogen Eingangs, die mit dem Feuchtigkeitssensor verbunden ist
int output_value;//als Ausgabe definieren
int Feuchte; // Als Ausgabe definieren
int benachrichtigt = 0; //definiere benachrichtigt als 0
int Zeitverzögerung = 60000L; // Timer so einstellen, dass er einmal pro Minute oder 60.000 Millisekunden Daten abruft
//Mindestwerte für Pflanze setzen
int min_feuchtigkeit =20; int min_temperatur =75; int min_humidity =60;
// Sie sollten das Auth-Token in der Blynk-App abrufen.
char auth = "Auth_Token_Here";
// Ihre WLAN-Zugangsdaten.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
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 Sensoren () // Hauptfunktion zum Lesen von Sensoren und zum Drücken auf blynk
{ output_value = analogRead (soil_sensor); // Analoges Signal vom Bodensensor lesen und als output_value definieren // Output_vlaue von Min-, Max-Werten auf 100, 0 abbilden und zwischen 0, 100 beschränken // Beispielcode und seriellen Monitor verwenden, um Min und. zu finden Maximalwerte für einzelnen Sensor und Bodentyp für eine bessere Kalibrierung Feuchte = Constraint (map(output_value, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity(); // Feuchtigkeitsfloat lesen t = dht.readTemperature (); // Temperatur als Celsius lesen (Standard) float f = dht.readTemperature (true); // Temperatur als Fahrenheit lesen (isFahrenheit = true) // Wärmeindex in Fahrenheit berechnen (Standard) float hif = dht.computeHeatIndex(f, h); // Prüfen, ob Lesevorgänge fehlgeschlagen sind und vorzeitig beenden (um es erneut zu versuchen). if (isnan (h) || isnan (t) || isnan (f)) { Serial.println (F ("Fehler beim Lesen vom DHT-Sensor!")); Rückkehr; } //Dies verbindet Werte mit virtuellen Pins, die in den Widgets in der Blynk-App definiert sind Blynk.virtualWrite (V5, Moisturelevel); // Senden Sie den Feuchtigkeitsgehalt an den virtuellen Pin 5 Blynk.virtualWrite (V6, f); // Senden Sie die Temperatur an virtual Pin 6 Blynk.virtualWrite(V7, h); // Sende Feuchtigkeit an virtuellen Pin 7 Blynk.virtualWrite(V8, hif); // Sende Wärmeindex an virtuellen Pin 8
wenn (benachrichtigt==0)
{ if (moisturelevel <= min_moisture) // Wenn der Feuchtigkeitsgehalt gleich oder unter dem Mindestwert ist { Blynk.email("Email_Here", "Plant Monitor", "Water Plant!"); // E-Mail an Wasserwerk senden } delay (15000); // Blynk-E-Mails müssen 15 Sekunden auseinander liegen. Verzögerung 15000 Millisekunden if (f <= min_temperature) // Wenn die Temperatur gleich oder unter dem min-Wert ist { Blynk.email("Email_Here", "Plant Monitor", "Temperature Low!"); // Senden Sie eine E-Mail, dass die Temperatur niedrig ist
}
Verzögerung (15000); // Blynk-E-Mails müssen 15 Sekunden auseinander liegen. Verzögerung 15000 Millisekunden if (h <= min_humidity) // Wenn die Luftfeuchtigkeit gleich oder unter dem Mindestwert ist { Blynk.email("Emial_Here", "Plant Monitor", "Humidity Low!"); // E-Mail senden, dass die Luftfeuchtigkeit niedrig ist} benachrichtigt = 1; timer.setTimeout (Zeitverzögerung *5, resetNotified); // multiplizieren Sie die Zeitverzögerung mit der Anzahl der gewünschten Minuten zwischen wiederholten Warn-E-Mails } }
Void resetNotified () // Funktion zum Zurücksetzen der E-Mail-Frequenz aufgerufen
{ benachrichtigt = 0; }
Void-Setup ()
{ Serial.begin (9600); // Debug-Konsole Blynk.begin(auth, ssid, pass); // mit blynk timer.setInterval (timedelay, Sensoren) verbinden; // Richten Sie eine Funktion ein, die jede Minute aufgerufen wird oder welche Zeitverzögerung auf dht.begin() gesetzt ist; // DHT-Sensor ausführen}
//Void-Schleife sollte nur blynk.run und timer enthalten
Void Schleife () { Blynk.run (); // Führen Sie blynk timer.run () aus; // Initiiert BlynkTimer }
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
DICE GAME THING:p: 3 Schritte
DICE GAME THING:p: Hallo, der Name ist [ANONYMISIERT] und ich werde dir zeigen, wie man ein DICE THING auf dem micro:bit macht. (dies ist für die MYP3B Science Class) Also, was brauchen Sie, um das zu machen? Du benötigst ein… Micro:bit Einen Computer Ein paar Kabel Eine stabile Internetverbindung
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant - IOT - Blynk - IFTTT: 8 Schritte
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant | IOT | Blynk | IFTTT: Ein einfaches Projekt zur Steuerung von Geräten mit Google Assistant: Warnung: Der Umgang mit Netzstrom kann gefährlich sein. Mit äußerster Sorgfalt behandeln. Stellen Sie einen professionellen Elektriker ein, während Sie mit offenen Stromkreisen arbeiten. Ich übernehme keine Verantwortung für die da
Knoten-MCU mit 4-Port-Relaismodul, Blynk-App, IFTTT und Google Home. Gewinn?: 5 Schritte
Knoten-MCU mit 4-Port-Relaismodul, Blynk-App, IFTTT und Google Home. Profit?: In diesem Beitrag dreht sich alles darum, wie Sie Google Home mit NodeMCU und der blynk-App verbinden. Sie können Ihre Geräte mit einem einfachen blynk-gesteuerten NodeMCU-Schalter und Google Assistant steuern. Also los, Ok Google.. Schalten Sie das Ding ein
Snowmanthesizer - Thing a Day - Day 2: 8 Schritte (mit Bildern)
Snowmanthesizer - Thing a Day - Tag 2: Neulich habe ich endlose Bögen mit Roboteraufklebern geschnitten, um alle Kinder glücklich zu machen. Ja, ich schneide einfach weg, kümmere mich um meine eigenen Angelegenheiten, und in diesem Moment geht unser furchtloser Anführer Eric in den Händen mit mir drei seltsam aussehende Plastikdinger. Er teilt mir mit, dass