Taula de continguts:
Vídeo: Monitor de plantes amb ESP32 Thing i Blynk: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Visió general
L’objectiu d’aquest projecte és crear un dispositiu compacte capaç de controlar les condicions d’una planta d’interior. El dispositiu permet a l’usuari comprovar el nivell d’humitat del sòl, el nivell d’humitat, la temperatura i la temperatura “semblant” des d’un telèfon intel·ligent mitjançant l’aplicació Blynk. A més, l’usuari rebrà una alerta per correu electrònic quan les condicions siguin inadequades per a la planta. Per exemple, l'usuari rebrà un recordatori per regar la planta quan els nivells d'humitat del sòl baixin d'un nivell adequat.
Pas 1: requisits
Aquest projecte utilitza una cosa Sparkfun ESP32, un sensor DHT22 i un sensor electrònic d’humitat de terra de maó. A més, cal una xarxa wifi i l’aplicació Blynk. Preferiblement, s’hauria de crear un recinte impermeable per contenir el producte ESP32. Tot i que aquest exemple utilitza una presa de corrent estàndard per a una font d’energia, l’addició d’una bateria recarregable, panell solar i controlador de càrrega permetria alimentar el dispositiu mitjançant energia renovable.
Pas 2: Blynk
Per ser, descarregueu l'aplicació Blynk i creeu un projecte nou. Preneu nota del testimoni d'autenticació: s'utilitzarà al codi. Creeu nous ginys de visualització a l'aplicació Blynk i seleccioneu els pins virtuals corresponents definits al codi. Estableix l'interval d'actualització per prémer. A cada giny se li ha d'assignar el seu propi pin virtual.
Pas 3: Arduino IDE
Descarregueu Arduino IDE. Seguiu les instruccions de descàrrega del controlador de coses ESP32 i la demostració per garantir la connectivitat wifi. Baixeu-vos les biblioteques Blynk i DHT incloses al codi. Empleneu el testimoni d’autenticació, la contrasenya wifi, el nom d’usuari wifi i el correu electrònic al codi final. Utilitzeu el codi de demostració del sensor d'humitat del sòl per trobar els valors mínim i màxim per al tipus de sòl. Anoteu i substituïu aquests valors al codi final. Substituïu els valors mínims de temperatura, humitat del sòl i humitat de la planta al codi final. Pengeu el codi.
Pas 4: construïu-lo
En primer lloc, connecteu el sensor d’humitat del sòl a 3,3 V, a terra i al pin d’entrada 34. Tingueu en compte que és integral que el commutador estigui configurat a A perquè s’utilitzarà la configuració analògica d’aquest sensor. A continuació, connecteu el sensor DHT a 3,3 V, a terra i al pin d'entrada 27. El sensor DHT22 requereix una resistència de 10 K Ohm entre el VCC i el pin de sortida de dades. Assegureu-vos de comprovar el diagrama DHT per assegurar-vos que està connectat correctament. Configureu l’ESP32 dins d’un recinte impermeable amb el sensor d’humitat del sòl i el sensor DHT per sobre de la superfície. Connecteu-vos a una font d'energia i gaudiu de les dades sobre l'entorn de la vostra planta.
Pas 5: Codi
// Biblioteques incloses
#defineix BLYNK_PRINT de sèrie
#include #include #include #include "DHT.h"
// Informació del sensor DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Pin digital connectat al sensor DHT DHT dht (DHTPIN, DHTTYPE); // Inicialitzar el sensor DHT.
// defineix els pins i les sortides d’entrada
int sòl_sensor = 34; // defineix el número de pin d'entrada analògica connectat al sensor d'humitat
int output_value; // defineix com a sortida
int moisturelevel; // defineix com a sortida
int notificat = 0; // defineix notificat com a 0
int timedelay = 60000L; // Estableix el temporitzador perquè s'executi i obté dades un cop cada minut o 60.000 mil·lisegons
// estableix valors mínims per a la planta
int min_humitat = 20; int min_temperature = 75; int min_humitat = 60;
// Hauríeu d'obtenir Auth Token a l'aplicació Blynk.
char auth = "Auth_Token_Here";
// Les vostres credencials de WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Temporitzador BlynkTimer;
// Aquesta funció envia el temps d'activació d'Arduino cada segon al pin virtual (5).
// A l'aplicació, la freqüència de lectura del widget s'ha d'establir en PUSH. Això significa // que definiu la freqüència amb què heu d'enviar dades a l'aplicació Blynk.
void Sensors () // funció principal per llegir els sensors i prémer fins a blynk
{output_value = analogRead (soil_sensor); // Llegiu el senyal analògic de soil_sensor i definiu-lo com output_value // Mapa de output_vlaue des de valors mínims, màxims a 100, 0 i restringiu entre 0, 100 // Utilitzeu el codi de mostra i el monitor sèrie per trobar min i valors màxims per al sensor individual i el tipus de sòl per a un millor calibratge de la humitat = restringir (mapa (valor_de sortida, 1000, 4095, 100, 0), 0, 100); flotador h = dht.readHumidity (); // Llegir float d’humitat t = dht.readTemperature (); // Llegiu la temperatura com Celsius (per defecte) flotant f = dht.readTemperature (true); // Llegiu la temperatura com Fahrenheit (isFahrenheit = true) // Calculeu l'índex de calor a Fahrenheit (per defecte) float hif = dht.computeHeatIndex (f, h); // Comproveu si alguna lectura ha fallat i sortiu aviat (per tornar-ho a provar). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("No s'ha pogut llegir del sensor DHT!")); tornar; } // Connecta vales als pins virtuals definits als ginys de l'aplicació Blynk Blynk.virtualWrite (V5, moisturelevel); // Envia el nivell d'humitat al pin virtual 5 Blynk.virtualWrite (V6, f); // Envia la temperatura al virtual pin 6 Blynk.virtualWrite (V7, h); // Enviar humitat al pin virtual 7 Blynk.virtualWrite (V8, hif); // Enviar índex de calor al pin virtual 8
if (notificat == 0)
{if (moisturelevel <= min_moisture) // Si moisturelevel és igual o inferior al valor mínim {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Enviar correu electrònic a la planta d’aigua} delay (15000); // Els correus electrònics de Blynk han de tenir una separació de 15 segons. Retardar 15.000 mil·lisegons si (f <= temperatura_min) // Si la temperatura és igual o inferior al valor mínim {Blynk.email ("Email_Here", "Monitor de planta", "Temperatura baixa!"); // Envieu un correu electrònic perquè la temperatura sigui baixa
}
retard (15000); // Els correus electrònics de Blynk han de tenir una separació de 15 segons. Retardar 15.000 mil·lisegons si (h <= mín_humitat) // Si la humitat és igual o inferior al valor mínim {Blynk.email ("Emial_Here", "Monitor de planta", "Humitat baixa!"); // Envieu un correu electrònic que la humitat sigui baixa} notificat = 1; timer.setTimeout (timedelay * 5, resetNotified); // multiplicar el retard de temps pel nombre de minuts desitjats entre correus electrònics d’avís repetits}}
void resetNotified () // funció cridada per restablir la freqüència del correu electrònic
{notificat = 0; }
configuració nul·la ()
{Serial.begin (9600); // Depurar la consola Blynk.begin (auth, ssid, pass); // connectar-se a blynk timer.setInterval (retard de temps, Sensors); // Configureu una funció que es cridi cada minut o quin temps de temps s'estableix en dht.begin (); // executa el sensor DHT}
// El bucle buit només ha de contenir blynk.run i temporitzador
bucle buit () {Blynk.run (); // Executa blynk timer.run (); // Inicia BlynkTimer}
Recomanat:
Monitor de plantes Arduino amb sensor capacitiu del sòl - Tutorial: 6 passos
Monitor de plantes Arduino amb sensor capacitiu del sòl: tutorial: en aquest tutorial aprendrem com detectar la humitat del sòl mitjançant un sensor d’humitat capacitiu amb pantalla OLED i Visuino. Mireu el vídeo
Monitor intel·ligent de plantes d’interior: sapigueu quan la vostra planta necessita regar: 8 passos (amb imatges)
Monitor intel·ligent de plantes d’interior: sàpiga quan la vostra planta necessita regar: fa un parell de mesos vaig fabricar un pal de control de la humitat del sòl que funciona amb bateries i que es pot enganxar al sòl del test de la vostra planta d’interior per proporcionar-vos informació útil sobre el sòl nivell d'humitat i LED de flaix per dir-vos quan cal
Reg de plantes interiors amb NodeMCU, servidor local Blynk i Blynk Apk, punt de configuració ajustable: 3 passos
Reg de plantes d'interior amb NodeMCU, Local Blynk Server i Blynk Apk, punt ajustable: He construït aquest projecte perquè les meves plantes d'interior han de ser sanes fins i tot quan estic de vacances durant un període prolongat de temps i m'agrada tenir la idea controlar o, com a mínim, supervisar totes les coses possibles que passen a casa meva per Internet
Alimentador automàtic de plantes WiFi amb dipòsit - Instal·lació de cultiu interior / exterior - Plantes d'aigua automàticament amb control remot: 21 passos
Alimentador automàtic de plantes WiFi amb dipòsit - Instal·lació de cultiu interior / exterior - Plantes d'aigua automàticament amb control remot: en aquest tutorial demostrarem com configurar un sistema d'alimentació de plantes personalitzat interior / exterior que regui les plantes automàticament i es pugui controlar de forma remota mitjançant la plataforma Adosia
Gestió de plantes basades en el pes solar amb ESP32: 7 passos (amb imatges)
Gestió de plantes basades en el pes solar amb ESP32: fer créixer les plantes és divertit i regar-les i cuidar-les no és realment una molèstia. Les aplicacions de microcontroladors per controlar la seva salut es troben a tot Internet i la inspiració del seu disseny prové de la naturalesa estàtica de la planta i de la facilitat de monitora