Kazalo:
Video: Monitor rastlin z uporabo ESP32 Thing and Blynk: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Pregled
Cilj tega projekta je ustvariti kompaktno napravo, ki bo lahko spremljala pogoje sobne rastline. Naprava omogoča uporabniku, da s pomočjo aplikacije Blynk preveri stopnjo vlažnosti tal, stopnjo vlažnosti, temperaturo in temperaturo "po občutku". Poleg tega bo uporabnik po e -pošti prejel opozorilo, ko razmere postanejo neprimerne za obrat. Na primer, uporabnik bo prejel opomnik, da rastlino zalije, ko raven vlage v tleh pade pod ustrezno raven.
1. korak: Zahteve
Ta projekt uporablja stvar Sparkfun ESP32, senzor DHT22 in elektronski senzor vlažnosti tal iz opeke. Poleg tega sta potrebna omrežje WiFi in aplikacija Blynk. Prednostno je treba ustvariti vodotesno ohišje, ki bo vsebovalo stvar ESP32. Medtem ko ta primer uporablja standardno vtičnico za vir energije, bi dodajanje baterije za ponovno polnjenje, sončne celice in krmilnika polnjenja omogočilo, da se naprava napaja iz obnovljivih virov energije.
2. korak: Blynk
Prenesite aplikacijo Blynk in ustvarite nov projekt. Upoštevajte žeton za preverjanje pristnosti-uporabljen bo v kodi. Ustvarite nove pripomočke za prikaz v aplikaciji Blynk in izberite ustrezne navidezne zatiče, opredeljene v kodi. Interval osveževanja nastavite na pritisk. Vsakemu pripomočku je treba dodeliti svoj virtualni pin.
3. korak: Arduino IDE
Prenesite Arduino IDE. Sledite navodilom za prenos gonilnika stvari ESP32 in predstavitvi, da zagotovite brezžično povezavo. Prenesite knjižnici Blynk in DHT, vključeni v kodo. V končno kodo vnesite žeton za preverjanje pristnosti, geslo za wifi, uporabniško ime za wifi in e -pošto. Z demo kodo senzorja vlažnosti tal poiščite najmanjše in največje vrednosti za tip tal. Zapišite in zamenjajte te vrednosti v končni kodi. V končni kodi zamenjajte minimalne vrednosti temperature, vlažnosti tal in vlažnosti rastline. Naložite kodo.
4. korak: Zgradite ga
Najprej priključite senzor vlažnosti tal na 3,3 V, ozemljitev in vhodni zatič 34. Upoštevajte, da je integralno stikalo nastavljeno na A, ker bo uporabljena analogna nastavitev za ta senzor. Nato priključite senzor DHT na 3.3V, ozemljitev in vhodni zatič 27. Za senzor DHT22 je potreben upor 10K Ohm med VCC in izhodom podatkovnega zatiča. Preverite diagram DHT, da se prepričate, da je pravilno ožičen. ESP32 konfigurirajte v vodotesnem ohišju s senzorjem vlage v tleh in senzorjem DHT nad površino. Priključite se na vir napajanja in uživajte v podatkih o okolju vaše naprave.
5. korak: Koda
// Vključene knjižnice
#define BLYNK_PRINT Serijska številka
#include #include #include #include "DHT.h"
// Informacije o senzorju DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitalni pin, povezan s tipalom DHT DHT dht (DHTPIN, DHTTYPE); // Inicializirajte senzor DHT.
// definiramo vhodne zatiče in izhode
int tlačni_senzor = 34; // določimo številko pin analognega vhoda, priključeno na senzor vlage
int output_value; // definiraj kot output
int raven vlage; // definiraj kot izhod
int notified = 0; // opredelimo notificirano kot 0
int časovni zamik = 60000L; // nastavite časovnik za izvajanje pridobivanja podatkov enkrat na minuto ali 60 000 milisekund
// nastavimo minimalne vrednosti za obrat
int min_moisture = 20; int min_temperatura = 75; int min_vlažnost = 60;
// V aplikaciji Blynk bi morali dobiti žeton za preverjanje pristnosti.
char auth = "Auth_Token_Here";
// Vaše poverilnice WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Časovnik BlynkTimer;
// Ta funkcija vsako sekundo pošlje čas delovanja Arduina na Virtual Pin (5).
// V aplikaciji je treba frekvenco branja gradnika nastaviti na PUSH. To pomeni, da // določite, kako pogosto želite pošiljati podatke v aplikacijo Blynk.
void Sensors () // glavna funkcija za branje senzorjev in pritisk na blynk
{output_value = analogRead (pressure_sensor); // preberite analogni signal iz sensor_sensor in ga definirajte kot output_value // preslikajte output_vlaue od min, max vrednosti do 100, 0 in omejite med 0, 100 // Uporabite vzorčno kodo in serijski monitor za iskanje min in največje vrednosti za posamezen senzor in tip tal za boljšo kalibracijo ravni vlage = omeji (zemljevid (vrednost_izhoda, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Odčitavanje plavajoče vlažnosti t = dht.readTemperature (); // Temperatura se bere kot Celzij (privzeto) float f = dht.readTemperature (true); // Temperatura se bere kot Fahrenheit (isFahrenheit = true) // Izračunamo toplotni indeks v Fahrenheitu (privzeto) float hif = dht.computeHeatIndex (f, h); // Preverim, ali kakšno branje ni uspelo, in izstopite zgodaj (poskusite znova). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Ni bilo mogoče prebrati s senzorja DHT!")); vrnitev; } // S tem povežete doline z navideznimi zatiči, določenimi v pripomočkih v aplikaciji Blynk Blynk.virtualWrite (V5, raven vlažnosti); // Pošljite raven vlažnosti na virtualni pin 5 Blynk.virtualWrite (V6, f); // Pošljite temperaturo na virtualno pin 6 Blynk.virtualWrite (V7, h); // Pošlji vlažnost na virtualni pin 7 Blynk.virtualWrite (V8, hif); // Pošlji indeks toplote na virtualni pin 8
če (obvestilo == 0)
{if (raven vlage <= min_moisture) // Če je raven vlage enaka ali nižja od minimalne vrednosti {Blynk.email ("Email_Here", "Monitor Plant", "Water Plant!"); // Pošlji e -pošto vodni tovarni} zamuda (15000); // Blynk e -poštna sporočila morajo biti narazen 15 sekund. Zamuda 15000 milisekonov if (f <= min_temperature) // Če je temperatura enaka ali nižja od minimalne vrednosti {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Pošlji e -pošto, da je temperatura nizka
}
zamuda (15000); // Blynk e -poštna sporočila morajo biti narazen 15 sekund. Zakasnite 15000 milisekonov if (h <= min_humidity) // Če je vlažnost enaka ali nižja od minimalne vrednosti {Blynk.email ("Emial_Here", "Monitor rastline", "Vlažnost nizka!"); // Pošlji e -poštno sporočilo, da je nizka vlažnost} notified = 1; timer.setTimeout (timedelay *5, resetNotified); // večkratni časovni zamik glede na želene minute med ponavljajočimi se opozorilnimi e -poštnimi sporočili}}
void resetNotified () // funkcija poklicana za ponastavitev frekvence e -pošte
{notified = 0; }
void setup ()
{Serial.begin (9600); // konzola za odpravljanje napak Blynk.begin (auth, ssid, pass); // povežite se z blynk timer.setInterval (timedelay, Sensors); // Nastavitev funkcije za klic vsako minuto ali časovni zamik nastavljen na dht.begin (); // zaženite senzor DHT}
// Void zanka naj vsebuje samo blynk.run in časomer
void loop () {Blynk.run (); // Zaženi blynk timer.run (); // Zažene BlynkTimer}
Priporočena:
Samodejni sistem za zalivanje rastlin z uporabo Micro: bit: 8 korakov (s slikami)
Samodejni sistem za zalivanje rastlin z uporabo Micro: bita: V tem navodilu vam bom pokazal, kako zgraditi avtomatski sistem za zalivanje rastlin z uporabo Micro: bita in nekaterih drugih majhnih elektronskih komponent. Micro: bit uporablja senzor vlage za spremljanje ravni vlage v rastlinski zemlji in
Kako zgraditi sistem za zalivanje rastlin z uporabo Arduina: 7 korakov
Kako zgraditi sistem za zalivanje rastlin z uporabo Arduina: V tej vadnici se bomo naučili, kako narediti sistem za zalivanje rastlin s senzorjem vlage, vodno črpalko in utripati zeleno LED, če je vse v redu in OLED zaslon in Visuino. Oglejte si video
Monitor zdravstvenega stanja rastlin: 7 korakov
Monitor zdravja rastlin: Pozdravljeni, še enkrat. Razlog za ta projekt je bila moja mlajša sestra. Bliža se njen rojstni dan in obožuje dve stvari- naravo (tako rastlinstvo kot živalstvo), pa tudi drobnarije in podobno. Zato sem hotel združiti ti dve stvari in ji narediti rojstni dan p
Zalivanje sobnih rastlin z NodeMCU, lokalnim strežnikom Blynk in aplikacijo Blynk Apk, nastavljiva nastavljena vrednost: 3 koraki
Zalivanje sobnih rastlin z NodeMCU, lokalnim strežnikom Blynk in Blynk Apk, nastavljivo nastavljeno vrednostjo: Ta projekt sem zgradil, ker morajo biti moje sobne rastline zdrave, tudi če sem na počitnicah dalj časa in mi je všeč ideja nadzirati ali vsaj spremljati vse možne stvari, ki se dogajajo v mojem domu prek interneta
Monitor rastlin: 12 korakov (s slikami)
Nadzor rastlin: Namen monitorja rastlin je, da skenira in po potrebi dovaja vodo v obrat, priključen na analogni senzor tal. Deli, potrebni za ta projekt, so: 1x Arduino Uno1x LCD zaslon1x Servo motor1x Enota senzorja tal1x Potenciometer1x Medical 30c