Բովանդակություն:
- Քայլ 1: Արգելափակել համակարգի դիագրամը
- Քայլ 2: Բաղադրիչի մանրամասն
- Քայլ 3: Շղթայի դիագրամ
- Քայլ 4. Աշխատանքային տեսանյութ և կոդի ֆայլ
- Քայլ 5. Codeրագրի ծածկագիր
Video: Բույսերի մոնիտորինգ SMS ահազանգով `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Այստեղ ես ստեղծում եմ բույսերի մոնիտորինգ SMS ահազանգով: Այս ազդանշանային համակարգի համար սերվեր չի պահանջվում: Դա շատ էժան և հուսալի նախագիծ է:
Քայլ 1: Արգելափակել համակարգի դիագրամը
Այսօրվա ջերմոցներում շատ պարամետրային չափումներ են պահանջվում
վերահսկել և վերահսկել բույսերի լավ որակը և արտադրողականությունը: Բայց ցանկալի արդյունքներ ստանալու համար կան մի քանի շատ կարևոր գործոններ, ինչպիսիք են ՝ Temերմաստիճանը, խոնավությունը, լույսը և լավ հողը, որոնք անհրաժեշտ են բույսերի ավելի լավ աճի համար: Այս պարամետրերը նկատի ունենալով ՝ ես կառուցել եմ գործարանների ավտոմատ մոնիտորինգի համակարգ GSM մոդուլի վրա ՝ օգտագործելով Arduino- ն: Այս համակարգը շատ արդյունավետ է լավ որակի բույսեր աճեցնելու համար: Այս նախագծի մյուս կարևոր մասն այն է, որ այն ամբողջովին ավտոմատ է և աշխատում է ցածր լարման վրա, ինչպես. 5-12V DC սնուցում:
Այժմ օրեր շարունակ GSM մոդուլը լայնորեն օգտագործվում է ցանկացած տեսակի տվյալների SMS կարգավիճակ ուղարկելու համար: Այստեղ այս նախագծում, օգտագործելով SIM900A GSM մոդուլը, կարող ենք տեղեկատվություն պահել բույսերի վրա կլիմայի ազդեցության մասին: Համակարգը պետք է նաև ցույց տա կլիմայի փոփոխություններ, որոնք ազդում են գործարանի արտադրողականության և որակի վրա: խոնավություն:
Քանի որ ես Հնդկաստանի քաղաքացի եմ, օգտագործված SIM900A (A- ն նշանակում է ասիական ցանց) մոդուլը, բայց դուք կարող եք օգտագործել տարբեր տեսակի SIM մոդուլներ ՝ ըստ ձեր երկրի: AT կոդերը կարող են տարբեր լինել:
Քայլ 2: Բաղադրիչի մանրամասն
------------------ Չափում եմ չորս տեսակի պարամետրեր, որոնք գնում են
ստորև քննարկել ՝ ------------------
Temերմաստիճանը և խոնավությունը
DHT11 սենսորը օգտագործվում է ջերմաստիճանը և խոնավությունը զգալու համար: Երբ ջերմաստիճանը և խոնավությունը բարձր են, բույսերի արմատը վնասված է, իսկ բույսերի աճը `ոչ լավ:
Լույսի ինտենսիվություն
Լույսի ուժգնությունը կարևոր գործոն է բույսերի աճի համար: Լույսի ինտենսիվությունը հայտնաբերելու համար օգտագործվում է LDR (Լույսի կախված դիմադրություն): Լույսի ինտենսիվությունը չափվում է LUX- ով և, հետևաբար, ցուցադրման համար 100 LUX լույս օգտագործվում է ըստ սահմանված կամ շեմային մակարդակի:
Հողի խոնավություն
Հողի խոնավությունը շատ կարևոր է բույսերի լավ աճի համար: Այստեղ Հողի սենսորը օգտագործվում է հողում խոնավության պարունակությունը չափելու համար: Այս սենսորով մենք կարող ենք չափել հողի տվյալները երկու եղանակով ՝ անալոգային և թվային:
SMS ծանուցում.
Երբ վերը նշված պարամետրերից որևէ մեկի արժեքը գերազանցում է սահմանված մակարդակը կամ կրիտիկական մակարդակը, համակարգը ինքնաբերաբար SMS է ուղարկում սեփականատիրոջը կամ օպերատորին `համապատասխան պարամետրերի տեղեկատվությամբ, և երբ արժեքը գալիս է նորմալ տիրույթում կամ սահմանված մակարդակից ցածր, համակարգը նորից ինքնաբերաբար SMS ուղարկեք սեփականատիրոջը կամ օպերատորին `համապատասխան տվյալների մասին տեղեկություններով:
Notificationանուցումն ուղարկվում է միայն մեկ անգամ, մինչև պայմանը չփոխվի, որպեսզի սեփականատերը կամ օպերատորը հաճախակի SMS չստանան: Հետևաբար, պահանջվում է ավելի ցածր SMS փաթեթ:
Քայլ 3: Շղթայի դիագրամ
Այս բոլոր մասերը հեշտությամբ մատչելի են ցանկացած առցանց գնումների կայքում
կամ էլեկտրոնիկայի հայտնի պահեստամասերի դիլերով: Բոլոր բաղադրիչների տվյալների թերթերը հասանելի են համացանցում: Եթե որևէ դժվարություն զգացեք, ազատ դիմեք իմ փոստին:
Քայլ 4. Աշխատանքային տեսանյութ և կոդի ֆայլ
Նախագծի վերջին աշխատանքային տեսաֆիլմը
Քայլ 5. Codeրագրի ծածկագիր
#ներառում
#ներառում
LiquidCrystal LCD (2, 3, 4, 5, 6, 7);
dht DHT; #սահմանել dht_dpin A1 #սահմանել LUX A0 #սահմանել հող A3
բոց վոլտ, լյուքս, արժեք; int ելքային_արժեք; int ջերմաստիճան, խոնավություն; int lightflag = 0; int humflag = 0; int հողային դրոշ = 0; int tempflag = 0; int ստուգում; int թեստ, test1; բայտի աստիճան [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
դատարկ կարգավորում ()
{Serial.begin (9600); // GSM Modem- ի հետ lcd.begin- ի հետ հաղորդակցվելու համար սերիալ սկզբնավորել (16, 2); pinMode (հող, Մուտք); lcd.createChar (1, աստիճան); lcd.setCursor (0, 0); lcd.print («Բույսերի առողջություն»); lcd.setCursor (0, 1); lcd.print («Մոնիտորինգ»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («AGRI PROJECT»); lcd.setCursor (0, 1); lcd.print («S K CHHAYA» - ի կողմից); ուշացում (1000); lcd. հստակ (); } void loop () {output_value = analogRead (հող); output_value = քարտեզ (output_value, 550, 0, 0, 100); արժեք = analogRead (LUX); վոլտ = (արժեք / 1023.0) * 5; lux = ((2500 / վոլտ) - 500) / 3.3; ուշացում (10000); // Բավական ժամանակ տրամադրեք GSM- ին ցանցի DHT.read11 (dht_dpin) գրանցվելու համար; lcd. հստակ (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (ջերմաստիճան = DHT. ջերմաստիճան); // Temp տվյալները LCD lcd.write (1); lcd.print («C»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Խոնավություն»); lcd.setCursor (0, 1); lcd.print (խոնավություն = DHT. խոնավություն); // LCD lcd.print- ի խոնավության տվյալները (" %"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Լույս»); lcd.setCursor (0, 1); lcd.print (lux); // Լույսի տվյալները LCD lcd.print («LUM»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Խոնավություն»); lcd.setCursor (0, 1); lcd.print (ելքային_արժեք); // Հողի տվյալները LCD lcd.print (" %"); ուշացում (1000); lcd. հստակ ();
եթե (ջերմաստիճան 40) {SendSMS (); // SMS բարձր ջերմաստիճանի համար} եթե (խոնավություն 40) {SendSMS2 (); // SMS բարձր խոնավության համար} եթե (լյուքս 100) {SendSMS4 (); // SMS Light High- ի համար} if (output_value == 950) {SendSMS7 (); // SMS չոր հողի համար} այլ դեպքում (output_value! = 950) {SendSMS6 (); // SMS թաց հողի համար}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print («pերմաստիճանի բարձր»); Serial.print ("Temp"); Serial.print (ջերմաստիճան); Serial.println («աստիճան C»); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («peratերմաստիճան»); lcd.setCursor (0, 1); lcd.print (ջերմաստիճան); lcd. գրել (1); lcd.print («C»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); tempflag = 1; ստուգում = 0; փորձարկում = 0; ուշացում (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print ("pածր ջերմաստիճան"); Serial.print ("Temp"); Serial.print (ջերմաստիճան); Serial.println («աստիճան C»); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («pածր ջերմաստիճան»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («peratերմաստիճան»); lcd.setCursor (0, 1); lcd.print (ջերմաստիճան); lcd. գրել (1); lcd.print («C»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); tempflag = 0; ստուգում = 0; փորձարկում = 0; ուշացում (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print («Խոնավությունը բարձր է»); Serial.print (խոնավություն); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Խոնավության բարձր մակարդակ»); ուշացում (1000); lcd.setCursor (0, 1); lcd.print («Խոնավություն»); lcd.print (խոնավություն); lcd.print (" %"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); humflag = 1; ստուգում = 0; թեստ = 0; ուշացում (10); }}
անվավեր SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print («Lowածր խոնավություն»); Serial.print («Խոնավություն»); Serial.print (խոնավություն); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Lowածր խոնավություն»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Խոնավություն»); lcd.setCursor (0, 1); lcd.print (խոնավություն); lcd.print (" %"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); humflag = 0; ստուգում = 0; թեստ = 0; ուշացում (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // SMS ուղարկելու տեքստային ռեժիմի հետաձգում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Փոխել նպատակակետի հեռախոսահամարի հետաձգումը (500); Serial.print («Բարի ԼՈTՅՍ»); Serial.print («Ինտենսիվություն»); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // կանգառի նշանը Ctrl+Z lcd.setCursor (0, 0); lcd.print («Լավ լույս»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Ինտենսիվություն»); lcd.setCursor (0, 1); lcd.print (lux); lcd.print («LUX»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); lightflag = 1; ստուգում = 0; փորձարկում = 0; ուշացում (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print ("LOW LIGHT",); Serial.print («Ինտենսիվություն»); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («թույլ լուսավորություն»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Ինտենսիվություն»); lcd.setCursor (0, 1); lcd.print (lux); lcd.print («LUX»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); lightflag = 0; ստուգում = 0; թեստ = 0; ուշացում (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print («Չոր հող»); Serial.print («Խոնավություն»); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Չոր հող»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Խոնավություն»); lcd.setCursor (0, 1); lcd.print (ելքային_արժեք); lcd.print (" %"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); հողային դրոշ = 1; ստուգում = 0; փորձարկում = 0; ուշացում (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); ուշացում (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); ուշացում (500); Serial.print («Թաց հող»); Serial.print («Խոնավություն»); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Թաց հող»); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Խոնավություն»); lcd.setCursor (0, 1); lcd.print (ելքային_արժեք); lcd.print (" %"); ուշացում (1000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («SMS ուղարկելը»); ուշացում (1000); lcd. հստակ (); հողային դրոշ = 0; ստուգում = 0; փորձարկում = 0; ուշացում (10); }}
Խորհուրդ ենք տալիս:
Կախարդական հայելին նորություններով, եղանակով, ահազանգով, ժամաչափով և տոդոլիստով `9 քայլ
Magic Mirror With News, Weather, Alarm, Timer and Todolist: A Magic Mirror- ը հատուկ միակողմանի հայելի է, որի հետևում կա ցուցադրում: Էկրանի վրա, որը միացված է Raspberry Pi- ին, ցուցադրվում են այնպիսի տեղեկություններ, ինչպիսիք են եղանակը, սենյակի ջերմաստիճանը, ժամանակը, ամսաթիվը, թոդոլիստը և շատ ավելին: Դուք նույնիսկ կարող եք միկրոֆոն ավելացնել և տեղադրել
Էլեկտրոնային փոստով, SMS- ով և Pushbullet ահազանգով տաքացվող նավթի բաքերի գալոններ. 9 քայլ (նկարներով)
Վերահսկեք ջեռուցման յուղի բաքերը էլեկտրոնային փոստով, SMS- ով և Pushbullet նախազգուշացմամբ. - Ես դա ուղարկել եմ 2 տարբեր նավթային ընկերությունների ՝ հետադարձ կապ/անվտանգության նկատառումներով, և ես դա վարել եմ հրշեջ ծառայության հրդեհային կանխարգելման գծով տեղակալ
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղիչ և ջերմաստիճանի ահազանգով. 7 քայլ (նկարներով)
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղման և ջերմաստիճանի տագնապի միջոցով. Դեռևս ճանապարհորդում եք «առաջիկա նախագիծ» ավարտելու համար, հրահանգելի է, որը ցույց է տալիս, թե ինչպես եմ ավելացնում NTP ջերմաստիճանի զոնդ, պիեզո բ
Բույսերի մոնիտորինգ և ահազանգեր ESP8266- ի և AskSensors IoT Cloud- ի հետ. 6 քայլ
Բույսերի մոնիտորինգ և ահազանգեր ESP8266- ի և AskSensors IoT Cloud- ի հետ. Այս նախագիծը նպատակ ունի կառուցել խելացի բույսերի մոնիտորինգի համակարգ `օգտագործելով ESP8266- ը և AskSensors IoT հարթակը: Այս համակարգը կարող է օգտագործվել հողի խոնավության մակարդակին հետևելու համար` ոռոգման որոշումների օբյեկտիվ չափանիշներ ապահովելու համար: որոնք օգնում են ապահովել ոռոգումը
Raspberry Pi հսկողության տեսախցիկ էլփոստի ահազանգով `3 քայլ
Ազնվամորի Պի հսկողության տեսախցիկ ՝ էլփոստի ահազանգով. Տեսախցիկները շատ օգտակար են ձեր տանը կամ գրասենյակին հետևելու համար: Թեև այս տեսակի տեսախցիկների գները կարմիր են եղել