Სარჩევი:
- ნაბიჯი 1: სისტემის ბლოკირების დიაგრამა
- ნაბიჯი 2: კომპონენტის დეტალი
- ნაბიჯი 3: სქემის დიაგრამა
- ნაბიჯი 4: სამუშაო ვიდეო და კოდის ფაილი
- ნაბიჯი 5: პროგრამის კოდი
ვიდეო: მცენარეთა მონიტორინგი SMS შეტყობინებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
აქ მე ვქმნი მცენარეთა მონიტორინგს SMS გაფრთხილებით. სერვერი არ არის საჭირო ამ გაფრთხილების სისტემისთვის. ეს არის ძალიან იაფი და საიმედო პროექტი.
ნაბიჯი 1: სისტემის ბლოკირების დიაგრამა
დღევანდელ სათბურებში ბევრი პარამეტრის გაზომვაა საჭირო
მცენარეების კარგი ხარისხისა და პროდუქტიულობის მონიტორინგი და კონტროლი. მაგრამ სასურველი შედეგის მისაღწევად არის ძალიან მნიშვნელოვანი ფაქტორები, როგორიცაა ტემპერატურა, ტენიანობა, მსუბუქი და კარგი ნიადაგი, რომლებიც აუცილებელია მცენარის უკეთესი ზრდისთვის. ამ პარამეტრების გათვალისწინებით მე შევქმენი ქარხნის მონიტორინგის სისტემა GSM მოდულზე Arduino– ს გამოყენებით. ეს სისტემა ძალიან ეფექტურია კარგი ხარისხის მცენარეების გასაზრდელად. ამ პროექტის სხვა მნიშვნელოვანი ნაწილი ის არის, რომ ის სრულად ავტომატურია და მუშაობს დაბალი ძაბვის მსგავსად; 5-12V DC მიწოდება.
დღეისათვის GSM მოდული ფართოდ გამოიყენება ნებისმიერი სახის მონაცემების SMS სტატუსის გასაგზავნად. აქ ამ პროექტში SIM900A GSM მოდულის გამოყენებით შეგვიძლია შევინარჩუნოთ ინფორმაცია მცენარეებზე კლიმატის გავლენის შესახებ. სისტემამ ასევე უნდა წარმოაჩინოს კლიმატური ცვლილებები, რომლებიც გავლენას მოახდენს მცენარეზე მის პროდუქტიულობასა და ხარისხში და ა.შ. ტენიანობა.
იმის გამო, რომ მე ვარ ინდოეთის მოქალაქე, გამოვიყენე SIM900A (A ნიშნავს აზიის ქსელის) მოდული, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ სხვადასხვა სახის SIM მოდული თქვენი ქვეყნის მიხედვით. AT კოდები შეიძლება განსხვავდებოდეს.
ნაბიჯი 2: კომპონენტის დეტალი
------------------ მე ვზომავ ოთხი ტიპის პარამეტრს, რომლებიც მიდის
ქვემოთ განსახილველად: ------------------
ტემპერატურა და ტენიანობა
DHT11 სენსორი გამოიყენება ტემპერატურისა და ტენიანობის შესაფასებლად. როდესაც ტემპერატურა და ტენიანობა მაღალია, მცენარეების ფესვი დაზიანებულია და მცენარე კარგად არ იზრდება.
სინათლის ინტენსივობა
სინათლის ინტენსივობა მნიშვნელოვანი ფაქტორია მცენარის ზრდისთვის. სინათლის ინტენსივობის დასადგენად გამოიყენება LDR (შუქზე დამოკიდებული რეზისტორი). სინათლის ინტენსივობა იზომება LUX- ში და, შესაბამისად, დემონსტრაციისთვის 100 LUX შუქი გამოიყენება განსაზღვრული ან ზღურბლის დონეზე.
Მიწის ტენიანობა
ნიადაგის ტენიანობა ძალიან მნიშვნელოვანია მცენარეების კარგი ზრდისთვის. აქ ნიადაგის სენსორი გამოიყენება ნიადაგში ტენიანობის გასაზომად. ამ სენსორის გამოყენებით ჩვენ შეგვიძლია გავზომოთ ნიადაგის მონაცემები ორივე გზით, ანალოგური და ციფრული ასევე.
SMS შეტყობინება:
როდესაც რომელიმე ზემოთ ჩამოთვლილი პარამეტრის მნიშვნელობა აღემატება განსაზღვრულ დონეს ან კრიტიკულ დონეს, სისტემა ავტომატურად უგზავნის SMS მფლობელს ან ოპერატორს შესაბამისი პარამეტრების ინფორმაციას და როდესაც მნიშვნელობა ნორმალურ დიაპაზონში მოდის ან განსაზღვრულ დონეზე დაბლა სისტემა კვლავ ავტომატურად გაუგზავნეთ SMS მფლობელს ან ოპერატორს შესაბამისი მონაცემების შესახებ.
შეტყობინება იგზავნება მხოლოდ ერთხელ, სანამ მდგომარეობა არ შეიცვლება, ასე რომ მფლობელს ან ოპერატორს არ ექნება ხშირი SMS. ამიტომ, საჭიროა SMS– ის ქვედა პაკეტი.
ნაბიჯი 3: სქემის დიაგრამა
ეს ყველა ნაწილი ადვილად ხელმისაწვდომია ნებისმიერ ონლაინ სავაჭრო საიტზე
ან ცნობილი ელექტრონიკის სათადარიგო ნაწილების დილერთან. ყველა კომპონენტის მონაცემთა ფურცელი ხელმისაწვდომია ინტერნეტში. თუ რაიმე სირთულე მოგერიდებათ დამიკავშირდით ჩემს ფოსტაზე.
ნაბიჯი 4: სამუშაო ვიდეო და კოდის ფაილი
პროექტის საბოლოო სამუშაო ვიდეო
ნაბიჯი 5: პროგრამის კოდი
#ჩართეთ
#ჩართეთ
LiquidCrystal LCD (2, 3, 4, 5, 6, 7);
dht DHT; #განსაზღვრეთ dht_dpin A1 #განსაზღვრეთ LUX A0 #განსაზღვრეთ ნიადაგი A3
float volt, lux, მნიშვნელობა; int output_value; int ტემპერატურა, ტენიანობა; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int შემოწმება; int ტესტი, test1; ბაიტის ხარისხი [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
ბათილად დაყენება ()
{Serial.begin (9600); // სერიის ინიციალიზაცია GSM მოდემთან 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; ლუქსი = ((2500 / ვოლტი) - 500) / 3.3; დაგვიანება (10000); // მიეცით საკმარისი დრო GSM- ს დარეგისტრირდეს ქსელში DHT.read11 (dht_dpin); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("ტემპი"); lcd.setCursor (0, 1); lcd.print (ტემპერატურა = DHT.temperature); // 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. ბეჭდვა (ლუქსი); // სინათლის მონაცემები LCD lcd.print ("LUM"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("ტენიანობა"); lcd.setCursor (0, 1); lcd.print (output_value); // ნიადაგის მონაცემები LCD lcd.print (" %"); დაგვიანება (1000); lcd. წმინდა ();
თუ (ტემპერატურა 40) {SendSMS (); // SMS Temp high} if (ტენიანობა 40) {SendSMS2 (); // SMS მაღალი ტენიანობისთვის} if (lux 100) {SendSMS4 (); // SMS მსუბუქი სინათლისთვის} if (output_value == 950) {SendSMS7 (); // SMS მშრალი ნიადაგისთვის} სხვა შემთხვევაში (გამომავალი_ფასი! = 950) {SendSMS6 (); // SMS სველი ნიადაგისთვის}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); დაგვიანება (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); დაგვიანება (500); Serial.print ("Temp High"); Serial.print ("ტემპი"); სერიული. ბეჭდვა (ტემპერატურა); Serial.println ("ხარისხი C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("მაღალი ტემპერატურა"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("ტემპერატურა"); lcd.setCursor (0, 1); lcd. ბეჭდვა (ტემპერატურა); 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 ("Temp Low",); Serial.print ("ტემპი"); სერიული. ბეჭდვა (ტემპერატურა); Serial.println ("ხარისხი C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("ტემპერატურა"); lcd.setCursor (0, 1); lcd. ბეჭდვა (ტემპერატურა); 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.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("ტენიანობა მაღალი"); დაგვიანება (1000); lcd.setCursor (0, 1); lcd.print ("ტენიანობა"); lcd. ბეჭდვა (ტენიანობა); 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 ("დაბალი ტენიანობა"); Serial.print ("ტენიანობა"); სერიული. ბეჭდვა (ტენიანობა); 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. ბეჭდვა (ტენიანობა); 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 ("კარგი შუქი"); Serial.print ("ინტენსივობა"); სერიული. ბეჭდვა (ლუქსი); 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. ბეჭდვა (ლუქსი); lcd.print ("LUX"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("SMS- ის გაგზავნა"); დაგვიანება (1000); lcd. წმინდა (); სინათლის დროშა = 1; შემოწმება = 0; ტესტი = 0; დაგვიანება (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); დაგვიანება (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); დაგვიანება (500); Serial.print ("დაბალი შუქი"); Serial.print ("ინტენსივობა"); სერიული. ბეჭდვა (ლუქსი); 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. ბეჭდვა (ლუქსი); lcd.print ("LUX"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("SMS- ის გაგზავნა"); დაგვიანება (1000); lcd. წმინდა (); სინათლის დროშა = 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 (გამომავალი_ ღირებულება); 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 (output_value); 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 (გამომავალი_ ღირებულება); 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 (output_value); lcd.print (" %"); დაგვიანება (1000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("SMS- ის გაგზავნა"); დაგვიანება (1000); lcd. წმინდა (); ნიადაგის დროშა = 0; შემოწმება = 0; ტესტი = 0; დაგვიანება (10); }}
გირჩევთ:
ხანძრის სიგნალიზაცია SMS შეტყობინებით: 3 ნაბიჯი
ხანძრის სიგნალიზაცია SMS შეტყობინებით: GSM 800H, Arduino დაფუძნებული ხანძრის სენსორი და SMS შეტყობინებების სისტემა, ის იყენებს IR სენსორს ბნელ ოთახში ხანძრის აღმოსაჩენად. ის აგზავნის SMS- ს GSM 800H მოდემის საშუალებით, რომელიც ერთვის Arduino– ს სერიულ Rx და Tx ქინძისთავებს, დააყენეთ თქვენი მობილური ნომერი კოდში
გაჟონვის დეტექტორი ტექსტური შეტყობინების შეტყობინებით: 7 ნაბიჯი
გაჟონვის დეტექტორი ტექსტური შეტყობინების შეტყობინებით: ეს სახელმძღვანელო გვიჩვენებს, თუ როგორ უნდა ავაშენოთ გაჟონვის დეტექტორი, რომელიც აგზავნის ტექსტურ შეტყობინებებს. ის აგზავნის გაფრთხილებებს, თუ წყლის ამოფრქვევის მილისგან ან გამავალი დრენაჟისგან იგრძნობა. სახელმძღვანელო განკუთვნილია ყველასთვის, ვინც დაინტერესებულია Python 3, Raspberry Pi, Secure Shell
GPS მანქანის ტრეკერი SMS შეტყობინებით და Thingspeak მონაცემების ატვირთვით, Arduino– ზე დაფუძნებული, სახლის ავტომატიზაცია: 5 ნაბიჯი (სურათებით)
GPS მანქანის ტრეკერი SMS შეტყობინებით და Thingspeak მონაცემების ატვირთვით, Arduino დაფუძნებული, სახლის ავტომატიზაციით: მე გავაკეთე ეს GPS ტრეკერი შარშან და რადგან ის კარგად მუშაობს, ახლა ვაქვეყნებ მას Instructable. ის დაკავშირებულია ჩემს საბარგულში არსებულ აქსესუარებთან. GPS ტრეკერი ატვირთავს მანქანის პოზიციას, სიჩქარეს, მიმართულებას და გაზომულ ტემპერატურას მობილური ტელეფონის საშუალებით
წერტილოვანი მატრიცა; 8x8 შეტყობინებით ან სურათებით: 4 ნაბიჯი
წერტილოვანი მატრიცა; 8x8 შეტყობინებით ან სურათებით: ეს ინსტრუქცია გაჩვენებთ იმ წერტილოვან მატრიცულ სურათებს, რომლებიც მე გადავიღე წერტილოვანი მატრიქსით 8x8 .. გთხოვთ გადახედოთ ვიდეოებს და პროგრამებს. წერტილოვანი მატრიცა არის 2 განზომილებიანი ჩვენება. იგი შედგება 8 სვეტისა და 8 რიგისგან. თუ ყურადღებით დააკვირდებით
მცენარეთა მონიტორინგი და გაფრთხილებები ESP8266 და AskSensors IoT Cloud– ით: 6 ნაბიჯი
მცენარეთა მონიტორინგი და გაფრთხილებები ESP8266 და AskSensors IoT Cloud– ით: ეს პროექტი მიზნად ისახავს მცენარეთა მონიტორინგის ჭკვიანი სისტემის შექმნას ESP8266 და AskSensors IoT პლატფორმის გამოყენებით. ეს სისტემა შეიძლება გამოყენებულ იქნას ნიადაგის ტენიანობის დონის დასადგენად, რათა უზრუნველყოს სარწყავი გადაწყვეტილებების ობიექტური კრიტერიუმები. რომელიც ხელს უწყობს სარწყავი