İçindekiler:
- Adım 1: Sistemin Blok Şeması
- 2. Adım: Bileşen Detayı
- Adım 3: Devre Şeması
- Adım 4: Çalışma Videosu ve Kod Dosyası
- Adım 5: Program Kodu
Video: SMS Uyarısı ile Tesis İzleme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Burada SMS uyarısı ile Tesis izleme oluşturuyorum. Bu uyarı sistemi için sunucu gerekli değildir. Çok ucuz ve güvenilir bir projedir.
Adım 1: Sistemin Blok Şeması
Günümüz seralarında birçok parametre ölçümü gerekmektedir.
bitkilerin iyi kalite ve üretkenliğini izlemek ve kontrol etmek. Ancak istenen sonuçları elde etmek için daha iyi bir bitki büyümesi için gerekli olan Sıcaklık, Nem, Işık ve İyi Toprak gibi bazı çok önemli faktörler devreye girer. Bu parametreleri göz önünde bulundurarak Arduino kullanarak GSM modülü üzerinden Otomatik Tesis İzleme Sistemi kurdum. Bu sistem, kaliteli bitkiler yetiştirmek için çok verimlidir. Bu projenin bir diğer önemli yanı ise tam otomatik olması ve düşük voltajda çalışmasıdır. 5-12V DC besleme.
Artık bir gün GSM Modülü, her türlü verinin SMS durumunu göndermek için yaygın olarak kullanılmaktadır. İşte bu projede SIM900A GSM Modülü kullanarak iklimin bitkiler üzerindeki etkileri hakkında bilgi tutabiliriz. Sistem aynı zamanda tesisin verimliliğini ve kalitesini etkileyen iklim değişikliklerini de gösterecektir. Bu projenin ortaya çıkmasındaki temel amaç, GSM modülünün Sıcaklık, Nem, Işık şiddeti, Toprak gibi bilgileri gönderdiği bir Otomatik Tesis İzleme oluşturmaktır. nem.
Hindistan vatandaşı olduğum için SIM900A (A, Asya ağı anlamına gelir) modülünü kullandım ancak ülkenize göre farklı türde SIM modülü kullanabilirsiniz. AT kodları farklı olabilir.
2. Adım: Bileşen Detayı
------------------ Devam eden dört tür parametreyi ölçüyorum.
aşağıda görüşmek üzere: ------------------
Sıcaklık ve Nem
DHT11 sensörü, sıcaklık ve nemi algılamak için kullanılır. Sıcaklık ve nem yüksek olduğunda bitkilerin kökleri zarar görür ve bitkinin büyümesi iyi olmaz.
Işık şiddeti
Işık yoğunluğu bitki büyümesi için önemli bir faktördür. Işık yoğunluğunu tespit etmek için LDR (Işığa bağlı direnç) kullanılır. Işığın yoğunluğu LUX cinsinden ölçülür ve bu nedenle gösterim için tanımlı veya eşik seviyesi olarak 100 LUX ışık kullanılır.
Toprak nemi
Toprağın nem içeriği bitkilerin iyi büyümesi için çok önemlidir. Burada Toprak sensörü, Topraktaki nem içeriğini ölçmek için kullanılır. Bu sensör ile toprak verilerini hem analog hem de dijital olarak ölçebiliriz.
SMS Bildirimi:
Yukarıdaki parametrelerden herhangi birinin değeri tanımlanan seviyenin veya kritik seviyenin üzerine çıktığında, sistem sahibine veya işletmeciye ilgili parametre bilgisi ile birlikte otomatik olarak SMS gönderir ve değer normal aralıkta veya tanımlanan seviyenin altına düştüğünde sistem otomatik olarak tekrar otomatik olarak sahibine veya operatöre ilgili verilerin bilgisini içeren SMS gönderin.
Bildirim, koşul değişmeyene kadar yalnızca bir kez gönderilir, böylece işletme sahibi veya operatör sık SMS almaz. Bu nedenle, daha düşük SMS paketi gereklidir.
Adım 3: Devre Şeması
Tüm bu parçalar herhangi bir çevrimiçi alışveriş sitesinde kolayca bulunabilir.
veya tanınmış elektronik yedek parça satıcısı ile. Tüm bileşen veri sayfaları web'de mevcuttur. Herhangi bir zorluk olursa, postamdan iletişime geçmekten çekinmeyin.
Adım 4: Çalışma Videosu ve Kod Dosyası
Projenin son çalışma videosu
Adım 5: Program Kodu
#Dahil etmek
#Dahil etmek
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #toprağı tanımla A3
şamandıra volt, lüks, değer; int çıktı_değeri; int sıcaklık, nem; int ışıklı bayrak = 0; int işaret işareti = 0; int toprak işareti = 0; int geçici işaret = 0; int kontrol; int testi, test1; bayt derecesi[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
geçersiz kurulum()
{ Serial.başlangıç(9600); //GSM Modem ile iletişim kurmak için seriyi başlat lcd.begin(16, 2); pinMode(toprak, GİRİŞ); lcd.createChar(1, derece); lcd.setCursor(0, 0); lcd.print("Bitki Sağlığı"); lcd.setCursor(0, 1); lcd.print("İzleme"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("AGRI PROJESİ"); lcd.setCursor(0, 1); lcd.print("SK CHHAYA Tarafından"); gecikme(1000); lcd.clear(); } void loop() { output_value = analogRead(toprak); çıktı_değeri = harita(çıktı_değeri, 550, 0, 0, 100); değer = analogRead(LUX); volt = (değer / 1023.0) * 5; lüks = ((2500 / volt) - 500) / 3.3; gecikme (10000); //GSM'nin Network'e kaydolması için yeterli zaman verin DHT.read11(dht_dpin); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Sıcaklık"); lcd.setCursor(0, 1); lcd.print(sıcaklık = DHT.sıcaklık); // LCD lcd.write(1) üzerindeki sıcaklık verileri; lcd.print("C"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem"); lcd.setCursor(0, 1); lcd.print(nem = DHT.nem); // LCD lcd.print'te nem verisi(" %"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Işık"); lcd.setCursor(0, 1); lcd.print(lüks); // LCD'deki ışık verileri lcd.print(" LUM"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem"); lcd.setCursor(0, 1); lcd.print(çıktı_değeri); // LCD'deki toprak verileri lcd.print(" %"); gecikme(1000); lcd.clear();
if (sıcaklık 40) { SendSMS(); // Yüksek Sıcaklık için SMS } if (nem 40) { SendSMS2(); // Yüksek Nem için SMS } if (lux 100) { SendSMS4(); // Light high için SMS } if (output_value == 950) { SendSMS7(); // Kuru Toprak için SMS } else if (output_value != 950) { SendSMS6(); // Islak Toprak için SMS } } void SendSMS() { if (tempflag == 0) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Sıcaklık Yüksek, "); Serial.print("Sıcaklık"); Serial.print(sıcaklık); Serial.println(" derece C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Sıcaklık Yüksek"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Sıcaklık"); lcd.setCursor(0, 1); lcd.print(sıcaklık); lcd.write(1); lcd.print("C"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); geçici işaret = 1; kontrol = 0; test = 0; gecikme(10); } } void SendSMS1() { if (tempflag == 1) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Sıcaklık Düşük, "); Serial.print("Sıcaklık"); Serial.print(sıcaklık); Serial.println(" derece C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Sıcaklık Düşük"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Sıcaklık"); lcd.setCursor(0, 1); lcd.print(sıcaklık); lcd.write(1); lcd.print("C"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); geçici işaret = 0; kontrol = 0; test = 0; gecikme(10); } } void SendSMS2() { if (humflag == 0) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Yüksek Nemlilik"); Seri.print(nem); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Yüksek Nem"); gecikme(1000); lcd.setCursor(0, 1); lcd.print("Nem"); lcd.print(nem); lcd.print(" %"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); humflag = 1; kontrol = 0; test = 0; gecikme(10); } }
void SendSMS3() { if (humflag == 1) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Düşük Nemlilik, "); Serial.print(" Nem "); Seri.print(nem); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Düşük Nem"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem"); lcd.setCursor(0, 1); lcd.print(nem); lcd.print(" %"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); uğultu işareti = 0; kontrol = 0; test = 0; gecikme(10); } } void SendSMS4() { if (lightflag == 0) { Serial.println("AT+CMGF=1"); //Metin Modu gecikmesinde SMS göndermek için(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); //Hedef telefon numarası gecikmesine geç(500); Serial.print("İyi IŞIK,"); Serial.print("Yoğunluk"); Seri.baskı(lüks); Serial.println(" LÜX"); Serial.println((char)26); //durdurma karakteri Ctrl+Z lcd.setCursor(0, 0); lcd.print("İyi ışık"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Yoğunluk"); lcd.setCursor(0, 1); lcd.print(lüks); lcd.print("LÜX"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); ışıklı bayrak = 1; kontrol = 0; test = 0; gecikme(10); } } void SendSMS5() { if (lightflag == 1) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("DÜŞÜK IŞIK,"); Serial.print("Yoğunluk"); Seri.baskı(lüks); Serial.println(" LÜX"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Düşük ışık"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Yoğunluk"); lcd.setCursor(0, 1); lcd.print(lüks); lcd.print("LÜX"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); ışıklı bayrak = 0; kontrol = 0; test = 0; gecikme(10); } } void SendSMS6() { if (soilflag == 0) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Kuru Toprak,"); Serial.print(" Nem "); Serial.print(çıktı_değeri); Serial.println(" %"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Kuru Toprak"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem"); lcd.setCursor(0, 1); lcd.print(çıktı_değeri); lcd.print(" %"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); toprak bayrağı = 1; kontrol = 0; test = 0; gecikme(10); } } void SendSMS7() { if (soilflag == 1) { Serial.println("AT+CMGF=1"); gecikme(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); gecikme(500); Serial.print("Islak Toprak,"); Serial.print(" Nem "); Serial.print(çıktı_değeri); Serial.println(" %"); Serial.println((char)26); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Islak Toprak"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem"); lcd.setCursor(0, 1); lcd.print(çıktı_değeri); lcd.print(" %"); gecikme(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS Gönderiliyor"); gecikme(1000); lcd.clear(); toprak bayrağı = 0; kontrol = 0; test = 0; gecikme(10); } }
Önerilen:
Susuzluk Uyarısı Tesis Alarmı: 13 Adım
Susuzluk Uyarısı Bitki Alarmı: Temize çıkmam gerekiyor - Ben korkunç bir bitki ebeveyniyim. Bunu göğsümden çıkarmak güzel. Fotosentezi biraz fazla mı zorluyor, yoksa eski H2O'yu hafif mi yakıyor, çözemiyorum. Görünüşe göre yaptığım hiçbir şey bu adamı tutamayacak
E-posta, SMS ve Pushbullet Uyarısı ile Isıtma Yağı Tankı Galonlarını İzleme: 9 Adım (Resimlerle)
Isıtma Yağı Tankı Galonlarını E-posta, SMS ve Pushbullet ile İzleyin Uyarı: GÜVENLİK BİLGİLERİ: Herhangi birinin "bunun inşa edilmesi/kurulması güvenli olup olmadığını" bilmek istemesi durumunda; -- Geri bildirim/güvenlik hususları için bunu 2 farklı Petrol şirketine götürdüm ve bunu itfaiyenin Yangın Önleme Vekili Müdür Yardımcısı tarafından yürüttüm
PInt@t10n: Akıllı Tesis İzleme Sistemi: 9 Adım
PInt@t10n: Akıllı Tesis İzleme Sistemi: PI@nt@t10nBu proje, ibm iot bulutu için bir test olarak oluşturulmuştur. IBM bulutuna veri gönderip almak için bir esp-8266 kullanıyoruz. esp ve ibm bulutu arasındaki iletişim MQTT aracılığıyla gerçekleşir. Tüm verileri işlemek ve sunmak için
ESP8266 ve AskSensors IoT Cloud ile Tesis İzleme ve Uyarılar: 6 Adım
ESP8266 ve AskSensors IoT Cloud ile Bitki İzleme ve Uyarılar: Bu proje, ESP8266 ve AskSensors IoT Platformunu kullanarak akıllı bir bitki izleme sistemi oluşturmayı amaçlamaktadır. Bu sistem, sulama kararları için objektif kriterler sağlamak üzere toprak nem seviyesini takip etmek için kullanılabilir. hangi irrig sağlanmasına yardımcı olur
IoT Tesis İzleme Sistemi (IBM IoT Platformu ile): 11 Adım (Resimlerle)
IoT Tesis İzleme Sistemi (IBM IoT Platformu ile): Genel Bakış Tesis İzleme Sistemi (PMS), yeşil bir başparmak düşünülerek işçi sınıfındaki bireylerle oluşturulmuş bir uygulamadır. Günümüzde çalışan bireyler her zamankinden daha meşgul; kariyerlerini ilerletmek ve mali durumlarını yönetmek.