Sadržaj:
- Korak 1: Blok dijagram sustava
- Korak 2: Detalji o komponentama
- Korak 3: Dijagram kruga
- Korak 4: Radni video zapis i datoteka koda
- Korak 5: Kodeks programa
Video: Nadzor postrojenja s SMS upozorenjem: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ovdje stvaram nadzor postrojenja sa SMS upozorenjem. Poslužitelj nije potreban za ovaj sustav upozorenja. To je vrlo jeftin i pouzdan projekt.
Korak 1: Blok dijagram sustava
U današnjim staklenicima potrebna su mnoga mjerenja parametara
pratiti i kontrolirati dobru kvalitetu i produktivnost biljaka. No za postizanje željenih rezultata u obzir dolaze neki vrlo važni čimbenici poput temperature, vlažnosti, svjetlosti i dobrog tla, koji su neophodni za bolji rast biljaka. Imajući ove parametre na umu, izgradio sam Automatski sustav nadziranja postrojenja preko GSM modula pomoću Arduina. Ovaj sustav je vrlo učinkovit za uzgoj biljaka dobre kvalitete. Drugi važan dio ovog projekta je da je potpuno automatski i radi na niskom naponu; 5-12V istosmjerno napajanje.
Danas se GSM modul naširoko koristi za slanje SMS statusa bilo koje vrste podataka. Ovdje u ovom projektu pomoću SIM900A GSM modula možemo čuvati informacije o utjecaju klime na biljke. Sustav će također pokazati klimatske promjene koje utječu na biljku u njenoj produktivnosti i kvaliteti itd. Glavna svrha ovog projekta je izgradnja automatskog nadzora postrojenja u kojem GSM modul šalje informacije o temperaturi, vlažnosti, intenzitetu svjetlosti, tlu vlage.
Budući da sam indijski državljanin, koristio sam modul SIM900A (A je kratica za azijsku mrežu), ali možete koristiti različite vrste SIM modula prema vašoj zemlji. AT kodovi mogu se razlikovati.
Korak 2: Detalji o komponentama
------------------ Ja mjerim četiri vrste parametara, koji idu
za raspravu u nastavku: ------------------
Temperatura i vlažnost
Senzor DHT11 služi za mjerenje temperature i vlažnosti. Kad su temperatura i vlažnost visoke, korijen biljaka je oštećen, a rast biljke nije dobar.
Intenzitet svjetla
Intenzitet svjetla važan je čimbenik za rast biljaka. Za detekciju intenziteta svjetlosti koristi se LDR (otpor ovisan o svjetlu). Intenzitet svjetlosti mjeri se u LUX -u, pa se za demonstraciju koristi 100 LUX svjetla kao definirana ili granična razina.
Vlažnost tla
Sadržaj vlage u tlu vrlo je važan za dobar rast biljaka. Ovdje se senzor tla koristi za mjerenje sadržaja vlage u tlu. Pomoću ovog senzora možemo mjeriti podatke o tlu na oba načina, analogni i digitalni.
SMS obavijest:
Kada vrijednost bilo kojeg od gore navedenih parametara premaši definiranu razinu ili kritičnu razinu, sustav automatski šalje SMS vlasniku ili operateru s podacima o srodnim parametrima, a kada vrijednost dođe u normalni raspon ili ispod definirane razine, sustav automatski pošaljite SMS vlasniku ili operatoru s podacima o srodnim podacima.
Obavijest se šalje samo jednom dok se uvjet ne promijeni pa vlasnik ili operater nemaju česte SMS poruke. Stoga je potreban niži SMS paket.
Korak 3: Dijagram kruga
Svi ti dijelovi lako su dostupni na bilo kojem mjestu za kupnju na mreži
ili kod poznatog trgovca rezervnim dijelovima elektronike. Tehnički listovi svih komponenti dostupni su na webu. Ako imate poteškoća, slobodno mi se obratite na moj mail.
Korak 4: Radni video zapis i datoteka koda
Završni radni video projekta
Korak 5: Kodeks programa
#uključi
#uključi
LCD tekući kristal (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define tla A3
plivajući volt, lux, vrijednost; int output_value; int temperatura, vlažnost; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int provjera; int test, test1; stupanj bajta [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
void setup ()
{Serial.begin (9600); // Pokretanje serijske veze za komunikaciju s GSM modemom lcd.begin (16, 2); pinMode (tlo, ULAZ); lcd.createChar (1, stupanj); lcd.setCursor (0, 0); lcd.print ("Zdravlje biljaka"); lcd.setCursor (0, 1); lcd.print ("Monitering"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Autor S K CHHAYA"); kašnjenje (1000); lcd.clear (); } void loop () {output_value = analogRead (tlo); output_value = karta (output_value, 550, 0, 0, 100); vrijednost = analogno čitanje (LUX); volt = (vrijednost / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; kašnjenje (10000); // Dajte dovoljno vremena GSM -u da se registrira na mreži DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.tisak (temperatura = DHT.temperatura); // Podaci o tempu na LCD lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlažnost"); lcd.setCursor (0, 1); lcd.tisak (vlažnost = DHT. vlažnost); // Podaci o vlažnosti na LCD lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Svjetlo"); lcd.setCursor (0, 1); lcd.tisak (lux); // Podaci o svjetlu na LCD lcd.print ("LUM"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); // Podaci o tlu na LCD lcd.print (" %"); kašnjenje (1000); lcd.clear ();
if (temperatura 40) {SendSMS (); // SMS za visoku temperaturu} if (vlažnost 40) {SendSMS2 (); // SMS za visoku vlažnost} if (lux 100) {SendSMS4 (); // SMS za Light high} if (output_value == 950) {SendSMS7 (); // SMS za suho tlo} else if (output_value! = 950) {SendSMS6 (); // SMS za mokro tlo}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Visoka temperatura"); Serial.print ("Temp"); Serijski.tisak (temperatura); Serial.println ("stupanj C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp. visoka"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.tisak (temperatura); lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); tempflag = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Niska temp."); Serial.print ("Temp"); Serijski.tisak (temperatura); Serial.println ("stupanj C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatura niska"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.tisak (temperatura); lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); tempflag = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Visoka vlažnost"); Serijski.tisak (vlažnost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Visoka vlažnost"); kašnjenje (1000); lcd.setCursor (0, 1); lcd.print ("Vlažnost"); lcd.tisak (vlažnost); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); humflag = 1; ček = 0; test = 0; kašnjenje (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Niska vlažnost",); Serial.print ("Vlažnost"); Serijski.tisak (vlažnost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Niska vlažnost"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlažnost"); lcd.setCursor (0, 1); lcd.tisak (vlažnost); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); humflag = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Za slanje SMS -a u tekstualnom modu kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Promjena kašnjenja telefonskog broja odredišta (500); Serial.print ("Good LIGHT",); Serial.print ("Intenzitet"); Serijski.tisak (lux); Serial.println ("LUX"); Serial.println ((char) 26); // znak za zaustavljanje Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Dobro svjetlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitet"); lcd.setCursor (0, 1); lcd.tisak (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); svjetlosna zastavica = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("LOW LIGHT",)); Serial.print ("Intenzitet"); Serijski.tisak (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Slabo osvjetljenje"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitet"); lcd.setCursor (0, 1); lcd.tisak (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); svjetlosna zastavica = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Suho tlo"); Serial.print ("Vlaga"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Suho tlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); zemljana zastava = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Mokro tlo"); Serial.print ("Vlaga"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mokro tlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); zemljana zastava = 0; ček = 0; test = 0; kašnjenje (10); }}
Preporučeni:
Alarm postrojenja za upozorenje na žeđ: 13 koraka
Alarm biljke za upozorenje na žeđ: Moram se očistiti - užasan sam roditelj. Lijepo je skinuti taj s mojih prsa. Ne mogu to shvatiti, udara li fotosinteza malo prejako ili svjetlo na starom H2O. Čini se da ništa što radim ne zadrži ove frajere
Senzor vlažnosti tla s upozorenjem na zalijevanje: 4 koraka
Senzor vlažnosti tla s upozorenjem na zalijevanje: Stvaramo uređaj za mjerenje vlažnosti tla, temeljen na WEMOS D1 mini i kapacitivnom senzoru vlažnosti tla. S integracijom u oblak mjerenje senzora šalje se u IoT Guru Cloud, gdje dobivamo otmjene grafikone i možemo postaviti upozorenje
Nadgledajte galone spremnika za grijanje s e -poštom, SMS -om i upozorenjem Pushbullet: 9 koraka (sa slikama)
Pratite galone spremnika za grijanje s upozorenjem e -poštom, SMS -om i pushbulletom: SIGURNOSNE INFORMACIJE: U slučaju da netko želi znati je li " ovo sigurno za izgradnju/instaliranje " - Odnio sam ovo u dvije različite naftne kompanije radi povratnih informacija/sigurnosnih razloga, a vodio sam ga zamjenik protupožarne zaštite C
PInt@t10n: Pametni sustav za nadzor postrojenja: 9 koraka
PInt@t10n: Pametni sustav za nadzor postrojenja: PI@nt@t10nOvaj projekt nastao je kao test za ibm iot oblak. Koristimo esp-8266 za slanje i primanje podataka u ibm oblak i iz njega. Komunikacija između esp -a i ibm oblaka odvija se putem MQTT -a. Za obradu svih podataka i za predstavljanje
IoT sustav za nadzor postrojenja (s IBM IoT platformom): 11 koraka (sa slikama)
IoT sustav za nadziranje biljaka (s IBM IoT platformom): pregled Sustav za nadzor postrojenja (PMS) je aplikacija izrađena s pojedincima koji su u radničkoj klasi sa zelenim palcem na umu. Danas su zaposleni pojedinci zaposleniji nego ikad prije; napredovati u karijeri i upravljati svojim financijama