Sisällysluettelo:
Video: Kasvimonitori ESP32 Thingin ja Blynkin avulla: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Yleiskatsaus
Tämän projektin tavoitteena on luoda kompakti laite, joka pystyy seuraamaan huonekasvin olosuhteita. Laitteen avulla käyttäjä voi tarkistaa maaperän kosteustason, kosteustason, lämpötilan ja "tuntuvan" lämpötilan älypuhelimesta Blynk-sovelluksen avulla. Lisäksi käyttäjä saa sähköposti -ilmoituksen, kun olosuhteet muuttuvat laitokselle sopimattomiksi. Käyttäjä saa esimerkiksi muistutuksen kastaa kasvia, kun maaperän kosteustaso laskee sopivan tason alle.
Vaihe 1: Vaatimukset
Tässä projektissa käytetään Sparkfun ESP32 -laitetta, DHT22 -anturia ja elektronista tiilimaaperän kosteusanturia. Lisäksi vaaditaan wifi -verkko ja Blynk -sovellus. Edullisesti tulisi luoda vedenpitävä kotelo, joka sisältää ESP32 -esineen. Vaikka tässä esimerkissä käytetään virtalähteen vakiopistorasiaa, ladattavan akun, aurinkopaneelin ja latausohjaimen lisääminen mahdollistaisi laitteen käyttämisen uusiutuvalla energialla.
Vaihe 2: Blynk
Lataa Blynk -sovellus ja luo uusi projekti. Huomaa todennusmerkki-sitä käytetään koodissa. Luo uusia näyttöpienoisohjelmia Blynk -sovellukseen ja valitse koodissa määritetyt vastaavat virtuaaliset nastat. Aseta päivitysväli työntääksesi. Jokaiselle widgetille on määritettävä oma virtuaalinen pin.
Vaihe 3: Arduino IDE
Lataa Arduino IDE. Noudata ESP32 -esineohjaimen ja esittelyn latausohjeita varmistaaksesi wifi -yhteyden. Lataa koodiin sisältyvät Blynk- ja DHT -kirjastot. Täytä todennusmerkki, wifi -salasana, wifi -käyttäjänimi ja sähköposti lopulliseen koodiin. Käytä maaperän kosteusanturin demokoodia löytääksesi maaperätyypin minimi- ja maksimiarvot. Kirjaa ja korvaa nämä arvot lopulliseen koodiin. Korvaa lämpötilan, maaperän kosteuden ja kasvien vähimmäisarvot lopullisessa koodissa. Lataa koodi.
Vaihe 4: Rakenna se
Liitä ensin maaperän kosteusanturi jännitteeseen 3.3V, maahan ja tulotappiin 34. Huomaa, että kytkin on asennossa A, koska sen anturin analogista asetusta käytetään. Liitä seuraavaksi DHT -anturi 3,3 V: n, maadoitus- ja tulotappiin 27. DHT22 -anturi vaatii 10 K ohmin vastuksen VCC: n ja tiedonsiirtotapin välille. Muista tarkistaa DHT -kaavio, että se on kytketty oikein. Määritä ESP32 vedenpitävän kotelon sisään siten, että kosteusanturi on maaperässä ja DHT -anturi pinnan yläpuolella. Yhdistä virtalähteeseen ja nauti laitoksen ympäristön tiedoista.
Vaihe 5: Koodi
// Mukana olevat kirjastot
#define BLYNK_PRINT -sarja
#Sisällytä #Sisällytä #Sisällytä #Sisällytä "DHT.h"
// DHT -anturin tiedot
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // DHT -anturiin kytketty digitaalinen nasta DHT dht (DHTPIN, DHTTYPE); // Alusta DHT -anturi.
// määritä tulonapit ja -lähdöt
int maaperäanturi = 34; // määritä kosteusanturiin kytketty analogisen tulon nasta
int output_value; // määrittele tulostuksena
int kosteustaso; // määritetään ulostulona
int ilmoitettu = 0; // määrittele ilmoitettu arvoksi 0
int aikaviive = 60000L; // aseta ajastin toimimaan, niin saat tietoja kerran minuutissa tai 60 000 millisekuntia
// aseta laitoksen vähimmäisarvot
int min_kosteus = 20; int min_lämpötila = 75; int min_kosteus = 60;
// Sinun pitäisi saada todennustunnus Blynk -sovelluksessa.
char auth = "Auth_Token_Here";
// WiFi -kirjautumistietosi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer -ajastin;
// Tämä toiminto lähettää Arduinon nousuajan joka sekunti Virtual Pinille (5).
// Sovelluksessa Widgetin lukutaajuudeksi on asetettava PUSH. Tämä tarkoittaa // että määrität kuinka usein tiedot lähetetään Blynk -sovellukseen.
void Sensors () // päätehtävä antureiden lukemiseen ja työntämiseen blynkiin
{output_value = analogRead (ground_sensor); // Lue analoginen signaali maaperän_anturilta ja määritä output_value // Kartta output_vlaue min, max arvoista 100, 0 ja rajoita 0, 100 // Käytä näytteen koodia ja sarjamonitoria löytääksesi min ja yksittäisen anturin ja maaperätyypin enimmäisarvot paremman kalibroinnin saavuttamiseksi float h = dht.readHumidity (); // Lue kosteus float t = dht.readTemperature (); // Lue lämpötila celsiusasteina (oletus) float f = dht.readTemperature (true); // Lue lämpötila Fahrenheitina (isFahrenheit = true) // Laske lämpöindeksi Fahrenheit -asteina (oletus) float hif = dht.computeHeatIndex (f, h); // Tarkista, jos jokin lukeminen epäonnistui, ja poistu aikaisin (yritä uudelleen). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("DHT -anturin lukeminen epäonnistui!")); palata; } // Tämä yhdistää vales virtuaalisiin nastoihin, jotka on määritetty Blynk -sovelluksen widgetteissä Blynk.virtualWrite (V5, kosteustaso); // Lähetä kosteustaso virtuaaliseen nastaan 5 Blynk.virtualWrite (V6, f); // Lähetä lämpötila virtuaaliseen nasta 6 Blynk.virtualWrite (V7, h); // Lähetä kosteus virtuaaliseen nastaan 7 Blynk.virtualWrite (V8, hif); // Lähetä lämpöindeksi virtuaaliseen nastaan 8
jos (ilmoitettu == 0)
{if (kosteustaso <= min_kosteus) // Jos kosteustaso on vähintään miniarvo {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Lähetä sähköposti vesilaitokselle} delay (15000); // Blynk -sähköpostien on oltava 15 sekunnin välein. Viive 15000 millisekuntia, jos (f <= min_temperature) // Jos lämpötila on yhtä suuri tai pienempi kuin miniarvo {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Lähetä sähköpostia, että lämpötila on alhainen
}
viive (15000); // Blynk -sähköpostien on oltava 15 sekunnin välein. Viive 15000 millisekuntia, jos (h <= min_kosteus) // Jos kosteus on yhtä suuri tai pienempi kuin miniarvo {Blynk.email ("Emial_Here", "Plant Monitor", "Kosteus alhainen!"); // Lähetä sähköpostia, että kosteus on alhainen} ilmoitettu = 1; timer.setTimeout (aikaviive *5, resetNotified); // moninkertainen aikaviive haluttujen minuuttien määrällä toistuvien varoitussähköpostien välillä}}
void resetNotified () // -toiminto kutsuttiin nollaamaan sähköpostin taajuus
{ilmoitettu = 0; }
mitätön asennus ()
{Serial.begin (9600); // Debug -konsoli Blynk.begin (auth, ssid, pass); // muodosta yhteys blynk timer.setInterval (aikaviive, anturit); // Määritä toiminto, jota kutsutaan joka minuutti tai mikä aikaviive on asetettu arvoon dht.begin (); // suorita DHT -anturi}
// Tyhjän silmukan tulisi sisältää vain blynk.run ja ajastin
tyhjä silmukka () {Blynk.run (); // Suorita blynk timer.run (); // Käynnistää BlynkTimer}
Suositeltava:
Puheohjattu R2D2 -inspiroitu droidi Blynkin ja Iftttin avulla: 6 vaihetta
Puheohjattu R2D2 -inspiroitu droidi Blynkin ja Iftttin avulla: Katsomalla tähtien sotaa monet meistä ovat saaneet inspiraationsa robottihahmoista, erityisesti R2D2 -mallista. En tiedä muista, mutta rakastan vain sitä robottia. Koska olen robottien ystävä, olen päättänyt rakentaa oman R2D2 -droidin tähän lukitukseen käyttämällä blynk Io
Digitaalisen ajastimen luominen Blynkin avulla: 5 vaihetta
Digitaalisen ajastimen luominen Blynkin avulla: Tässä viestissä opimme, miten pääset alkuun Blynkin kanssa - IoT -alustalla, joka on suunniteltu yksinkertaistamaan koko prosessia meille ja joka toimii myös useiden Internet -yhteensopivien levyjen kanssa
Koti -automaatio Blynkin avulla: 5 vaihetta
Koti -automaatio Blynkin avulla: Hei kaikki! Ayush ja Anvit täällä Delhin julkisesta koulusta, Pune. Kuten olet ehkä lukenut otsikosta, tämä on kodin automaatiohanke, joka on kehitetty käyttämällä Blynkia IOT -alustana. Nykyään ihmiset ovat laiskoja ja Home Automation kysyntä
Lämpötilan ja kosteuden seuranta Blynkin avulla: 6 vaihetta
Lämpötilan ja kosteuden seuranta Blynkin avulla: Tässä opetusohjelmassa aiomme seurata lämpötilaa ja kosteutta DHT11: n avulla ja lähettää tiedot pilveen käyttämällä Blynk-komponentteja
Wemos ESP-Wroom-02 D1 Mini WiFi -moduulin ESP8266 + 18650 käyttäminen Blynkin avulla: 10 vaihetta
Wemos ESP-Wroom-02 D1 Mini WiFi -moduulin ESP8266 + 18650 käyttäminen Blynk-tekniikan avulla: Erittely: Yhteensopiva nodemcu 18650 -latausjärjestelmän integroinnin kanssa Merkkivaloa (vihreä tarkoittaa täyden punaisen lataamista) voidaan käyttää latauksen aikana liitintä voidaan käyttää lepotilassa · 1 lisää