Innholdsfortegnelse:
Video: Plant Monitor Bruk ESP32 Thing og Blynk: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Oversikt
Målet med dette prosjektet er å lage en kompakt enhet som kan overvåke forholdene til et husplante. Enheten lar brukeren sjekke jordfuktighetsnivået, fuktighetsnivået, temperaturen og den "føles-lignende" temperaturen fra en smarttelefon ved hjelp av Blynk-appen. I tillegg vil brukeren motta et e -postvarsel når forholdene blir uegnet for anlegget. For eksempel vil brukeren motta en påminnelse om å vanne planten når jordfuktigheten faller under et passende nivå.
Trinn 1: Krav
Dette prosjektet bruker en Sparkfun ESP32 -ting, en DHT22 -sensor og en elektronisk mursteinjordfuktighetssensor. I tillegg kreves et wifi -nettverk og Blynk -appen. Fortrinnsvis bør det lages et vanntett kabinett for å inneholde ESP32 -tingen. Selv om dette eksemplet bruker en standard stikkontakt for en strømkilde, vil tillegg av et oppladbart batteri, solcellepanel og ladekontroller gjøre det mulig for enheten å få strøm fra fornybar energi.
Trinn 2: Blynk
For å være, last ned Blynk -appen og lag et nytt prosjekt. Legg merke til autentiseringstokenet-det vil bli brukt i koden. Lag nye display -widgets i Blynk -appen, og velg de tilsvarende virtuelle pinnene som er definert i koden. Angi oppdateringsintervallet for å trykke. Hver widget bør tildeles sin egen virtuelle pin.
Trinn 3: Arduino IDE
Last ned Arduino IDE. Følg nedlastingsinstruksjonene for ESP32 -tingdriveren og demoen for å sikre wifi -tilkobling. Last ned Blynk- og DHT -bibliotekene som er inkludert i koden. Fyll ut godkjenningstoken, wifi -passord, wifi -brukernavn og e -post i den endelige koden. Bruk demokoden for jordfuktighetssensoren for å finne minimums- og maksimumsverdiene for jordtypen. Registrer og erstatt disse verdiene i den endelige koden. Bytt ut minimumsverdiene for temperaturen, jordfuktigheten og fuktigheten for planten i den endelige koden. Last opp koden.
Trinn 4: Bygg den
Koble først jordfuktighetssensoren til 3,3V, jord og inngangspinne 34. Vær oppmerksom på at bryteren er satt til A fordi den analoge innstillingen for denne sensoren vil bli brukt. Deretter kobler du DHT -sensoren til 3,3V, jord og inngangspinne 27. DHT22 -sensoren krever en 10K Ohm motstand mellom VCC og data out -pinnen. Sørg for å sjekke DHT -diagrammet for å sikre at det er riktig kablet. Konfigurer ESP32 inne i et vanntett kabinett med fuktighetssensoren i jorda og DHT -sensoren over overflaten. Koble til en strømkilde og nyt data om anleggets miljø.
Trinn 5: Kode
// Inkludert biblioteker
#define BLYNK_PRINT Serial
#include #include #include #include "DHT.h"
// DHT -sensorinformasjon
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digital pin koblet til DHT -sensoren DHT dht (DHTPIN, DHTTYPE); // Initialiser DHT -sensor.
// definere inngangspinner og utganger
int jord_sensor = 34; // definere analogt inngangspinnnummer koblet til fuktighetssensor
int output_value; // definere som output
int fuktighetsnivå; // definere som output
int varslet = 0; // definere notifisert som 0
int tidsdager = 60000L; // sett timeren til å kjøre få data en gang hvert minutt eller 60 000 milisekunder
// angi minimumsverdier for anlegg
int min_fuktighet = 20; int min_temperatur = 75; int min_fuktighet = 60;
// Du bør få Auth Token i Blynk -appen.
char auth = "Auth_Token_Here";
// WiFi -legitimasjonen din.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer timer;
// Denne funksjonen sender Arduinos oppetid hvert sekund til Virtual Pin (5).
// I appen skal widgets lesefrekvens settes til PUSH. Dette betyr // at du definerer hvor ofte data skal sendes til Blynk App.
void Sensors () // hovedfunksjon for å lese sensorer og skyve til blynk
{output_value = analogRead (soil_sensor); // Les analogt signal fra jord_sensor og definer som output_value // Kart output_vlaue fra min, maks verdier til 100, 0 og begrens mellom 0, 100 // Bruk eksempelkode og seriell skjerm for å finne min og maksverdier for individuell sensor og jordtype for bedre kalibrering fuktighetsnivå = begrensning (kart (utgangsverdi, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Les fuktighetsflyter t = dht.readTemperature (); // Les temperaturen som Celsius (standard) float f = dht.readTemperature (true); // Les temperaturen som Fahrenheit (isFahrenheit = true) // Beregn varmeindeksen i Fahrenheit (standard) float hif = dht.computeHeatIndex (f, h); // Kontroller om noen av lesningene mislyktes, og avslutt tidlig (for å prøve igjen). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Kunne ikke lese fra DHT -sensor!")); komme tilbake; } // Dette kobler verdier til virtuelle pinner definert i widgetene i Blynk -appen Blynk.virtualWrite (V5, fuktighetsnivå); // Send fuktighetsnivå til virtuell pin 5 Blynk.virtualWrite (V6, f); // Send temperatur til virtuell pin 6 Blynk.virtualWrite (V7, h); // Send fuktighet til virtuell pin 7 Blynk.virtualWrite (V8, hif); // Send varmeindeks til virtuell pin 8
hvis (varslet == 0)
{if (fuktighetsnivå <= min_fuktighet) // Hvis fuktighetsnivå er lik eller under minverdi {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Send e -post til vannverket} forsinkelse (15000); // Blynk -e -post må være 15 sekunder fra hverandre. Forsink 15000 millisekunder hvis (f <= min_temperatur) // Hvis temperaturen er lik eller under min verdi {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Send e -post om at temperaturen er lav
}
forsinkelse (15000); // Blynk -e -post må være 15 sekunder fra hverandre. Forsink 15000 millisekunder hvis (h <= min_fuktighet) // Hvis fuktigheten er lik eller under min verdi {Blynk.email ("Emial_Here", "Plant Monitor", "Luftfuktighet lav!"); // Send e -post om at fuktigheten er lav} varslet = 1; timer.setTimeout (timedelay *5, resetNotified); // multipliser timedag med antall minutter ønsket mellom gjentatte advarselsmeldinger}}
void resetNotified () // funksjon kalt for å tilbakestille e -postfrekvensen
{varslet = 0; }
ugyldig oppsett ()
{Serial.begin (9600); // Debug -konsoll Blynk.begin (auth, ssid, pass); // koble til blynk timer.setInterval (timedelay, Sensors); // Sett opp en funksjon som skal kalles hvert minutt eller hvilken tidsperiode som er satt til dht.begin (); // kjør DHT -sensor}
// Void loop skal bare inneholde blynk.run og timer
void loop () {Blynk.run (); // Kjør blynk timer.run (); // Starter BlynkTimer}
Anbefalt:
Overvåkning av temperatur og fuktighet ved bruk av NODE MCU OG BLYNK: 5 trinn
Overvåkning av temperatur og fuktighet ved bruk av NODE MCU OG BLYNK: Hei Gutter I denne instruksen kan vi lære hvordan du får temperatur og fuktighet i atmosfæren ved hjelp av DHT11-temperatur- og fuktighetssensor ved hjelp av Node MCU og BLYNK-appen
CCTV -kamera med NodeMCU + Gammel bærbar kameramodul (med og uten bruk av Blynk): 5 trinn
CCTV -kamera med NodeMCU + Old Laptop's Camera Module (With and Without Using Blynk): Hei folkens! I denne instruksen skal jeg vise deg hvordan jeg brukte en gammel bærbar kameramodul og nodeMCU til å lage noe som ligner på CCTV
Overvåkning av temperatur og fuktighet ved bruk av Blynk: 6 trinn
Overvåkning av temperatur og fuktighet ved bruk av Blynk: I denne opplæringen skal vi overvåke temperatur og fuktighet ved hjelp av DHT11 og sende dataene til skyen ved hjelp av BlynkKomponenter som kreves for denne opplæringen: Arduino UnoDHT11 temperatur- og fuktighetssensorESP8266-01 WiFi-modul
Komme i gang med ESP32 CAM - Streaming av video ved bruk av ESP CAM over Wifi - ESP32 sikkerhetskamera -prosjekt: 8 trinn
Komme i gang med ESP32 CAM | Streaming av video ved bruk av ESP CAM over Wifi | ESP32 Security Camera Project: I dag lærer vi hvordan du bruker dette nye ESP32 CAM -kortet og hvordan vi kan kode det og bruke det som et sikkerhetskamera og få en streaming video over wifi
Plant Monitor: 12 trinn (med bilder)
Anleggsmonitor: Hensikten med anleggsmonitoren er å skanne og administrere vann om nødvendig til et anlegg som er koblet til den gitte analoge jordsensoren. Deler som trengs for dette prosjektet er: 1x Arduino Uno1x LCD -skjerm1x Servomotor1x Jordsensorenhet1x Potensiometer1x Medisinsk 30c