Obsah:
Video: Monitor rostlin pomocí ESP32 Thing a Blynk: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Přehled
Cílem tohoto projektu je vytvořit kompaktní zařízení schopné monitorovat podmínky pokojové rostliny. Zařízení umožňuje uživateli pomocí smartphonu pomocí aplikace Blynk kontrolovat úroveň půdní vlhkosti, úroveň vlhkosti, teplotu a „pocitovou“teplotu. Kromě toho uživatel obdrží e -mailové upozornění, když se podmínky stanou nevhodnými pro závod. Uživatel například obdrží připomenutí zalévat rostlinu, když úroveň půdní vlhkosti klesne pod vhodnou úroveň.
Krok 1: Požadavky
Tento projekt používá věc Sparkfun ESP32, snímač DHT22 a elektronický snímač vlhkosti cihelné půdy. Kromě toho je vyžadována síť Wi -Fi a aplikace Blynk. Přednostně by měl být vytvořen vodotěsný kryt, který bude obsahovat věc ESP32. I když tento příklad používá standardní zásuvku pro zdroj energie, přidání dobíjecí baterie, solárního panelu a regulátoru nabíjení by umožnilo napájení zařízení pomocí obnovitelné energie.
Krok 2: Blynk
Chcete -li být, stáhněte si aplikaci Blynk a vytvořte nový projekt. Vezměte na vědomí ověřovací token-bude použit v kódu. V aplikaci Blynk vytvořte nové widgety pro zobrazení a vyberte odpovídající virtuální piny definované v kódu. Nastavte interval aktualizace na stisknutí. Každému widgetu by měl být přiřazen vlastní virtuální pin.
Krok 3: Arduino IDE
Stáhněte si Arduino IDE. Podle pokynů ke stažení ovladače ESP32 a ukázky zajistěte připojení k wifi. Stáhněte si knihovny Blynk a DHT zahrnuté v kódu. Vyplňte ověřovací token, heslo wifi, uživatelské jméno wifi a e -mail v konečném kódu. Pomocí demo kódu senzoru půdní vlhkosti vyhledejte minimální a maximální hodnoty pro typ půdy. Zaznamenejte a nahraďte tyto hodnoty v konečném kódu. V konečném kódu nahraďte minimální hodnoty teploty, půdní vlhkosti a vlhkosti pro rostlinu. Nahrajte kód.
Krok 4: Postavte to
Nejprve připojte snímač půdní vlhkosti k 3,3 V, uzemnění a vstupnímu kolíku 34. Všimněte si, že je integrální, přepínač je nastaven na A, protože pro toto čidlo bude použito analogové nastavení. Dále připojte snímač DHT k 3,3 V, uzemnění a vstupnímu kolíku 27. Senzor DHT22 vyžaduje mezi VCC a datovým výstupem odpor 10 K Ohm. Nezapomeňte zkontrolovat diagram DHT, abyste se ujistili, že je správně zapojen. Konfigurujte ESP32 uvnitř vodotěsného krytu se snímačem vlhkosti v půdě a snímačem DHT nad povrchem. Připojte se ke zdroji energie a užívejte si data o prostředí vašeho závodu.
Krok 5: Kód
// Zahrnuté knihovny
#define BLYNK_PRINT Sériové číslo
#include #include #include #include "DHT.h"
// Informace o senzoru DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitální pin připojený k senzoru DHT DHT dht (DHTPIN, DHTTYPE); // Inicializace snímače DHT.
// definujte vstupní piny a výstupy
int earth_sensor = 34; // definujte číslo analogového vstupního pinu připojeného k čidlu vlhkosti
int output_value; // definovat jako výstup
int vlhkostní úroveň; // definovat jako výstup
int oznámeno = 0; // definujte upozornění jako 0
int časová prodleva = 60000L; // nastavení časovače pro spuštění získávání dat jednou za minutu nebo 60 000 milisekund
// nastavení minimálních hodnot pro závod
int min_vlhkost = 20; int min_teplota = 75; int min_vlhkost = 60;
// V aplikaci Blynk byste měli získat Auth Token.
char auth = "Auth_Token_Here";
// Vaše pověření WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Časovač BlynkTimer;
// Tato funkce posílá každou sekundu dobu zapnutí Arduina na Virtual Pin (5).
// V aplikaci by měla být frekvence čtení widgetu nastavena na PUSH. To znamená, že // definujete, jak často chcete odesílat data do aplikace Blynk.
void Sensors () // hlavní funkce pro čtení senzorů a push to blynk
{output_value = analogRead (earth_sensor); // Načte analogový signál z earth_sensor a definujte jako output_value // Map output_vlaue z min, max hodnot na 100, 0 a omezte mezi 0, 100 // Pomocí ukázkového kódu a sériového monitoru najděte min. maximální hodnoty pro jednotlivý senzor a typ půdy pro lepší kalibraci úroveň vlhkosti = omezení (mapa (výstupní_hodnota, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // Čtení vlhkosti float t = dht.readTemperature (); // Čtení teploty jako Celsia (výchozí) float f = dht.readTemperature (true); // Odečtěte teplotu jako Fahrenheit (isFahrenheit = true) // Vypočítejte tepelný index ve Fahrenheite (výchozí) float hif = dht.computeHeatIndex (f, h); // Zkontrolujte, zda některá čtení selhala, a ukončete předčasné (zkuste to znovu). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Failed to reading from DHT sensor!")); vrátit se; } // Tím se spojí hodnoty s virtuálními piny definovanými ve widgetech v aplikaci Blynk Blynk.virtualWrite (V5, vlhkostní úroveň); // Odeslání úrovně vlhkosti na virtuální kolík 5 Blynk.virtualWrite (V6, f); // Odeslání teploty na virtuální pin 6 Blynk.virtualWrite (V7, h); // Odeslání vlhkosti na virtuální pin 7 Blynk.virtualWrite (V8, hif); // Odeslání indexu tepla na virtuální pin 8
pokud (oznámeno == 0)
{if (hladina vlhkosti <= min_vlhkost) // Pokud je úroveň vlhkosti stejná nebo nižší než minimální hodnota {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // odeslání e -mailu na vodní elektrárnu} zpoždění (15 000); // Blynkovy e -maily musí být od sebe vzdáleny 15 sekund. Zpoždění 15 000 milisekund, pokud (f <= min_teplota) // Pokud je teplota stejná nebo nižší než minimální hodnota {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Pošlete e -mail s nízkou teplotou
}
zpoždění (15 000); // Blynkovy e -maily musí být od sebe vzdáleny 15 sekund. Zpoždění 15 000 milisekund, pokud (h <= min_vlhkost) // Pokud je vlhkost rovna nebo nižší než minimální hodnota {Blynk.email ("Emial_Here", "Plant Monitor", "Vlhkost nízká!"); // Odeslat e -mail, že vlhkost je nízká} oznámeno = 1; timer.setTimeout (timedelay *5, resetNotified); // znásobení časového zpoždění počtem požadovaných minut mezi opakovanými varovnými e -maily}}
void resetNotified () // funkce volána k resetování frekvence e -mailu
{oznámeno = 0; }
neplatné nastavení ()
{Serial.begin (9600); // Konzola ladění Blynk.begin (auth, ssid, pass); // připojení k blynk timer.setInterval (timedelay, Sensors); // Nastavení funkce, která se bude volat každou minutu nebo jaké časové zpoždění je nastaveno na dht.begin (); // spustit snímač DHT}
// Prázdná smyčka by měla obsahovat pouze blynk.run a časovač
void loop () {Blynk.run (); // Spustit blynk timer.run (); // Inicializuje BlynkTimer}
Doporučuje:
Automatický systém zavlažování rostlin pomocí mikro: bit: 8 kroků (s obrázky)
Automatický systém zavlažování rostlin pomocí mikro: bit: V tomto Instructable vám ukážu, jak vytvořit automatický systém zavlažování rostlin pomocí Micro: bit a některých dalších malých elektronických součástek. Micro: bit používá snímač vlhkosti sledovat hladinu vlhkosti v půdě rostliny a
Jak vybudovat systém zavlažování rostlin pomocí Arduina: 7 kroků
Jak vybudovat zavlažovací systém rostlin pomocí Arduina: V tomto tutoriálu se naučíme, jak vytvořit zavlažovací systém pomocí čidla vlhkosti, vodního čerpadla a blikající zelené LED, pokud je vše v pořádku, a OLED displeje a Visuina. Podívejte se na video
Jak vybudovat automatický zavlažovací systém rostlin pomocí výstrah WiFi: 15 kroků
Jak vybudovat automatický zavlažovací systém rostlin pomocí výstrah WiFi: Toto je hotový projekt, automatický zavlažovací systém rostlin řízený pomocí #WiFi. Pro tento projekt jsme použili samozavlažovací automatickou podsestavu zahradního systému od společnosti Adosia. Toto nastavení používá solenoidové vodní ventily a analogový půdní mok
Jak detekovat choroby rostlin pomocí strojového učení: 6 kroků
Jak detekovat choroby rostlin pomocí strojového učení: Proces detekce a rozpoznávání nemocných rostlin byl vždy manuální a únavný proces, který vyžaduje, aby lidé vizuálně zkontrolovali tělo rostliny, což může často vést k nesprávné diagnóze. Rovněž bylo předpovězeno, že jako globální
Zalévání pokojových rostlin pomocí NodeMCU, místního serveru Blynk a Blynk Apk, nastavitelná žádaná hodnota: 3 kroky
Zalévání pokojových rostlin pomocí NodeMCU, Local Blynk Server a Blynk Apk, nastavitelná žádaná hodnota: Tento projekt jsem postavil, protože moje pokojové rostliny musí být zdravé, i když jsem delší dobu na dovolené a líbí se mi myšlenka mít ovládat nebo alespoň sledovat všechny možné věci, které se dějí u mě doma, přes internet