Table des matières:
- Étape 1: Schéma fonctionnel du système
- Étape 2: Détail des composants
- Étape 3: schéma de circuit
- Étape 4: Vidéo de travail et fichier de code
- Étape 5: Code du programme
Vidéo: Surveillance d'usine avec alerte SMS : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Ici, je crée une surveillance des plantes avec alerte SMS. Le serveur n'est pas requis pour ce système d'alerte. C'est un projet très bon marché et fiable.
Étape 1: Schéma fonctionnel du système
Dans les serres d'aujourd'hui, de nombreuses mesures de paramètres sont nécessaires
surveiller et contrôler la bonne qualité et la productivité des plantes. Mais pour obtenir les résultats souhaités, certains facteurs très importants entrent en jeu comme la température, l'humidité, la lumière et un bon sol, qui sont nécessaires pour une meilleure croissance des plantes. En gardant ces paramètres à l'esprit, j'ai construit un système de surveillance automatique des installations via un module GSM à l'aide d'Arduino. Ce système est très efficace pour faire pousser des plantes de bonne qualité. L'autre partie importante de ce projet est qu'il est entièrement automatique et qu'il fonctionne comme à basse tension; Alimentation 5-12V CC.
De nos jours, le module GSM est largement utilisé pour envoyer le statut SMS de tout type de données. Ici, dans ce projet, en utilisant le module GSM SIM900A, nous pouvons conserver des informations sur les effets du climat sur les plantes. Le système doit également démontrer les changements climatiques qui affectent l'usine dans sa productivité et sa qualité, etc. L'objectif principal de ce projet est de construire une surveillance automatique de l'usine dans laquelle le module GSM envoie les informations sur la température, l'humidité, l'intensité lumineuse, le sol humidité.
Parce que je suis citoyen indien, j'ai utilisé le module SIM900A (A signifie réseau asiatique), mais vous pouvez utiliser différents types de modules SIM selon votre pays. Les codes AT peuvent différer.
Étape 2: Détail des composants
------------------ Je mesure quatre types de paramètres, qui vont
à discuter ci-dessous: ------------------
Température et humidité
Le capteur DHT11 est utilisé pour détecter la température et l'humidité. Lorsque la température et l'humidité sont élevées, les racines des plantes sont endommagées et la croissance des plantes n'est pas bonne.
Intensité lumineuse
L'intensité lumineuse est un facteur important pour la croissance des plantes. Pour détecter l'intensité lumineuse, la LDR (résistance dépendante de la lumière) est utilisée. L'intensité de la lumière est mesurée en LUX et, par conséquent, pour la démonstration, une lumière de 100 LUX est utilisée comme niveau défini ou seuil.
Humidité du sol
L'humidité contenue dans le sol est très importante pour une bonne croissance des plantes. Ici, le capteur de sol est utilisé pour mesurer la teneur en humidité du sol. En utilisant ce capteur, nous pouvons mesurer les données du sol dans les deux sens, analogiques et numériques également.
Notification SMS:
Lorsque la valeur de l'un des paramètres ci-dessus dépasse un niveau défini ou un niveau critique, le système envoie automatiquement un SMS au propriétaire ou à l'opérateur avec des informations sur les paramètres associés et lorsque la valeur se situe dans la plage normale ou en dessous du niveau défini, le système revient automatiquement envoyer des SMS au propriétaire ou à l'opérateur avec des informations sur les données associées.
La notification n'est envoyée qu'une seule fois jusqu'à ce que la condition ne change pas afin que le propriétaire ou l'opérateur ne reçoive pas de SMS fréquents. Par conséquent, un pack SMS inférieur est requis.
Étape 3: schéma de circuit
Toutes ces pièces sont facilement disponibles sur n'importe quel site d'achat en ligne
ou avec un revendeur de pièces détachées électroniques bien connu. Toutes les fiches techniques des composants sont disponibles sur le Web. En cas de difficulté n'hésitez pas à me contacter sur mon mail.
Étape 4: Vidéo de travail et fichier de code
Vidéo de travail finale du projet
Étape 5: Code du programme
#comprendre
#comprendre
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
dht DHT; #définir dht_dpin A1 #définir LUX A0 #définir le sol A3
volt flottant, lux, valeur; int valeur_sortie; int température, humidité; int lightflag = 0; int humflag = 0; int indicateur de sol = 0; int indicateur_temp = 0; contrôle international; test int, test1; degré d'octet[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
void setup()
{ Serial.begin(9600); //Initialiser la série pour communiquer avec le modem GSM lcd.begin (16, 2); pinMode(sol, INPUT); lcd.createChar(1, degré); lcd.setCursor(0, 0); lcd.print("Santé des plantes"); lcd.setCursor(0, 1); lcd.print("Surveillance"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("PROJET AGRI"); lcd.setCursor(0, 1); lcd.print("Par S K CHHAYA"); retard(1000); lcd.clear(); } void loop() { output_value = analogRead(sol); output_value = map(output_value, 550, 0, 0, 100); valeur = analogLecture(LUX); volt = (valeur / 1023.0) * 5; lux = ((2500 / volt) - 500) / 3,3; retard (10000); //Donnez suffisamment de temps au GSM pour s'inscrire sur le réseau DHT.read11(dht_dpin); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp"); lcd.setCursor(0, 1); lcd.print(température = DHT.température); // Données temporaires sur l'écran LCD lcd.write(1); lcd.print("C"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidité"); lcd.setCursor(0, 1); lcd.print(humidité = DHT.humidité); // Données d'humidité sur l'écran LCD lcd.print(" %"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Lumière"); lcd.setCursor(0, 1); lcd.print(lux); // Données lumineuses sur l'écran LCD lcd.print(" LUM"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidité"); lcd.setCursor(0, 1); lcd.print(output_value); // Données de sol sur LCD lcd.print(" %"); retard(1000); lcd.clear();
if (température 40) { SendSMS(); // SMS pour Temp haute } if (humidité 40) { SendSMS2(); // SMS pour humidité élevée } if (lux 100) { SendSMS4(); // SMS for Light high } if (output_value == 950) { SendSMS7(); // SMS pour sol sec } else if (output_value != 950) { SendSMS6(); // SMS pour sol humide } } void SendSMS() { if (tempflag == 0) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Temp High, "); Serial.print(" Temp "); Serial.print(température); Serial.println("degré C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Temp haute "); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Température"); lcd.setCursor(0, 1); lcd.print(température); lcd.write(1); lcd.print("C"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); indicateur temporaire = 1; vérifier = 0; essai = 0; retard(10); } } void SendSMS1() { if (tempflag == 1) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Temp Low, "); Serial.print(" Temp "); Serial.print(température); Serial.println("degré C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print ("Temp bas "); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Température"); lcd.setCursor(0, 1); lcd.print(température); lcd.write(1); lcd.print("C"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); indicateur temporaire = 0; vérifier = 0; essai = 0; retard(10); } } void SendSMS2() { if (humflag == 0) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Humidité élevée"); Serial.print(humidité); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Humidité élevée"); retard(1000); lcd.setCursor(0, 1); lcd.print("Humidité "); lcd.print(humidité); lcd.print(" %"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); humflag = 1; vérifier = 0; essai = 0; retard(10); } }
void SendSMS3() { if (humflag == 1) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Faible humidité, "); Serial.print(" Humidité "); Serial.print(humidité); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Faible humidité"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidité"); lcd.setCursor(0, 1); lcd.print(humidité); lcd.print(" %"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); humflag = 0; vérifier = 0; essai = 0; retard(10); } } void SendSMS4() { if (lightflag == 0) { Serial.println("AT+CMGF=1"); //Pour envoyer des SMS en mode texte délai (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); //Change au numéro de téléphone de destination delay(500); Serial.print("Bonne LUMIERE, "); Serial.print(" Intensité "); Serial.print(lux); Serial.println("LUX"); Serial.println((char)26); //le caractère d'arrêt Ctrl+Z lcd.setCursor(0, 0); lcd.print("Bonne lumière "); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensité"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print("LUX"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); drapeau lumineux = 1; vérifier = 0; essai = 0; retard(10); } } void SendSMS5() { if (lightflag == 1) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("FAIBLE LUMIERE, "); Serial.print(" Intensité "); Serial.print(lux); Serial.println("LUX"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Lumière faible "); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensité"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print("LUX"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); drapeau lumineux = 0; vérifier = 0; essai = 0; retard(10); } } void SendSMS6() { if (soilflag == 0) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Sol sec, "); Serial.print(" Humidité "); Serial.print(output_value); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Sol sec"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidité"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print(" %"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); drapeau sol = 1; vérifier = 0; essai = 0; retard(10); } } void SendSMS7() { if (soilflag == 1) { Serial.println("AT+CMGF=1"); retard (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); retard (500); Serial.print("Sol humide, "); Serial.print(" Humidité "); Serial.print(output_value); Serial.println(" %"); Serial.println((char)26); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Sol humide"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidité"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print(" %"); retard(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Envoi de SMS"); retard(1000); lcd.clear(); drapeau sol = 0; vérifier = 0; essai = 0; retard(10); } }
Conseillé:
Alerte de soif d'usine : 13 étapes
Alerte à la soif de plante : je dois dire la vérité - je suis un parent de plante horrible. C'est agréable d'enlever celui-là de ma poitrine. Je n'arrive pas à comprendre, qu'il s'agisse de frapper un peu trop fort la photosynthèse ou de s'allumer avec l'ancien H2O. Il semble que rien de ce que je fasse ne gardera ces mecs
PInt@t10n : Système de surveillance d'usine intelligent : 9 étapes
PInt@t10n : Smart Plant Monitoring System : PI@nt@t10nCe projet a été créé en tant que test pour le cloud ibm iot. Nous utilisons un esp-8266 pour envoyer et recevoir des données vers et depuis le cloud ibm. La communication entre l'esp et le cloud ibm se fait via MQTT. Pour gérer toutes les données et présenter
Surveillance d'usine et alertes avec ESP8266 et AskSensors IoT Cloud : 6 étapes
Surveillance des plantes et alertes avec ESP8266 et AskSensors IoT Cloud : ce projet vise à créer un système de surveillance des plantes intelligent utilisant ESP8266 et la plate-forme AskSensors IoT. Ce système peut être utilisé pour suivre le niveau d'humidité du sol afin de fournir des critères objectifs pour les décisions d'irrigation. qui aident à assurer l'irrig
Caméra de surveillance Raspberry Pi avec alerte email : 3 étapes
Caméra de surveillance Raspberry Pi avec alerte par e-mail : la sécurité est une préoccupation majeure de nos jours et de nombreuses technologies sont présentes aujourd'hui pour assurer la sécurité et la surveillance de votre lieu. Les caméras de vidéosurveillance sont très utiles pour garder un œil sur votre maison ou votre bureau. Bien que les prix de ces types de caméras aient été rouges
Système de surveillance d'usine IoT (avec plate-forme IBM IoT): 11 étapes (avec images)
Système de surveillance des plantes IoT (avec la plate-forme IBM IoT) : PrésentationLe système de surveillance des plantes (PMS) est une application conçue avec des personnes qui appartiennent à la classe ouvrière et qui ont la main verte à l'esprit. Aujourd'hui, les personnes qui travaillent sont plus occupées que jamais; faire progresser leur carrière et gérer leurs finances