Obsah:
- Krok 1: Blokový diagram systému
- Krok 2: Detail součásti
- Krok 3: Schéma zapojení
- Krok 4: Práce se souborem videa a kódu
- Krok 5: Programový kód
Video: Monitorování závodu pomocí SMS upozornění: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Zde vytvářím monitorování závodu pomocí upozornění SMS. Server není pro tento výstražný systém vyžadován. Je to velmi levný a spolehlivý projekt.
Krok 1: Blokový diagram systému
V dnešních sklenících je zapotřebí mnoho měření parametrů
monitorovat a kontrolovat dobrou kvalitu a produktivitu závodů. K dosažení požadovaných výsledků však vstupuje do hry několik velmi důležitých faktorů, jako je teplota, vlhkost, světlo a dobrá půda, které jsou nezbytné pro lepší růst rostlin. S ohledem na tyto parametry jsem vybudoval automatický monitorovací systém rostlin přes modul GSM pomocí Arduina. Tento systém je velmi účinný pro pěstování kvalitních rostlin. Další důležitou součástí tohoto projektu je, že je plně automatický a pracuje na nízkém napětí; Napájení 5-12 V DC.
Modul GSM je dnes široce používán pro odesílání stavu SMS jakéhokoli druhu dat. Zde v tomto projektu pomocí GSM modulu SIM900A můžeme uchovávat informace o účincích klimatu na rostliny. Systém musí také demonstrovat klimatické změny, které ovlivňují závod v jeho produktivitě a kvalitě atd. Hlavním účelem tohoto projektu je vybudovat automatické monitorování závodu, ve kterém modul GSM zasílá informace o teplotě, vlhkosti, intenzitě světla, půdě vlhkost.
Protože jsem indický občan, používám modul SIM900A (A je zkratka pro asijskou síť), ale můžete použít jiný druh modulu SIM podle vaší země. AT kódy se mohou lišit.
Krok 2: Detail součásti
------------------ Měřím čtyři typy parametrů, které jdou
k diskusi níže: ------------------
Teplota a vlhkost
Senzor DHT11 slouží ke snímání teploty a vlhkosti. Když je teplota a vlhkost vysoká, kořen rostlin se poškodí a růst rostliny není dobrý.
Intenzita světla
Intenzita světla je důležitým faktorem pro růst rostlin. K detekci intenzity světla se používá LDR (Light dependent resistor). Intenzita světla se měří v LUX, a proto se pro demonstraci používá 100 LUX světla jako definovaná nebo prahová úroveň.
Vlhkost půdy
Obsah vlhkosti v půdě je velmi důležitý pro dobrý růst rostlin. Zde se snímač půdy používá k měření obsahu vlhkosti v půdě. Pomocí tohoto senzoru můžeme měřit data o půdě obousměrně, analogově i digitálně.
SMS upozornění:
Pokud je hodnota některého z výše uvedených parametrů překročena z definované úrovně nebo kritické úrovně, systém automaticky odešle SMS majiteli nebo operátorovi s informacemi o souvisejících parametrech a když se hodnota dostane do normálního rozsahu nebo pod definovanou úroveň, systém automaticky zasílat SMS majiteli nebo provozovateli s informacemi o souvisejících datech.
Oznámení se odesílá pouze jednou, dokud se stav nezmění, takže vlastník nebo operátor nebude dostávat časté SMS. Proto je vyžadován nižší balíček SMS.
Krok 3: Schéma zapojení
Tyto všechny části jsou snadno dostupné na jakémkoli online nákupním webu
nebo u známého prodejce náhradních dílů pro elektroniku. Všechny komponenty datových listů jsou k dispozici na webu. V případě jakýchkoli potíží neváhejte kontaktovat můj mail.
Krok 4: Práce se souborem videa a kódu
Závěrečné pracovní video projektu
Krok 5: Programový kód
#zahrnout
#zahrnout
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #definovat půdu A3
float volt, lux, hodnota; int výstupní_hodnota; vnitřní teplota, vlhkost; int lightflag = 0; int humflag = 0; int earthflag = 0; int tempflag = 0; int kontrola; int test, test1; stupeň bajtu [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
neplatné nastavení ()
{Serial.begin (9600); // Inicializace seriálu pro komunikaci s GSM modemem lcd.begin (16, 2); pinMode (půda, VSTUP); lcd.createChar (1, stupeň); lcd.setCursor (0, 0); lcd.print („zdraví rostlin“); lcd.setCursor (0, 1); lcd.print („sledování“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („PROJEKT AGRI“); lcd.setCursor (0, 1); lcd.print („Od S K CHHAYA“); zpoždění (1000); lcd.clear (); } void loop () {output_value = analogRead (půda); output_value = mapa (output_value, 550, 0, 0, 100); hodnota = analogRead (LUX); volt = (hodnota / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; zpoždění (10 000); // Dejte GSM dost času na registraci v síti DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (teplota = teplota DHT); // Teplotní data na LCD lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkost“); lcd.setCursor (0, 1); lcd.print (vlhkost = DHT.vlhkost); // Údaje o vlhkosti na LCD lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Světlo"); lcd.setCursor (0, 1); lcd.print (lux); // Světelná data na LCD lcd.print ("LUM"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); // Půdní data na LCD lcd.print (" %"); zpoždění (1000); lcd.clear ();
if (teplota 40) {SendSMS (); // SMS pro Temp high} if (vlhkost 40) {SendSMS2 (); // SMS pro vysokou vlhkost} if (lux 100) {SendSMS4 (); // SMS pro Light high} if (output_value == 950) {SendSMS7 (); // SMS pro suchou půdu} else if (output_value! = 950) {SendSMS6 (); // SMS pro mokrou půdu}} neplatné SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print ("Vysoká teplota"); Serial.print ("Temp"); Sériový tisk (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); tempflag = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print ("Temp Low,"); Serial.print ("Temp"); Sériový tisk (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); tempflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („Vysoká vlhkost“); Sériový tisk (vlhkost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Vysoká vlhkost“); zpoždění (1000); lcd.setCursor (0, 1); lcd.print („Vlhkost“); lcd.print (vlhkost); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); humflag = 1; šek = 0; test = 0; zpoždění (10); }}
zrušit SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („Nízká vlhkost“); Serial.print („Vlhkost“); Sériový tisk (vlhkost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Nízká vlhkost“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkost“); lcd.setCursor (0, 1); lcd.print (vlhkost); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); humflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Odeslání SMS v textovém režimu zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Změna zpoždění na cílové telefonní číslo (500); Serial.print („Dobré SVĚTLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // znak pro zastavení Ctrl+Z lcd.setCursor (0, 0); lcd.print („Dobré světlo“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzita"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); lightflag = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („NÍZKÉ SVĚTLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Slabé světlo"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzita"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); lightflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS6 () {if (pollflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („suchá půda“); Serial.print („vlhkost“); Serial.print (výstupní_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („suchá půda“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); půdní vlajka = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS7 () {if (pollflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („mokrá půda“); Serial.print („vlhkost“); Serial.print (výstupní_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print („mokrá půda“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); landflag = 0; šek = 0; test = 0; zpoždění (10); }}
Doporučuje:
Upozornění na teplotu a vlhkost pomocí AWS a ESP32: 11 kroků
Upozornění na teplotu a vlhkost pomocí AWS a ESP32: V tomto tutoriálu budeme měřit různé údaje o teplotě a vlhkosti pomocí teplotního a vlhkostního senzoru. Dozvíte se také, jak tato data odeslat do AWS
Vytváření upozornění pomocí senzoru teploty a vlhkosti Ubidots-ESP32+: 9 kroků
Vytvoření výstrahy pomocí Ubidots-ESP32+snímač teploty a vlhkosti: V tomto tutoriálu změříme různé údaje o teplotě a vlhkosti pomocí snímače teploty a vlhkosti. Dozvíte se také, jak tato data odeslat do Ubidots. Takže jej můžete analyzovat odkudkoli pro různé aplikace. Také vytvořením emai
Monitorování akcelerace pomocí Raspberry Pi a AIS328DQTR pomocí Pythonu: 6 kroků
Monitorování akcelerace pomocí Raspberry Pi a AIS328DQTR pomocí Pythonu: Podle některých fyzikálních zákonů je akcelerace konečná.- Terry Riley Gepard při pronásledování využívá úžasné zrychlení a rychlé změny rychlosti. Nejrychlejší tvor na břehu jednou za čas využije svého nejvyššího tempa k ulovení kořisti
SMS textová teplotní upozornění od ATTINY85 a A1 GSM: 5 kroků
SMS textová upozornění na teploty z GSM ATTINY85 a A1: Tento návod vám ukáže, jak zachytit teplotu z jednoduchého teplotního senzoru a odeslat ji sms textem na váš mobilní telefon. Abych to zjednodušil, posílám teplotu v nastaveném intervalu, ale také ukazuji, jak to lze provést pouze excel
Monitorování pokojové teploty řízené malinou Pi s výstupem obrazu Gnuplot a možností upozornění e -mailem: 7 kroků
Monitorování pokojové teploty pomocí Raspberry Pi s výstupem obrazu Gnuplot a možností upozornění e -mailem: Kde pracuji, je zde velmi důležitá místnost, ve které je umístěno mnoho počítačů. Pro optimalizaci výkonu těchto systémů musí být okolní teplota této místnosti velmi chladná. Byl jsem požádán, abych vytvořil monitorovací systém, který má schopnost