Inhaltsverzeichnis:

Anlagenüberwachung mit SMS-Benachrichtigung - Gunook
Anlagenüberwachung mit SMS-Benachrichtigung - Gunook

Video: Anlagenüberwachung mit SMS-Benachrichtigung - Gunook

Video: Anlagenüberwachung mit SMS-Benachrichtigung - Gunook
Video: Überwachung von Solaranlagen: Wie Analyse Pro funktioniert 2024, Juli
Anonim
Anlagenüberwachung mit SMS-Alarm
Anlagenüberwachung mit SMS-Alarm

Hier erstelle ich eine Anlagenüberwachung mit SMS-Alarm. Server ist für dieses Warnsystem nicht erforderlich. Es ist ein sehr billiges und zuverlässiges Projekt.

Schritt 1: Blockschaltbild des Systems

Blockschaltbild des Systems
Blockschaltbild des Systems

In heutigen Gewächshäusern sind viele Parametermessungen erforderlich

zur Überwachung und Kontrolle der guten Qualität und Produktivität der Anlagen. Um die gewünschten Ergebnisse zu erzielen, spielen jedoch einige sehr wichtige Faktoren wie Temperatur, Luftfeuchtigkeit, Licht und guter Boden eine Rolle, die für ein besseres Pflanzenwachstum notwendig sind. Unter Berücksichtigung dieser Parameter habe ich mit Arduino ein automatisches Anlagenüberwachungssystem über ein GSM-Modul gebaut. Dieses System ist sehr effizient für den Anbau hochwertiger Pflanzen. Der andere wichtige Teil dieses Projekts ist, dass es vollautomatisch ist und mit Niederspannung arbeitet; 5-12V DC-Versorgung.

Heutzutage wird das GSM-Modul häufig zum Senden von SMS-Status jeder Art von Daten verwendet. Hier in diesem Projekt können wir mit dem SIM900A GSM-Modul Informationen über die Auswirkungen des Klimas auf Pflanzen speichern. Das System soll auch klimatische Veränderungen demonstrieren, die die Pflanze in ihrer Produktivität und Qualität usw. beeinflussen. Der Hauptzweck dieses Projekts ist der Aufbau einer automatischen Anlagenüberwachung, bei der das GSM-Modul die Informationen über Temperatur, Feuchtigkeit, Lichtintensität, Boden sendet Feuchtigkeit.

Da ich indischer Staatsbürger bin, habe ich das SIM900A-Modul (A steht für asiatisches Netzwerk) verwendet, aber Sie können je nach Land verschiedene Arten von SIM-Modulen verwenden. Die AT-Codes können abweichen.

Schritt 2: Komponentendetails

Komponentendetails
Komponentendetails
Komponentendetails
Komponentendetails
Komponentendetails
Komponentendetails

------------------ Ich messe vier Arten von Parametern, die gehen

unten zu diskutieren: ------------------

Temperatur und Luftfeuchtigkeit

Der Sensor DHT11 dient zur Erfassung von Temperatur und Luftfeuchtigkeit. Wenn die Temperatur und Luftfeuchtigkeit hoch sind, wird die Wurzel der Pflanzen beschädigt und das Pflanzenwachstum wird nicht gut.

Lichtintensität

Die Lichtintensität ist ein wichtiger Faktor für das Pflanzenwachstum. Zur Erfassung der Lichtintensität wird LDR (Light Dependent Resistance) verwendet. Die Lichtintensität wird in LUX gemessen und daher wird zur Demonstration 100 LUX Licht als definierter oder Schwellenwert verwendet.

Bodenfeuchtigkeit

Der Feuchtigkeitsgehalt des Bodens ist für ein gutes Pflanzenwachstum sehr wichtig. Hier wird der Bodensensor verwendet, um den Feuchtigkeitsgehalt im Boden zu messen. Mit diesem Sensor können wir Bodendaten sowohl analog als auch digital messen.

SMS-Benachrichtigung:

Wenn der Wert eines der oben genannten Parameter ein definiertes Niveau oder ein kritisches Niveau überschreitet, sendet das System automatisch eine SMS mit Informationen zu den zugehörigen Parametern an den Eigentümer oder den Betreiber, und wenn der Wert in den normalen Bereich oder unter das definierte Niveau fällt, wird das System automatisch wieder aktiviert Senden Sie eine SMS an den Eigentümer oder den Betreiber mit Informationen zu den zugehörigen Daten.

Die Benachrichtigung wird nur einmal gesendet, bis sich der Zustand nicht ändert, sodass der Besitzer oder Betreiber keine häufigen SMS erhält. Daher ist ein niedrigeres SMS-Paket erforderlich.

Schritt 3: Schaltplan

Schaltplan
Schaltplan

Diese alle Teile sind leicht auf jeder Online-Shopping-Site erhältlich

oder bei namhaften Elektronik-Ersatzteilhändlern. Alle Komponentendatenblätter sind im Internet verfügbar. Bei Schwierigkeiten wenden Sie sich bitte an meine E-Mail.

Schritt 4: Video- und Codedatei arbeiten

Abschließendes Arbeitsvideo des Projekts

Schritt 5: Programmcode

#enthalten

#enthalten

Flüssigkristall-LCD (2, 3, 4, 5, 6, 7);

dht-DHT; #define dht_dpin A1 #define LUX A0 #define Boden A3

Float Volt, Lux, Wert; int Ausgabewert; int Temperatur, Luftfeuchtigkeit; int Lichtfahne = 0; int-Humflag = 0; int Bodenflagge = 0; int templag = 0; int-Prüfung; int-Test, Test1; Byte-Grad[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

Void-Setup ()

{ Serial.begin (9600); // Seriell initialisieren, um mit GSM-Modem zu kommunizieren lcd.begin (16, 2); pinMode (Boden, EINGANG); lcd.createChar(1, Grad); lcd.setCursor(0, 0); lcd.print("Pflanzengesundheit"); lcd.setCursor(0, 1); lcd.print("Überwachung"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("AGRI-PROJEKT"); lcd.setCursor(0, 1); lcd.print ("Von S K CHHAYA"); Verzögerung (1000); lcd.clear(); aufrechtzuerhalten. Void Schleife () { Ausgabewert = analogRead (Boden); Ausgabewert = Karte (Ausgabewert, 550, 0, 0, 100); Wert = analogRead (LUX); Volt = (Wert / 1023.0) * 5; Lux = ((2500 / Volt) - 500) / 3,3; Verzögerung (10000); // Geben Sie GSM genügend Zeit, um sich im Netzwerk zu registrieren DHT.read11 (dht_dpin); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp"); lcd.setCursor(0, 1); lcd.print (Temperatur = DHT. Temperatur); // Temp-Daten auf LCD lcd.write (1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Luftfeuchtigkeit = DHT. Luftfeuchtigkeit); // Feuchtigkeitsdaten auf LCD lcd.print ("%"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Licht"); lcd.setCursor(0, 1); lcd.print (lux); // Lichtdaten auf LCD lcd.print ("LUM"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); // Bodendaten auf LCD lcd.print ("%"); Verzögerung (1000); lcd.clear();

if (Temperatur 40) { SendSMS(); // SMS für Temp hoch} if (Luftfeuchtigkeit 40) { SendSMS2(); // SMS für Luftfeuchtigkeit hoch} if (lux 100) { SendSMS4(); // SMS für Licht hoch} if (output_value == 950) { SendSMS7(); // SMS für trockenen Boden} else if (output_value!= 950) { SendSMS6(); // SMS für nassen Boden}} void SendSMS () { if (tempflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Temp hoch,"); Serial.print ("Temp"); Serial.print (Temperatur); Serial.println ("Grad C"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Temp hoch"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatur"); lcd.setCursor(0, 1); lcd.print (Temperatur); lcd.write(1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Temperaturunterschied = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS1 () { if (tempflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Temp niedrig,"); Serial.print ("Temp"); Serial.print (Temperatur); Serial.println ("Grad C"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Temp niedrig"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatur"); lcd.setCursor(0, 1); lcd.print (Temperatur); lcd.write(1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Temperaturschwankung = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS2 () { if (humflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Luftfeuchtigkeit hoch"); Serial.print (Luftfeuchtigkeit); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit hoch"); Verzögerung (1000); lcd.setCursor(0, 1); lcd.print("Luftfeuchtigkeit"); lcd.print (Luftfeuchtigkeit); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Humflag = 1; prüfen = 0; Test = 0; Verzögerung(10); } }

Void SendSMS3 () { if (humflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Niedrige Luftfeuchtigkeit",); Serial.print ("Feuchtigkeit"); Serial.print (Luftfeuchtigkeit); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print ("Niedrige Luftfeuchtigkeit"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Luftfeuchtigkeit); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Humflag = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS4 () { if (lightflag == 0) { Serial.println ("AT + CMGF = 1"); // Um SMS im Textmodus zu senden Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); // Zur Zielrufnummer wechseln Verzögerung (500); Serial.print ("Gutes LICHT,"); Serial.print ("Intensität"); Serial.print (lux); Serial.println("LUX"); Serial.println ((Zeichen)26); // das Stoppzeichen Strg+Z lcd.setCursor (0, 0); lcd.print ("Gutes Licht"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensität"); lcd.setCursor(0, 1); lcd.print (lux); lcd.print("LUX"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Lichtfahne = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS5 () { if (lightflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("LOW LICHT,"); Serial.print ("Intensität"); Serial.print (lux); Serial.println("LUX"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Low light"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensität"); lcd.setCursor(0, 1); lcd.print (lux); lcd.print("LUX"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Lichtfahne = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS6 () { if (Soilflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Trockener Boden",); Serial.print ("Feuchtigkeit"); Serial.print (Ausgabewert); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Trockener Boden"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Bodenflagge = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS7 () { if (Soilflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Nasser Boden,"); Serial.print ("Feuchtigkeit"); Serial.print (Ausgabewert); Serial.println("%"); Serial.println ((Zeichen)26); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nasser Boden"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Bodenflagge = 0; prüfen = 0; Test = 0; Verzögerung(10); } }

Empfohlen: