Inhoudsopgave:

Plantbewaking met sms-waarschuwing: 5 stappen
Plantbewaking met sms-waarschuwing: 5 stappen

Video: Plantbewaking met sms-waarschuwing: 5 stappen

Video: Plantbewaking met sms-waarschuwing: 5 stappen
Video: 5 Stappen cybersecurityplan voor het kleinbedrijf 2024, Juni-
Anonim
Installatiebewaking met sms-waarschuwing
Installatiebewaking met sms-waarschuwing

Hier creëer ik Plant monitoring met SMS alert. Server is niet vereist voor dit waarschuwingssysteem. Het is een zeer goedkoop en betrouwbaar project.

Stap 1: Blokschema van systeem

Blokschema van systeem
Blokschema van systeem

In de kassen van tegenwoordig zijn veel parametermetingen nodig

bewaken en controleren op de goede kwaliteit en productiviteit van planten. Maar om de gewenste resultaten te krijgen, zijn er enkele zeer belangrijke factoren die een rol spelen, zoals temperatuur, vochtigheid, licht en goede grond, die nodig zijn voor een betere plantengroei. Met deze parameters in gedachten heb ik een automatisch plantbewakingssysteem over een GSM-module gebouwd met behulp van Arduino. Dit systeem is zeer efficiënt voor het kweken van planten van goede kwaliteit. Het andere belangrijke onderdeel van dit project is dat het volledig automatisch is en werkt op laagspanning zoals; 5-12V DC-voeding.

Tegenwoordig wordt de GSM-module veel gebruikt voor het verzenden van de sms-status van alle soorten gegevens. Hier in dit project kunnen we met behulp van SIM900A GSM-module informatie bijhouden over de effecten van klimaat op planten. Het systeem zal ook klimaatveranderingen aantonen die de plant beïnvloeden in zijn productiviteit en kwaliteit enz. Het belangrijkste doel van het bedenken van dit project is het bouwen van een automatische plantbewaking waarin de GSM-module de informatie verzendt over temperatuur, vochtigheid, lichtintensiteit, bodem vochtigheid.

Omdat ik de Indiase burger ben, gebruikte ik de SIM900A-module (A staat voor Aziatisch netwerk), maar u kunt verschillende soorten SIM-modules gebruiken, afhankelijk van uw land. De AT-codes kunnen verschillen.

Stap 2: Componentdetail

Componentdetail
Componentdetail
Componentdetail
Componentdetail
Componentdetail
Componentdetail

------------------ Ik meet vier soorten parameters, die gaan

om hieronder te bespreken: ------------------

Temperatuur en vochtigheid

De DHT11-sensor wordt gebruikt voor het meten van temperatuur en vochtigheid. Wanneer de temperatuur en vochtigheid hoog zijn, wordt de wortel van planten beschadigd en groeit de plant niet goed.

Lichtsterkte

Lichtintensiteit is een belangrijke factor voor de plantengroei. Voor het detecteren van de lichtintensiteit wordt LDR (Light Afhankelijke Weerstand) gebruikt. Lichtintensiteit wordt gemeten in LUX en daarom wordt voor demonstratie 100 LUX licht gebruikt als gedefinieerd of drempelniveau.

Bodemvocht

Bodemvocht bevatten is erg belangrijk voor een goede groei van planten. Hier wordt Bodemsensor gebruikt om het vochtgehalte in de bodem te meten. Met behulp van deze sensor kunnen we bodemgegevens op beide manieren meten, zowel analoog als digitaal.

SMS-melding:

Wanneer de waarde van een van de bovenstaande parameters wordt overschreden vanaf een bepaald niveau of kritisch niveau, stuurt het systeem automatisch een sms naar de eigenaar of de operator met informatie over gerelateerde parameters en wanneer de waarde binnen het normale bereik of onder het gedefinieerde niveau komt, wordt het systeem automatisch stuur een sms naar de eigenaar of de operator met informatie over gerelateerde gegevens.

De melding wordt slechts één keer verzonden totdat de toestand niet verandert, zodat de eigenaar of operator geen frequente sms ontvangt. Daarom is een lager sms-pakket vereist.

Stap 3: Schakelschema

Schakelschema
Schakelschema

Al deze onderdelen zijn gemakkelijk verkrijgbaar bij elke online winkelsite

of bij een bekende dealer van elektronica-onderdelen. Alle componenten datasheets zijn beschikbaar op het web. Als er problemen zijn, neem dan gerust contact op via mijn e-mail.

Stap 4: Werken met video- en codebestand

Laatste werkvideo van project

Stap 5: Programmacode

#erbij betrekken

#erbij betrekken

LiquidCrystal-lcd (2, 3, 4, 5, 6, 7);

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

vlotter volt, lux, waarde; int uitvoerwaarde; int temperatuur, vochtigheid; int lichtvlag = 0; int humflag = 0; int grondvlag = 0; int tempflag = 0; int check; int-test, test1; bytegraad [8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

ongeldige setup()

{ Serieel.begin(9600); // Initialiseer serieel om te communiceren met GSM Modem lcd.begin (16, 2); pinMode (bodem, INPUT); lcd.createChar (1, graad); lcd.setCursor(0, 0); lcd.print("Plantgezondheid"); lcd.setCursor(0, 1); lcd.print("Bewaking"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("AGRI-PROJECT"); lcd.setCursor(0, 1); lcd.print("Door SK CHHAYA"); vertraging (1000); lcd.wissen(); } void loop () { output_value = analogRead (bodem); output_value = kaart (output_value, 550, 0, 0, 100); waarde = analoog lezen (LUX); volt = (waarde / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; vertraging (10000); // Geef GSM voldoende tijd om zich te registreren op netwerk DHT.read11 (dht_dpin); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Temp"); lcd.setCursor(0, 1); lcd.print(temperatuur = DHT.temperatuur); // Temp-gegevens op LCD lcd.write (1); lcd.print(" C"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vochtigheid"); lcd.setCursor(0, 1); lcd.print(vochtigheid = DHT.vochtigheid); // Vochtigheidsgegevens op LCD lcd.print ("%"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Licht"); lcd.setCursor(0, 1); lcd.print(lux); // Lichtgegevens op LCD lcd.print ("LUM"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vocht"); lcd.setCursor(0, 1); lcd.print(output_value); // Bodemgegevens op LCD lcd.print ("%"); vertraging (1000); lcd.wissen();

if (temperatuur 40) { SendSMS(); // SMS voor Temp hoog } if (vochtigheid 40) { SendSMS2(); // SMS voor vochtigheid hoog } if (lux 100) { SendSMS4(); // SMS voor licht hoog } if (output_value == 950) { SendSMS7 (); // SMS voor droge grond } else if (output_value! = 950) { SendSMS6 (); // SMS voor natte grond } } void SendSMS() {if (tempflag == 0) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Temp Hoog, "); Serial.print(" Temp "); Seriële.afdruk (temperatuur); Serial.println ("graad C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Temp Hoog "); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Temperatuur"); lcd.setCursor(0, 1); lcd.afdruk(temperatuur); lcd.schrijven(1); lcd.print("C"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); tempvlag = 1; controleren = 0; testen = 0; vertraging(10); } } void SendSMS1() { if (tempflag == 1) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Temp laag, "); Serial.print(" Temp "); Seriële.afdruk (temperatuur); Serial.println ("graad C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Temp Laag "); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Temperatuur"); lcd.setCursor(0, 1); lcd.afdruk(temperatuur); lcd.schrijven(1); lcd.print("C"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); tempvlag = 0; controleren = 0; testen = 0; vertraging(10); } } void SendSMS2() { if (humflag == 0) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Vochtigheid hoog"); Seriële.afdruk (vochtigheid); Serieel.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Vochtigheid Hoog"); vertraging (1000); lcd.setCursor(0, 1); lcd.print("Vochtigheid "); lcd.print(vochtigheid); lcd.print(" %"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); humvlag = 1; controleren = 0; testen = 0; vertraging(10); } }

void SendSMS3() { if (humflag == 1) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Lage vochtigheid, "); Serial.print(" Vochtigheid "); Seriële.afdruk (vochtigheid); Serieel.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Lage vochtigheid"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vochtigheid"); lcd.setCursor(0, 1); lcd.print(vochtigheid); lcd.print(" %"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); humflag = 0; controleren = 0; testen = 0; vertraging(10); } } void SendSMS4() { if (lightflag == 0) { Serial.println("AT+CMGF=1"); // Om sms te verzenden in tekstmodus vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); // Wijzigen in bestemming telefoonnummer vertraging (500); Serial.print("Goed LICHT, "); Serial.print(" Intensiteit "); Serial.print(lux); Serial.println ("LUX"); Serial.println((char)26); //het stopteken Ctrl+Z lcd.setCursor (0, 0); lcd.print("Goed licht "); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Intensiteit"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print("LUX"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); lichtvlag = 1; controleren = 0; testen = 0; vertraging(10); } } void SendSMS5() { if (lightflag == 1) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("LAAG LICHT, "); Serial.print(" Intensiteit "); Serial.print(lux); Serial.println ("LUX"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Weinig licht"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Intensiteit"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print("LUX"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); lichtvlag = 0; controleren = 0; testen = 0; vertraging(10); } } void SendSMS6() { if (soilflag == 0) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Droge grond, "); Serial.print(" Vocht "); Serial.print(output_value); Serieel.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Droge grond"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vocht"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print(" %"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); grondvlag = 1; controleren = 0; testen = 0; vertraging(10); } } void SendSMS7() { if (soilflag == 1) { Serial.println("AT+CMGF=1"); vertraging (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); vertraging (500); Serial.print("Natte grond, "); Serial.print(" Vocht "); Serial.print(output_value); Serieel.println(" %"); Serial.println((char)26); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Natte grond"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vocht"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print(" %"); vertraging (1000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("SMS verzenden"); vertraging (1000); lcd.wissen(); grondvlag = 0; controleren = 0; testen = 0; vertraging(10); } }

Aanbevolen: