Table des matières:

Surveillance d'usine avec alerte SMS : 5 étapes
Surveillance d'usine avec alerte SMS : 5 étapes

Vidéo: Surveillance d'usine avec alerte SMS : 5 étapes

Vidéo: Surveillance d'usine avec alerte SMS : 5 étapes
Vidéo: Sécurisez vos usines en 5 étapes avec NOMIOS et Stormshield 2024, Décembre
Anonim
Surveillance de l'usine avec alerte SMS
Surveillance de l'usine avec alerte SMS

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

Schéma fonctionnel du système
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

Détail du composant
Détail du composant
Détail du composant
Détail du composant
Détail du composant
Détail du composant

------------------ 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

Schéma
Schéma

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é: