Sadržaj:
- Korak 1: Blok dijagram sistema
- Korak 2: Detalji o komponentama
- Korak 3: Dijagram kola
- Korak 4: Radni video zapis i datoteka koda
- Korak 5: Kodeks programa
Video: Nadzor postrojenja sa SMS upozorenjem: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ovdje stvaram nadzor postrojenja sa SMS upozorenjem. Server nije potreban za ovaj sistem upozorenja. To je vrlo jeftin i pouzdan projekt.
Korak 1: Blok dijagram sistema
U današnjim staklenicima potrebna su mnoga mjerenja parametara
za praćenje i kontrolu dobrog kvaliteta i produktivnosti biljaka. No, da bi se postigli željeni rezultati, postoje neki vrlo važni faktori koji utječu na temperaturu, vlažnost, svjetlost i dobro tlo, koji su neophodni za bolji rast biljaka. Imajući ove parametre na umu, izgradio sam automatski sistem za nadgledanje postrojenja preko GSM modula pomoću Arduina. Ovaj sistem je vrlo efikasan za uzgoj biljaka dobrog kvaliteta. Drugi važan dio ovog projekta je da je potpuno automatiziran i radi na niskonaponskom naponu; 5-12V DC napajanje.
Danas se GSM modul š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. Sistem će također pokazati klimatske promjene koje utič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 SIM900A (A označava azijsku mrežu) modul, ali možete koristiti različite vrste SIM modula prema vašoj zemlji. AT kodovi se mogu razlikovati.
Korak 2: Detalji o komponentama
------------------ Ja mjerim četiri vrste parametara, koji idu
za diskusiju u nastavku: ------------------
Temperatura i vlažnost
Senzor DHT11 koristi se za mjerenje temperature i vlažnosti. Kod visokih temperatura i vlažnosti korijen biljaka je oštećen, a rast biljke nije dobar.
Intenzitet svjetla
Intenzitet svjetlosti važan je faktor 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 definirani ili granični nivo.
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 obavještenje:
Kada vrijednost bilo kojeg od gore navedenih parametara pređe definiranu razinu ili kritični nivo, sistem automatski šalje SMS vlasniku ili operatoru s informacijama o srodnim parametrima, a kada vrijednost dođe u normalni raspon ili ispod definiranog nivoa, sistem 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 kola
Svi ovi dijelovi lako su dostupni na bilo kojoj web stranici za kupovinu
ili kod poznatog prodavača rezervnih dijelova elektronike. Tehnički listovi svih komponenti dostupni su na webu. Ako imate bilo kakvih poteškoća, slobodno me kontaktirajte na moj mail.
Korak 4: Radni video zapis i datoteka koda
Završni radni video zapis projekta
Korak 5: Kodeks programa
#include
#include
LiquidCrystal lcd (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 check; int test, test1; stepen bajtova [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 (zemlja, INPUT); lcd.createChar (1, stepen); 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 (zemlja); output_value = mapa (output_value, 550, 0, 0, 100); value = analogRead (LUX); volt = (vrijednost / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; kašnjenje (10000); // Dajte dovoljno vremena da se GSM registrira na mreži DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (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.print (vlažnost = DHT. vlažnost); // Podaci o vlažnosti na LCD lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Light"); lcd.setCursor (0, 1); lcd.print (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 (output_value); // 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"); Serial.print (temperatura); Serial.println ("stepen 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.print (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"); Serial.print (temperatura); Serial.println ("stepen C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Niska temp."); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.print (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"); Serial.print (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.print (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"); Serial.print (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.print (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 na kašnjenje telefonskog broja odredišta (500); Serial.print ("Good LIGHT,"); Serial.print ("Intenzitet"); Serial.print (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.print (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); lightflag = 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"); Serial.print (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.print (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); lightflag = 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 (output_value); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); groundflag = 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 (output_value); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); groundflag = 0; ček = 0; test = 0; kašnjenje (10); }}
Preporučuje se:
Alarm postrojenja za upozorenje na žeđ: 13 koraka
Alarm biljke za upozorenje na žeđ: Moram se očistiti - ja sam užasan roditelj. Lijepo je to skinuti s grudi. Ne mogu to shvatiti, bilo da to previše snažno udara u fotosintezu, bilo da se radi o starom H2O. Čini se da ništa što uradim neće zadržati ove momke
Senzor vlažnosti tla s upozorenjem na zalijevanje: 4 koraka
Senzor vlage u tlu s navodnjavanjem Upozorenje: Stvaramo uređaj za mjerenje vlažnosti tla, baziran na WEMOS D1 mini i kapacitivnom senzoru vlažnosti tla. Uz integraciju u oblak, mjerenje senzora šalje se u IoT Guru Cloud, gdje dobivamo fantastične grafikone i možemo postaviti upozorenje
Pratite 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 neko želi znati je li " ovo sigurno za izgradnju/instaliranje " - Odnio sam ovo u dvije različite naftne kompanije radi povratnih informacija/sigurnosnih razmatranja, a vodio sam ga zamjenik vatrogasne službe za prevenciju požara C
PInt@t10n: Pametni sistem za nadzor postrojenja: 9 koraka
PInt@t10n: Pametni sistem za nadzor postrojenja: PI@nt@t10nOvaj projekat je kreiran 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 sistem za nadgledanje postrojenja (sa IBM IoT platformom): 11 koraka (sa slikama)
IoT sistem za nadgledanje postrojenja (sa IBM IoT platformom): PregledSistem za nadgledanje postrojenja (PMS) je aplikacija napravljena sa pojedincima koji su u radničkoj klasi sa zelenim palcem na umu. Danas su zaposleni pojedinci zaposleniji nego ikad prije; napredovanje u karijeri i upravljanje finansijama