Sisukord:
Video: Taimemonitor ESP32 Thing ja Blynk abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Ülevaade
Selle projekti eesmärk on luua kompaktne seade, mis suudab jälgida toalille tingimusi. Seade võimaldab kasutajal Blynk Appi abil nutitelefonist kontrollida mulla niiskustaset, niiskustaset, temperatuuri ja temperatuuri. Lisaks saab kasutaja e -postiga märguande, kui tingimused muutuvad tehase jaoks ebasobivaks. Näiteks saab kasutaja meeldetuletuse taime kastmiseks, kui mulla niiskus langeb alla sobiva taseme.
Samm: nõuded
See projekt kasutab Sparkfun ESP32 asja, DHT22 andurit ja elektroonilist telliskivimulla niiskuseandurit. Lisaks on vaja WiFi -võrku ja rakendust Blynk. Eelistatavalt tuleks luua ESP32 asja sisaldav veekindel ümbris. Kuigi see näide kasutab toiteallika jaoks tavalist pistikupesa, võimaldaks laetava aku, päikesepaneeli ja laadimiskontrolleri lisamine seadet toita taastuvenergia abil.
2. samm: Blynk
Laadige alla rakendus Blynk ja looge uus projekt. Võtke teadmiseks autentimismärk-seda kasutatakse koodis. Looge rakenduses Blynk uued kuvavidinad ja valige koodis määratletud vastavad virtuaalsed tihvtid. Seadistage värskendamise intervall, mida vajutada. Igale vidinale tuleks määrata oma virtuaalne tihvt.
Samm: Arduino IDE
Laadige alla Arduino IDE. WiFi -ühenduse tagamiseks järgige ESP32 asja draiveri ja demo allalaadimisjuhiseid. Laadige alla koodis sisalduvad Blynk ja DHT teegid. Täitke lõplikus koodis autentimismärk, wifi parool, wifi kasutajanimi ja e -post. Kasutage mullatüübi miinimum- ja maksimumväärtuste leidmiseks mulla niiskusanduri demokoodi. Salvestage ja asendage need väärtused lõplikus koodis. Asendage lõplikus koodis taime temperatuuri, mulla niiskuse ja niiskuse miinimumväärtused. Laadige kood üles.
4. samm: ehitage see üles
Kõigepealt ühendage mulla niiskusandur 3,3 V, maanduse ja sisendpinniga 34. Pange tähele, et lüliti on asendis A, kuna kasutatakse selle anduri analoogseadet. Seejärel ühendage DHT -andur 3,3 V, maandus- ja sisendpinniga 27. DHT22 andur vajab VKC ja andmeväljundi tihvti vahel 10K oomi takistit. Kontrollige kindlasti DHT -diagrammi, et veenduda, et see on korralikult ühendatud. Seadistage ESP32 veekindla korpuse sisse nii, et mullas olev niiskusandur ja pinna kohal olev DHT -andur. Ühendage toiteallikaga ja nautige andmeid oma tehase keskkonna kohta.
Samm: kood
// Kaasatud raamatukogud
#define BLYNK_PRINT seeria
#kaasama #kaasama #kaasama #kaasama "DHT.h"
// DHT -anduri teave
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // DHT -anduriga ühendatud digitaalne tihvt DHT dht (DHTPIN, DHTTYPE); // DHT -anduri lähtestamine.
// sisendpistikute ja väljundite määratlemine
int pinnase_andur = 34; // määrake niiskussensoriga ühendatud analoogsisendi pin -number
int output_value; // määratle väljundina
int niiskuse tase; // määratletakse väljundina
int teavitatud = 0; // defineeri märge 0
int ajaviide = 60000L; // seadista taimer tööle, et saada andmeid üks kord minutis või 60 000 millisekundit
// määrake taime miinimumväärtused
int min_niiskus = 20; int min_temperatuur = 75; int min_niiskus = 60;
// Te peaksite saama Blynk -rakenduses autentimisloa.
char auth = "Auth_Token_Here";
// Teie WiFi volikirjad.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer taimer;
// See funktsioon saadab Arduino tööaja iga sekund Virtual Pin (5).
// Rakenduses tuleks vidina lugemissageduseks seada PUSH. See tähendab, // et määrate, kui tihti andmeid Blynk Appi saata.
void Sensors () // põhifunktsioon andurite lugemiseks ja blynk -i vajutamiseks
{output_value = analogRead (dirt_sensor); // Loe analoogsignaali pinnas_andurilt ja määratle väljundväärtusena // Kaardista output_vlaue alates min, max väärtustest kuni 100, 0 ja piira vahemikku 0, 100 // Kasutage proovikoodi ja jadamonitori, et leida min ja maksimaalsed väärtused individuaalse anduri ja mullatüübi jaoks paremaks kalibreerimiseks niiskustase = piirang (kaart (väljundväärtus, 1000, 4095, 100, 0), 0, 100); ujuk h = dht.readHumidity (); // Niiskuse ujuki lugemine t = dht.readTemperature (); // Temperatuuri lugemine Celsiuse järgi (vaikimisi) float f = dht.readTemperature (true); // Temperatuuri lugemine Fahrenheiti järgi (isFahrenheit = tõene) // Soojusindeksi arvutamine Fahrenheiti järgi (vaikimisi) float hif = dht.computeHeatIndex (f, h); // Kontrollige, kas mõni lugemine ebaõnnestus, ja väljuge varakult (uuesti proovimiseks). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("DHT -andurilt ei õnnestunud lugeda!")); tagasipöördumine; } // See ühendab valesid virtuaalsete nööpnõeltega, mis on määratletud rakenduse Blynk vidinate vidinates Blynk.virtualWrite (V5, niiskuse tase); // Niiskuse taseme saatmine virtuaalsele tihvtile 5 Blynk.virtualWrite (V6, f); // Saada temperatuur virtuaalsele tihvt 6 Blynk.virtualWrite (V7, h); // Niiskuse saatmine virtuaalsele tihvtile 7 Blynk.virtualWrite (V8, hif); // Soojusindeksi saatmine virtuaalsele tihvtile 8
kui (teavitatud == 0)
{if (niiskustase <= min_koste) // Kui niiskuse tase on võrdne või väiksem min väärtusest {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Saada e -kiri veevabrikule} delay (15000); // Blynk e -kirjade vahe peab olema 15 sekundit. Hiline 15000 millisekundit, kui (f <= min_temperature) // Kui temperatuur on võrdne või madalam min väärtusest {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Saada meil, et temperatuur on madal
}
viivitus (15000); // Blynk e -kirjade vahe peab olema 15 sekundit. Viivitage 15000 millisekundit, kui (h <= min_niiskus) // Kui niiskus on võrdne või väiksem min väärtusest {Blynk.email ("Emial_Here", "Plant Monitor", "Niiskus madal!"); // Saada meil, et niiskus on madal} teavitatud = 1; timer.setTimeout (ajaviide *5, lähtestamine); // mitmekordne ajaviide kordushoiatuskirjade vahel soovitud minutite arvu järgi}}
void resetNotified () // funktsioon kutsuti e -posti sageduse lähtestamiseks
{teavitatud = 0; }
tühine seadistus ()
{Serial.begin (9600); // Silumiskonsool Blynk.begin (auth, ssid, pass); // ühenda blynk timer.setInterval (timedelay, Sensorid); // Seadistage funktsioon, mida kutsutakse iga minuti tagant või milline ajaviide on seatud väärtusele dht.begin (); // käivita DHT sensor}
// Void loop peaks sisaldama ainult blynk.run ja taimerit
void loop () {Blynk.run (); // Käivita blynk timer.run (); // Alustab BlynkTimer}
Soovitan:
Nutikas siseruumide taimemonitor - teadke, kui teie taim vajab kastmist: 8 sammu (piltidega)
Nutikas siseruumide taimemonitor - teadke, millal teie taim vajab kastmist: paar kuud tagasi tegin mulla niiskuse jälgimise pulga, mis töötab patareidega ja mille saab oma toataime potti mulda kinni hoida, et anda teile kasulikku teavet mulla kohta Niiskustase ja välklambid näitavad, millal oodata
MQ7-POLLUTION MONITORING THING SPEAK JA NODEMCU abil: 4 sammu
MQ7-POLLUTION MONITORING THING SPEAK AND NODEMCU abil: Reostus on meie tänapäeva maailma suur probleem. Aga kuidas me saame oma läheduses reostust jälgida, nüüd on see väga lihtne
Toataimede kastmine NodeMCU, kohaliku Blynk Serveri ja Blynk Apk abil, reguleeritav seadepunkt: 3 sammu
Toataimede kastmine NodeMCU, kohaliku Blynk Serveri ja Blynk Apk abil, reguleeritav seadeväärtus: olen selle projekti üles ehitanud, sest mu toataimed peavad olema terved isegi siis, kui olen pikemat aega puhkusel ja mulle meeldib see idee Interneti kaudu kontrollida või vähemalt jälgida kõiki võimalikke asju, mis minu kodus toimuvad
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Taimemonitor: 12 sammu (koos piltidega)
Taimemonitor: Taimemonitori eesmärk on skaneerida ja vajadusel vett manustada, et taim ühendaks antud analoogmullaanduri. Selle projekti jaoks vajalikud osad on: 1x Arduino Uno1x LCD -ekraan1x servomootor1x mullasensor 1x potentsiomeeter1x meditsiiniline 30c