Indholdsfortegnelse:
Video: Plant Monitor Brug ESP32 Thing og Blynk: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Oversigt
Målet med dette projekt er at skabe en kompakt enhed, der er i stand til at overvåge forholdene i et stueplante. Enheden gør det muligt for brugeren at kontrollere jordens fugtighedsniveau, fugtighedsniveau, temperatur og den "føles-lignende" temperatur fra en smartphone ved hjælp af Blynk-appen. Derudover vil brugeren modtage en e -mail -advarsel, når forholdene bliver uegnede for anlægget. For eksempel vil brugeren modtage en påmindelse om at vande planten, når jordens fugtighedsniveau falder til et passende niveau.
Trin 1: Krav
Dette projekt bruger en Sparkfun ESP32 -ting, en DHT22 -sensor og en elektronisk fugtsensor i mursten. Derudover er et wifi -netværk og Blynk -appen påkrævet. Fortrinsvis bør der oprettes et vandtæt kabinet for at indeholde ESP32 -tingen. Selvom dette eksempel anvender en standardstik til en strømkilde, ville tilføjelse af et genopladeligt batteri, solpanel og opladningsregulator gøre det muligt for enheden at blive drevet via vedvarende energi.
Trin 2: Blynk
For at være, skal du downloade Blynk -appen og oprette et nyt projekt. Bemærk godkendelsestokenet-det vil blive brugt i koden. Opret nye displaywidgets i Blynk -appen, og vælg de tilsvarende virtuelle pins, der er defineret i koden. Indstil opdateringsintervallet til at skubbe. Hver widget skal have sin egen virtuelle pin.
Trin 3: Arduino IDE
Download Arduino IDE. Følg downloadinstruktionerne til ESP32 -tingdriveren og demoen for at sikre wifi -forbindelse. Download Blynk- og DHT -bibliotekerne, der er inkluderet i koden. Udfyld godkendelsestoken, wifi -adgangskode, wifi -brugernavn og e -mail i den sidste kode. Brug demokoden til jordfugtighedsføleren til at finde minimums- og maksimumværdierne for jordtypen. Registrer og udskift disse værdier i den endelige kode. Udskift minimumsværdierne for temperaturen, jordfugtigheden og fugtigheden for planten i den endelige kode. Upload koden.
Trin 4: Byg det
Tilslut først jordfugtighedsføleren til 3,3V, jord og indgangsstift 34. Bemærk, det er integreret, at kontakten er sat til A, fordi den analoge indstilling for denne sensor vil blive brugt. Tilslut derefter DHT -sensoren til 3,3V, jord og input -pin 27. DHT22 -sensoren kræver en 10K Ohm -modstand mellem VCC og data -out -stiften. Sørg for at kontrollere DHT -diagrammet for at sikre, at det er korrekt forbundet. Konfigurer ESP32 inde i et vandtæt kabinet med fugtføleren i jorden og DHT -sensoren over overfladen. Opret forbindelse til en strømkilde, og nyd data om dit anlægs miljø.
Trin 5: Kode
// Inkluderede biblioteker
#define BLYNK_PRINT Serial
#include #include #include #include "DHT.h"
// DHT -sensorinformation
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digital pin tilsluttet DHT -sensoren DHT dht (DHTPIN, DHTTYPE); // Initialiser DHT -sensor.
// definere input pins og output
int jord_sensor = 34; // definer analog input -pin -nummer, der er forbundet til fugtføler
int output_value; // definer som output
int fugtighedsniveau; // definer som output
int anmeldt = 0; // definere notificeret som 0
int tidsdage = 60000L; // indstil timeren til at køre få data en gang hvert minut eller 60.000 milisekunder
// sæt minimumsværdier for anlæg
int min_fugtighed = 20; int min_temperatur = 75; int min_fugtighed = 60;
// Du bør få Auth Token i Blynk -appen.
char auth = "Auth_Token_Here";
// Dine WiFi -legitimationsoplysninger.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer timer;
// Denne funktion sender Arduinos up -time hvert sekund til Virtual Pin (5).
// I appen skal widgets læsefrekvens indstilles til PUSH. Det betyder //, at du definerer, hvor ofte data skal sendes til Blynk App.
void Sensors () // hovedfunktion til at læse sensorer og skubbe til blynk
{output_value = analogRead (jord_sensor); // Læs analogt signal fra jord_sensor og definer som output_value // Kort output_vlaue fra min, max værdier til 100, 0 og begræns mellem 0, 100 // Brug prøvekode og seriel monitor til at finde min og maks. værdier for individuel sensor og jordtype for bedre kalibrering fugtniveau = begrænsning (kort (output_værdi, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Læs luftfugtighed float t = dht.readTemperature (); // Læs temperaturen som Celsius (standard) float f = dht.readTemperature (true); // Læs temperaturen som Fahrenheit (isFahrenheit = true) // Beregn varmeindeks i Fahrenheit (standard) float hif = dht.computeHeatIndex (f, h); // Kontroller, om nogen læsning mislykkedes, og afslut tidligt (for at prøve igen). hvis (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Kunne ikke læse fra DHT -sensor!")); Vend tilbage; } // Dette forbinder værdier med virtuelle pins, der er defineret i widgets i Blynk -appen Blynk.virtualWrite (V5, fugtighedsniveau); // Send fugtniveau til virtuel pin 5 Blynk.virtualWrite (V6, f); // Send temperatur til virtuel pin 6 Blynk.virtualWrite (V7, h); // Send luftfugtighed til virtuel pin 7 Blynk.virtualWrite (V8, hif); // Send varmeindeks til virtuel pin 8
hvis (meddelt == 0)
{if (fugtighedsniveau <= min_fugtighed) // Hvis fugtighedsniveau er lig med eller under min værdi {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Send e -mail til vandværk} forsinkelse (15000); // Blynk -e -mails skal være 15 sekunder fra hinanden. Forsink 15000 millisekoner hvis (f <= min_temperatur) // Hvis temperaturen er lig med eller under min værdi {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Send e -mail om, at temperaturen er lav
}
forsinkelse (15000); // Blynk -e -mails skal være 15 sekunder fra hinanden. Forsink 15000 millisekunder hvis (h <= min_fugtighed) // Hvis luftfugtigheden er lig med eller under min værdi {Blynk.email ("Emial_Here", "Plant Monitor", "Fugtighed lav!"); // Send e -mail om, at luftfugtigheden er lav} underrettet = 1; timer.setTimeout (timedelay *5, resetNotified); // multiplicere tidsdage med antallet af ønskede minutter mellem gentagne advarselsmails}}
void resetNotified () // funktion kaldet til at nulstille e -mailfrekvens
{meddelt = 0; }
ugyldig opsætning ()
{Serial.begin (9600); // Debug -konsol Blynk.begin (auth, ssid, pass); // opret forbindelse til blynk timer.setInterval (tidsdage, sensorer); // Indstil en funktion, der skal kaldes hvert minut, eller hvilken tidsdage der er indstillet til dht.begin (); // kør DHT -sensor}
// Ugyldig loop bør kun indeholde blynk.run og timer
void loop () {Blynk.run (); // Kør blynk timer.run (); // Starter BlynkTimer}
Anbefalede:
CCTV -kamera med NodeMCU + Gammel bærbar kameramodul (med og uden brug af Blynk): 5 trin
CCTV -kamera med NodeMCU + Gammel bærbar kameramodul (med og uden brug af Blynk): Hej fyre! I denne instruktive vil jeg vise dig, hvordan jeg brugte en gammel bærbar kameramodul og nodeMCU til at lave noget, der ligner CCTV
SERVO MOTORKONTROL VED BRUG AF WIFI OG BLYNK: 5 trin
SERVO MOTORKONTROL VED BRUG AF WIFI OG BLYNK: Hej Guys, Lad os i denne instruktive lære at styre bevægelsen af en servomotor via WiFi ved hjælp af Node MCU og Blynk App
Hjemmeautomatisering med ESP8266 WiFi uden brug af Blynk !: 24 trin (med billeder)
Hjemmeautomatisering med ESP8266 WiFi uden brug af Blynk !: For det første vil jeg takke alle for at gøre mig til en vinder i Automation Contest 2016 for denne INSTRUKTABELE. Så som jeg lovede dig, her er instruktionerne til styring af husholdningsapparater med ESP8266 WiFi -modul
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C - Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: 5 trin
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C | Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: Hej fyre i denne instruktion vil vi lære at bruge neopixel ws2812 LED'er eller led strip eller led matrix eller led ring med m5stack m5stick-C udviklingstavle med Arduino IDE, og vi vil lave et regnbuemønster med det