Πίνακας περιεχομένων:
- Βήμα 1: Αποκλεισμός διαγράμματος συστήματος
- Βήμα 2: Λεπτομέρεια εξαρτήματος
- Βήμα 3: Διάγραμμα κυκλώματος
- Βήμα 4: Εργασία βίντεο και αρχείο κώδικα
- Βήμα 5: Κώδικας Προγράμματος
Βίντεο: Παρακολούθηση εγκαταστάσεων με ειδοποίηση SMS: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Εδώ δημιουργώ την παρακολούθηση εγκαταστάσεων με ειδοποίηση SMS. Ο διακομιστής δεν απαιτείται για αυτό το σύστημα ειδοποιήσεων. Είναι πολύ φθηνό και αξιόπιστο έργο.
Βήμα 1: Αποκλεισμός διαγράμματος συστήματος
Στα σημερινά θερμοκήπια, απαιτούνται πολλές μετρήσεις παραμέτρων
για την παρακολούθηση και τον έλεγχο της καλής ποιότητας και παραγωγικότητας των φυτών. Αλλά για να επιτευχθούν τα επιθυμητά αποτελέσματα, υπάρχουν μερικοί πολύ σημαντικοί παράγοντες που παίζουν ρόλο όπως η θερμοκρασία, η υγρασία, το φως και το καλό έδαφος, οι οποίοι είναι απαραίτητοι για μια καλύτερη ανάπτυξη των φυτών. Έχοντας υπόψη αυτές τις παραμέτρους, έχω δημιουργήσει ένα αυτόματο σύστημα παρακολούθησης εγκαταστάσεων μέσω μονάδας GSM χρησιμοποιώντας το Arduino. Αυτό το σύστημα είναι πολύ αποτελεσματικό για την καλλιέργεια καλής ποιότητας φυτών. Το άλλο σημαντικό μέρος αυτού του έργου είναι ότι είναι πλήρως αυτόματο και λειτουργεί σε χαμηλή τάση όπως? Τροφοδοσία 5-12V DC.
Σήμερα, η ενότητα GSM χρησιμοποιείται ευρέως για την αποστολή καταστάσεων SMS οποιουδήποτε είδους δεδομένων. Εδώ σε αυτό το έργο χρησιμοποιώντας τη μονάδα SIM900A GSM μπορούμε να κρατήσουμε πληροφορίες σχετικά με τις επιπτώσεις του κλίματος στα φυτά. Το σύστημα θα επιδεικνύει επίσης τις κλιματικές αλλαγές που επηρεάζουν το φυτό στην παραγωγικότητα και την ποιότητα του κλπ. Ο κύριος σκοπός της υλοποίησης αυτού του έργου είναι η κατασκευή μιας αυτόματης παρακολούθησης εγκαταστάσεων στην οποία η μονάδα GSM στέλνει πληροφορίες σχετικά με τη θερμοκρασία, την υγρασία, την ένταση του φωτός, το έδαφος υγρασία.
Επειδή είμαι ο Ινδός πολίτης, χρησιμοποίησα τη μονάδα SIM900A (το Α σημαίνει ασιατικό δίκτυο), αλλά μπορείτε να χρησιμοποιήσετε διαφορετικό είδος μονάδας SIM ανάλογα με τη χώρα σας. Οι κωδικοί AT μπορεί να διαφέρουν.
Βήμα 2: Λεπτομέρεια εξαρτήματος
------------------ Μετράω τέσσερις τύπους παραμέτρων, οι οποίες συνεχίζονται
για συζήτηση παρακάτω: ------------------
Θερμοκρασία και Υγρασία
Ο αισθητήρας DHT11 χρησιμοποιείται για την ανίχνευση θερμοκρασίας και υγρασίας. Όταν η θερμοκρασία και η υγρασία είναι υψηλές, η ρίζα των φυτών έχει καταστραφεί και η ανάπτυξη του φυτού δεν είναι καλή.
Ελαφριά ένταση
Η ένταση του φωτός είναι ένας σημαντικός παράγοντας για την ανάπτυξη των φυτών. Για την ανίχνευση έντασης φωτός χρησιμοποιείται LDR (Αντίσταση εξαρτώμενη από το φως). Η ένταση του φωτός μετριέται σε LUX και ως εκ τούτου για επίδειξη χρησιμοποιείται 100 φως LUX όπως ορίζεται ή επίπεδο κατωφλίου.
Υγρασία εδάφους
Η υγρασία του εδάφους είναι πολύ σημαντική για την καλή ανάπτυξη των φυτών. Εδώ ο αισθητήρας εδάφους χρησιμοποιείται για τη μέτρηση της περιεκτικότητας σε υγρασία στο έδαφος. Χρησιμοποιώντας αυτόν τον αισθητήρα μπορούμε να μετρήσουμε τα δεδομένα του εδάφους και με τον δύο τρόπο, αναλογικά και ψηφιακά επίσης.
Ειδοποίηση SMS:
Όταν η τιμή οποιασδήποτε από τις παραπάνω παραμέτρους υπερβαίνει από ένα καθορισμένο επίπεδο ή κρίσιμο επίπεδο, το σύστημα στέλνει αυτόματα SMS στον κάτοχο ή τον χειριστή με πληροφορίες σχετικά με τις παραμέτρους και όταν η τιμή έρχεται στο φυσιολογικό εύρος ή κάτω από το καθορισμένο επίπεδο πάλι το σύστημα αυτόματα στείλτε SMS στον ιδιοκτήτη ή στον χειριστή με πληροφορίες σχετικά με τα δεδομένα.
Η ειδοποίηση αποστέλλεται μόνο μία φορά έως ότου η κατάσταση δεν αλλάξει, ώστε ο ιδιοκτήτης ή ο χειριστής να μην λαμβάνει συχνά SMS. Επομένως, απαιτείται χαμηλότερο πακέτο SMS.
Βήμα 3: Διάγραμμα κυκλώματος
Όλα αυτά τα μέρη είναι εύκολα διαθέσιμα σε οποιοδήποτε διαδικτυακό ιστότοπο αγορών
ή με γνωστό αντιπρόσωπο ηλεκτρονικών ειδών. Όλα τα φύλλα δεδομένων είναι διαθέσιμα στον ιστό. Αν έχετε κάποια δυσκολία επικοινωνήστε ελεύθερα στο mail μου.
Βήμα 4: Εργασία βίντεο και αρχείο κώδικα
Τελικό βίντεο εργασίας του έργου
Βήμα 5: Κώδικας Προγράμματος
#περιλαμβάνω
#περιλαμβάνω
LiquidCrystal LCD (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define ground A3
float volt, lux, value? int output_value; int θερμοκρασία, υγρασία. int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int έλεγχος? int test, test1; βαθμό byte [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
void setup ()
{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.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("By S K CHHAYA"); καθυστέρηση (1000)? lcd.clear (); } void loop () {output_value = analogRead (χώμα); έξοδος_τιμής = χάρτης (τιμή_εξόδου, 550, 0, 0, 100); value = analogRead (LUX); volt = (τιμή / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; καθυστέρηση (10000)? // Δώστε αρκετό χρόνο για να εγγραφεί το GSM στο Δίκτυο DHT.read11 (dht_dpin). lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (θερμοκρασία = θερμοκρασία DHT.temperature); // Temp δεδομένα σε LCD lcd.write (1); lcd.print ("C"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρασία"); lcd.setCursor (0, 1); lcd.print (υγρασία = DHT. υγρασία); // Δεδομένα υγρασίας στην οθόνη LCD lcd.print (" %"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Light"); lcd.setCursor (0, 1); lcd.print (lux); // Φωτεινά δεδομένα σε LCD lcd.print ("LUM"). καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρασία"); lcd.setCursor (0, 1); lcd.print (τιμή_εξόδου); // Στοιχεία εδάφους σε LCD lcd.print (" %"); καθυστέρηση (1000)? lcd.clear ();
εάν (θερμοκρασία 40) {SendSMS (); // SMS για Temp high} if (υγρασία 40) {SendSMS2 (); // SMS για υγρασία υψηλή} εάν (lux 100) {SendSMS4 (); // SMS for Light high} 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 ("Temp"); Serial.print (θερμοκρασία) Serial.println ("βαθμός C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Θερμοκρασία"); lcd.setCursor (0, 1); lcd.print (θερμοκρασία) lcd.write (1); lcd.print ("C"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); 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 ("Temp"); Serial.print (θερμοκρασία) Serial.println ("βαθμός C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Θερμοκρασία"); lcd.setCursor (0, 1); lcd.print (θερμοκρασία) lcd.write (1); lcd.print ("C"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); 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.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); humflag = 1; έλεγχος = 0; δοκιμή = 0; καθυστέρηση (10)? }}
void SendSMS3 () {if (humflag == 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.setCursor (0, 0); lcd.print ("Χαμηλή υγρασία"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρασία"); lcd.setCursor (0, 1); lcd.print (υγρασία) lcd.print (" %"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); 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.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // ο χαρακτήρας διακοπής Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Καλό φως"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ένταση"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); 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.clear (); lcd.setCursor (0, 0); lcd.print ("Ένταση"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); 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 (έξοδος_τιμής); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Ξηρό έδαφος"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρασία"); lcd.setCursor (0, 1); lcd.print (τιμή_εξόδου); lcd.print (" %"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); σημαία χώματος = 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.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρό έδαφος"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Υγρασία"); lcd.setCursor (0, 1); lcd.print (τιμή_εξόδου); lcd.print (" %"); καθυστέρηση (1000)? lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Αποστολή SMS"); καθυστέρηση (1000)? lcd.clear (); σημαία χώματος = 0; έλεγχος = 0; δοκιμή = 0; καθυστέρηση (10)? }}
Συνιστάται:
Συναγερμός πυρκαγιάς με ειδοποίηση SMS: 3 βήματα
Συναγερμός πυρκαγιάς με ειδοποίηση SMS: GSM 800H, αισθητήρας πυρκαγιάς με βάση το Arduino και σύστημα ειδοποιήσεων SMS, χρησιμοποιεί αισθητήρα IR για τον εντοπισμό της φωτιάς στο σκοτεινό δωμάτιο. Στέλνει SMS μέσω μόντεμ GSM 800H που είναι προσαρτημένο στις σειριακές ακίδες Rx και Tx του Arduino Ορίστε τον αριθμό του κινητού σας μέσα στον κωδικό
GPS Car Tracker με ειδοποίηση SMS και μεταφόρτωση δεδομένων Thingspeak, βασισμένο σε Arduino, αυτοματοποίηση σπιτιού: 5 βήματα (με εικόνες)
GPS Car Tracker With SMS Notification and Thingspeak Data Upload, Arduino Based, Home Automation: Έφτιαξα αυτό το tracker GPS πέρυσι και επειδή λειτουργεί καλά το δημοσιεύω τώρα στο Instructable. Συνδέεται με το βύσμα αξεσουάρ στο πορτμπαγκάζ μου. Ο ιχνηλάτης GPS ανεβάζει τη θέση του αυτοκινήτου, την ταχύτητα, την κατεύθυνση και τη μετρημένη θερμοκρασία μέσω δεδομένων κινητής τηλεφωνίας
WiFi αυτόματος τροφοδότης εγκαταστάσεων με δεξαμενή - ρύθμιση εσωτερικής/εξωτερικής καλλιέργειας - αυτόματα φυτά νερού με απομακρυσμένη παρακολούθηση: 21 βήματα
WiFi Αυτόματος Τροφοδότης Φυτών με Δεξαμενή - Εσωτερική/Εξωτερική Ρύθμιση Καλλιέργειας - Φυτά Νερού Αυτόματα Με Απομακρυσμένη Παρακολούθηση: Σε αυτό το σεμινάριο θα δείξουμε πώς να ρυθμίσετε ένα προσαρμοσμένο εσωτερικό/εξωτερικό σύστημα τροφοδότησης φυτών που ποτίζει αυτόματα τα φυτά και μπορεί να παρακολουθείται από απόσταση χρησιμοποιώντας την πλατφόρμα Adosia
Παρακολουθήστε γαλόνια δεξαμενής θέρμανσης πετρελαίου με email, SMS και ειδοποίηση Pushbullet: 9 βήματα (με εικόνες)
Παρακολουθήστε γαλόνια δεξαμενής θέρμανσης με ηλεκτρονικό ταχυδρομείο, SMS και ειδοποίηση Pushbullet: ΠΛΗΡΟΦΟΡΙΕΣ ΑΣΦΑΛΕΙΑΣ: Σε περίπτωση που κάποιος θέλει να μάθει εάν " αυτό είναι ασφαλές για κατασκευή/εγκατάσταση " - Το πήγα σε 2 διαφορετικές εταιρείες πετρελαίου για λόγους ανατροφοδότησης/ασφάλειας και το έκανα από τον αναπληρωτή της Πυροσβεστικής Υπηρεσίας της Πυροσβεστικής
Παρακολούθηση εγκαταστάσεων και ειδοποιήσεις με ESP8266 και AskSensors IoT Cloud: 6 βήματα
Παρακολούθηση φυτών και ειδοποιήσεις με ESP8266 και AskSensors IoT Cloud: Αυτό το έργο στοχεύει στη δημιουργία ενός έξυπνου συστήματος παρακολούθησης εγκαταστάσεων χρησιμοποιώντας το ESP8266 και την πλατφόρμα AskSensors IoT. Αυτό το σύστημα μπορεί να χρησιμοποιηθεί για να παρακολουθεί το επίπεδο υγρασίας του εδάφους για να παρέχει αντικειμενικά κριτήρια για αποφάσεις άρδευσης. που συμβάλλουν στη διασφάλιση της άρδευσης