Table des matières:
Vidéo: Plant Monitor utilisant ESP32 Thing et Blynk : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Aperçu
L'objectif de ce projet est de créer un appareil compact capable de surveiller les conditions d'une plante d'intérieur. L'appareil permet à l'utilisateur de vérifier le niveau d'humidité du sol, le niveau d'humidité, la température et la température "de sensation" à partir d'un smartphone à l'aide de l'application Blynk. De plus, l'utilisateur recevra une alerte par e-mail lorsque les conditions deviennent inadaptées à l'usine. Par exemple, l'utilisateur recevra un rappel pour arroser la plante lorsque les niveaux d'humidité du sol tombent en dessous d'un niveau approprié.
Étape 1: Exigences
Ce projet utilise un objet Sparkfun ESP32, un capteur DHT22 et un capteur d'humidité du sol en brique électronique. De plus, un réseau wifi et l'application Blynk sont requis. De préférence, une enceinte étanche devrait être créée pour contenir la chose ESP32. Bien que cet exemple utilise une prise standard pour une source d'alimentation, l'ajout d'une batterie rechargeable, d'un panneau solaire et d'un contrôleur de charge permettrait à l'appareil d'être alimenté par une énergie renouvelable.
Étape 2: Blynk
Pour être, téléchargez l'application Blynk et créez un nouveau projet. Prenez note du jeton d'authentification - il sera utilisé dans le code. Créez de nouveaux widgets d'affichage dans l'application Blynk et sélectionnez les broches virtuelles correspondantes définies dans le code. Définissez l'intervalle d'actualisation pour pousser. Chaque widget doit se voir attribuer sa propre broche virtuelle.
Étape 3: IDE Arduino
Téléchargez l'IDE Arduino. Suivez les instructions de téléchargement du pilote de chose ESP32 et la démo pour assurer la connectivité wifi. Téléchargez les bibliothèques Blynk et DHT incluses dans le code. Remplissez le jeton d'authentification, le mot de passe wifi, le nom d'utilisateur wifi et l'e-mail dans le code final. Utilisez le code de démonstration du capteur d'humidité du sol pour trouver les valeurs minimales et maximales pour le type de sol. Enregistrez et remplacez ces valeurs dans le code final. Remplacez les valeurs minimales pour la température, l'humidité du sol et l'humidité de la plante dans le code final. Téléchargez le code.
Étape 4: Construisez-le
Tout d'abord, connectez le capteur d'humidité du sol à 3,3 V, à la terre et à la broche d'entrée 34. Notez qu'il est essentiel que le commutateur soit réglé sur A car le réglage analogique de ce capteur sera utilisé. Ensuite, connectez le capteur DHT à 3,3 V, à la terre et à la broche d'entrée 27. Le capteur DHT22 nécessite une résistance de 10K Ohm entre le VCC et la broche de sortie de données. Assurez-vous de vérifier le diagramme DHT pour vous assurer qu'il est correctement câblé. Configurez l'ESP32 à l'intérieur d'un boîtier étanche avec le capteur d'humidité dans le sol et le capteur DHT au-dessus de la surface. Connectez-vous à une source d'alimentation et profitez des données sur l'environnement de votre usine.
Étape 5: Coder
//Bibliothèques incluses
#define BLYNK_PRINT Série
#include #include #include #include "DHT.h"
//Informations du capteur DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Broche numérique connectée au capteur DHT DHT dht(DHTPIN, DHTTYPE); // Initialiser le capteur DHT.
//définir les broches d'entrée et les sorties
int sol_sensor = 34; //définir le numéro de broche d'entrée analogique connecté au capteur d'humidité
int output_value;//définir comme sortie
int niveau d'humidité;//définir comme sortie
int notifié = 0; //définir notifié comme 0
temporisation int = 60000L; //définir la minuterie pour exécuter obtenir des données une fois par minute ou 60 000 millisecondes
//définir les valeurs minimales pour la plante
int min_humidité =20; int min_temperature =75; int min_humidité =60;
// Vous devriez obtenir le jeton d'authentification dans l'application Blynk.
char auth = "Auth_Token_Here";
// Vos identifiants WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
minuteur BlynkTimer;
// Cette fonction envoie le temps de fonctionnement d'Arduino chaque seconde à la broche virtuelle (5).
// Dans l'application, la fréquence de lecture du widget doit être définie sur PUSH. Cela signifie // que vous définissez la fréquence d'envoi des données à l'application Blynk.
void Sensors () // fonction principale pour lire les capteurs et pousser pour blynk
{ output_value = analogRead(soil_sensor);// Lire le signal analogique de Soil_sensor et définir comme output_value //Map output_vlaue des valeurs min, max à 100, 0 et contraindre entre 0, 100 //Utiliser un exemple de code et un moniteur série pour trouver min et valeurs maximales pour chaque capteur et type de sol pour un meilleur étalonnage niveau d'humidité = contrainte (map(output_value, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity(); // Lecture du flotteur d'humidité t = dht.readTemperature(); // Lecture de la température en Celsius (valeur par défaut) float f = dht.readTemperature(true); // Lire la température en Fahrenheit (isFahrenheit = true) // Calculer l'indice de chaleur en Fahrenheit (par défaut) float hif = dht.computeHeatIndex(f, h); // Vérifiez si des lectures ont échoué et quittez plus tôt (pour réessayer). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Échec de la lecture depuis le capteur DHT !")); revenir; } // Ceci connecte les valeurs aux broches virtuelles définies dans les widgets de l'application Blynk Blynk.virtualWrite(V5, wetlevel); // Envoie le niveau d'humidité à la broche virtuelle 5 Blynk.virtualWrite(V6, f); // Envoie la température à la broche virtuelle broche 6 Blynk.virtualWrite(V7, h);// Envoyer l'humidité à la broche virtuelle 7 Blynk.virtualWrite(V8, hif); // Envoyer l'indice de chaleur à la broche virtuelle 8
si (notifié==0)
{ if (moisturelevel <= min_moisture) // Si le niveau d'humidité est égal ou inférieur à la valeur min { Blynk.email("Email_Here", "Plant Monitor", "Water Plant!"); // Envoyer un e-mail à l'usine d'eau } delay (15000); // Les e-mails Blynk doivent être espacés de 15 secondes. Retard 15000 millisecondes if (f <= min_temperature) // Si la température est égale ou inférieure à la valeur min { Blynk.email("Email_Here", "Plant Monitor", "Temperature Low!"); // Envoyer un e-mail indiquant que la température est basse
}
retard (15000); // Les e-mails Blynk doivent être espacés de 15 secondes. Retard 15000 millisecondes if (h <= min_humidity) // Si l'humidité est égale ou inférieure à la valeur min { Blynk.email("Emial_Here", "Plant Monitor", "Humidity Low!"); // Envoyer un e-mail indiquant que l'humidité est faible } notifié = 1; timer.setTimeout(timedelay *5, resetNotified); // Multipy timedelay par le nombre de minutes souhaitées entre les e-mails d'avertissement répétés } }
void resetNotified() //fonction appelée pour réinitialiser la fréquence des e-mails
{ notifié = 0; }
void setup()
{ Serial.begin(9600); // Console de débogage Blynk.begin(auth, ssid, pass); // se connecte à blynk timer.setInterval(timedelay, Sensors); // Configurez une fonction à appeler toutes les minutes ou quel délai est défini sur dht.begin(); //exécuter le capteur DHT }
// La boucle vide ne doit contenir que blynk.run et timer
boucle vide() { Blynk.run(); // Exécutez blynk timer.run(); // Lance BlynkTimer }
Conseillé:
Smart Indoor Plant Monitor - Sachez quand votre plante a besoin d'être arrosée : 8 étapes (avec photos)
Moniteur intelligent de plantes d'intérieur - Sachez quand votre plante a besoin d'être arrosée : il y a quelques mois, j'ai fabriqué un bâton de surveillance de l'humidité du sol alimenté par batterie et pouvant être enfoncé dans le sol du pot de votre plante d'intérieur pour vous donner des informations utiles sur le sol. niveau d'humidité et LED flash pour vous dire quand wa
Droid inspiré par R2D2 à commande vocale utilisant Blynk et Ifttt: 6 étapes
Droid inspiré par R2D2 à commande vocale utilisant Blynk et Ifttt: En regardant la guerre des étoiles, beaucoup d'entre nous se sont inspirés des personnages de robots, en particulier le modèle R2D2. Je ne sais pas pour les autres mais j'adore ce robot. Comme je suis un amoureux des robots, j'ai décidé de construire mon propre droïde R2D2 dans ce verrouillage en utilisant blynk Io
Radiocommande RF 433MHZ utilisant HT12D HT12E - Faire une télécommande Rf en utilisant HT12E & HT12D avec 433mhz: 5 étapes
Radiocommande RF 433MHZ utilisant HT12D HT12E | Faire une télécommande Rf à l'aide de HT12E & HT12D avec 433 mhz : dans cette instructable, je vais vous montrer comment faire une télécommande RADIO à l'aide d'un module émetteur-récepteur 433 mhz avec encodage HT12E & Décodeur HT12D IC. Dans cette instructable, vous pourrez envoyer et recevoir des données à l'aide de COMPOSANTS très très bon marché COMME : HT
Premiers pas avec ESP32 CAM - Streaming vidéo en utilisant ESP CAM sur Wifi - Projet de caméra de sécurité ESP32 : 8 étapes
Premiers pas avec ESP32 CAM | Streaming vidéo en utilisant ESP CAM sur Wifi | Projet de caméra de sécurité ESP32 : aujourd'hui, nous allons apprendre à utiliser cette nouvelle carte ESP32 CAM et comment nous pouvons la coder et l'utiliser comme caméra de sécurité et obtenir une vidéo en streaming via wifi
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre