Πίνακας περιεχομένων:

Λήψη email ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο: 16 βήματα
Λήψη email ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο: 16 βήματα

Βίντεο: Λήψη email ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο: 16 βήματα

Βίντεο: Λήψη email ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο: 16 βήματα
Βίντεο: Πώς να μάθετε ποιος είδε το προφίλ μου στο Instagram | Βρείτε ποιος είδε το προφίλ σας στο Instagram 2024, Νοέμβριος
Anonim
Λάβετε ένα μήνυμα ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο
Λάβετε ένα μήνυμα ειδοποίησης όταν ένα κανάλι στο ThingSpeak δεν ενημερώθηκε για λίγο

Ιστορία παρασκηνίου

Έχω έξι αυτοματοποιημένα θερμοκήπια που απλώνονται σε όλο το Δουβλίνο της Ιρλανδίας. Χρησιμοποιώντας μια προσαρμοσμένη εφαρμογή για κινητά τηλέφωνα, μπορώ να παρακολουθώ από απόσταση και να αλληλεπιδρώ με τις αυτοματοποιημένες λειτουργίες σε κάθε θερμοκήπιο. Μπορώ να ανοίξω / κλείσω χειροκίνητα τα παράθυρα όταν η θερμοκρασία είναι πολύ υψηλή / χαμηλή. Μπορώ να ξεκινήσω / σταματήσω την άρδευση όταν η υγρασία του εδάφους είναι πολύ χαμηλή / υψηλή. και μπορώ να ξεκινήσω / σταματήσω τον ανεμιστήρα εξαερισμού όταν η υγρασία του αέρα είναι πολύ υψηλή / χαμηλή. Or μπορώ απλά να αλλάξω το σύστημα σε αυτόματη λειτουργία και τα λαχανικά θα φροντίζονται από τον εγκέφαλο του Arduino. Περισσότερες λεπτομέρειες σχετικά με αυτό το έργο μπορείτε να βρείτε εδώ -

Η απομακρυσμένη σύνδεση με τις πλακέτες Arduino στα έξι θερμοκήπια είναι δυνατή με τη βοήθεια dongles USB GPRS, ένα σε κάθε τοποθεσία (αγόρασα το δικό μου από εδώ https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Όπως συμβαίνει με τη σύνδεση δεδομένων κινητής τηλεφωνίας (τουλάχιστον στο Δουβλίνο), πέφτει τυχαία, μερικές φορές για μερικά λεπτά, μερικές φορές μπορεί να είναι για μερικές ώρες. Σε περίπτωση διακοπής της σύνδεσης, το Arduino έχει προγραμματιστεί να επαναφέρει το dongle USB κάθε 10 λεπτά, για να προσπαθήσει να ξεκινήσει μια νέα σύνδεση. Μερικές φορές, ωστόσο, για (ακόμη) άγνωστους λόγους, ακόμη και αν η σύνδεση δεδομένων GPRS είναι ξανά ενεργοποιημένη, το Arduino (και η συνημμένη ασπίδα Ethernet) δεν λαμβάνει υπόψη το συμβάν. Αυτή είναι η στιγμή που πρέπει να πάω στη συγκεκριμένη τοποθεσία και να κάνω μη αυτόματη επαναφορά ολόκληρου του συστήματος.

Όταν η σύνδεση δεδομένων πέσει σε κάποια τοποθεσία, ήθελα να ειδοποιηθώ με email το συντομότερο δυνατό, ώστε να παρακολουθώ τη συγκεκριμένη τοποθεσία. Καθώς η επικοινωνία μεταξύ της εφαρμογής τηλεφώνου και του Arduino πραγματοποιείται μέσω μιας διαδικτυακής υπηρεσίας που παρέχεται από τη https://thingspeak.com, μέχρι πρόσφατα (και έως τις 31 Μαρτίου 2019), αυτό ήταν δυνατό με τη χρήση άλλης υπηρεσίας που παρέχεται από τη https:// ifttt.com/discover, και ορίζοντας ένα ThingHTTP και ένα React σε κάθε κανάλι, παρακολουθώντας το γεγονός εάν το συγκεκριμένο κανάλι δεν έχει ενημερωθεί εδώ και αρκετό καιρό. Ωστόσο, σύμφωνα με ένα μήνυμα ηλεκτρονικού ταχυδρομείου που έλαβα από την Google, από τις 31 Μαρτίου 2019, λόγω μη συμμόρφωσης με τις ενημερωμένες απαιτήσεις απορρήτου των δεδομένων τους (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), η πρόσβαση σε ορισμένα δεδομένα του λογαριασμού μου Google δεν θα είναι πλέον διαθέσιμη στο IFTTT, και όπως στην περίπτωσή μου το email ήταν ο μόνος πόρος στον οποίο είχε πρόσβαση το IFTTT, κατάλαβα ότι η ειδοποίηση η υπηρεσία που περιγράφεται παραπάνω θα σταματήσει να λειτουργεί.

Επομένως, εδώ, εφαρμόζουμε μια εναλλακτική λύση προκειμένου οι ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου να συνεχίζουν να φτάνουν όταν η σύνδεση δεδομένων στις τοποθεσίες μου πέσει. Αυτό εξακολουθεί να χρησιμοποιεί τις λειτουργίες ThingHTTP και React στα κανάλια μου, μόνο ο σύνδεσμος προς το IFTTT επανατοποθετήθηκε στο Google Drive. Έτσι, εκτός από το υλικό (Arduino στην περίπτωσή μου) που μπορεί να έχετε επικοινωνήσει με τον λογαριασμό σας στο ThingSpeak, θα χρειαστεί να δημιουργήσετε έναν λογαριασμό Google, ο οποίος σε περίπτωση που δεν τον έχετε ήδη… και ας ξεκινήσουμε!

Βήμα 1:

Εικόνα
Εικόνα

Στο Google Drive

Πρώτον, στο Google Drive (https://drive.google.com) πρέπει να δημιουργήσουμε ένα υπολογιστικό φύλλο και μια απλή φόρμα. Ανοίξτε το Google Drive και κάντε κλικ στο Νέο - Φύλλα Google - Κενό υπολογιστικό φύλλο.

Βήμα 2:

Εικόνα
Εικόνα

Μετονόμασα το δικό μου "Τοποθεσία κάτω από το υπολογιστικό φύλλο". Στη συνέχεια, μεταβείτε στα Εργαλεία - Δημιουργήστε μια φόρμα.

Βήμα 3:

Εικόνα
Εικόνα

Μετονόμασα τη φόρμα σε "Τοποθεσία κάτω φόρμας" και άλλαξα "Χωρίς τίτλο ερώτηση" σε "Κατάσταση" και τον τύπο από "Πολλαπλή επιλογή" σε "Σύντομη απάντηση".

Βήμα 4:

Εικόνα
Εικόνα

Στη συνέχεια κατάργησα την επιλογή συλλογής διευθύνσεων ηλεκτρονικού ταχυδρομείου - κάντε κλικ στην επιλογή "Αλλαγή ρυθμίσεων" και καταργήσα την επιλογή όλων των επιλογών στο παράθυρο που εμφανίστηκε. Κάντε κλικ στο "Αποθήκευση".

Βήμα 5:

Εικόνα
Εικόνα

Κλείστε την τρέχουσα καρτέλα του προγράμματος περιήγησης που περιέχει τη φόρμα σας και θα πρέπει να επιστρέψετε στην κύρια καρτέλα του Google Drive, όπου θα πρέπει να έχετε τόσο τη φόρμα όσο και το υπολογιστικό φύλλο που μόλις δημιουργήσατε. Ανοίξτε το υπολογιστικό φύλλο και μεταβείτε στο "Αρχείο - Κοινή χρήση …". Στο νέο παράθυρο κάντε κλικ στο "Advanced"

Βήμα 6:

Εικόνα
Εικόνα

Στη συνέχεια, κάντε κλικ στο "Αλλαγή …" δίπλα στην ετικέτα "Ιδιωτικό - Μόνο εσείς μπορείτε να έχετε πρόσβαση"

Βήμα 7:

Εικόνα
Εικόνα

και αλλάξτε σε "Ενεργό - Όποιος έχει το σύνδεσμο", και επίσης σε "Μπορεί να επεξεργαστεί"

Βήμα 8:

Εικόνα
Εικόνα

Κάντε κλικ στα "Αποθήκευση" και "Τέλος" για να επιστρέψετε στο υπολογιστικό φύλλο σας. Ενώ βρίσκεστε εκεί, κάντε κλικ στο "Αρχείο - Δημοσίευση στον ιστό …" και, στη συνέχεια, κάντε κλικ στο "Δημοσίευση" και "OK" για το παράθυρο διαλόγου. Κλείστε το παράθυρο "Δημοσίευση στον ιστό".

Ενώ είστε ακόμα στο υπολογιστικό φύλλο, κάντε κλικ στο "Φόρμα - Μετάβαση στη ζωντανή φόρμα". Κάντε δεξί κλικ με το ποντίκι σας (χρησιμοποιώ το πρόγραμμα περιήγησης Google Chrome) και επιλέξτε "Προβολή πηγής σελίδας".

Βήμα 9:

Εικόνα
Εικόνα

Στη νέα σελίδα που ανοίγει, αναζητήστε "φόρμα δράσης" και, στη συνέχεια, εντοπίστε τον σύνδεσμο που μοιάζει με https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse. Επιλέξτε αυτόν τον σύνδεσμο και αντιγράψτε και επικολλήστε τον σε κάποιο έγγραφο κειμένου. Θα το χρησιμοποιήσετε για να σχηματίσετε τον τελικό σύνδεσμο που πρέπει να εισαχθεί στο ThingHTTP για ThingSpeak.

Βήμα 10:

Εικόνα
Εικόνα

Επιστρέψτε στην προβολή προέλευσης της φόρμας σας και αναζητήστε τώρα "καταχώριση". Εντοπίστε και επιλέξτε ολόκληρο το κείμενο, κάτι σαν "entry. XXXXX". Αντιγράψτε και επικολλήστε το στο ίδιο έγγραφο κειμένου με το παραπάνω. Τώρα μπορείτε να κλείσετε την προβολή προέλευσης της φόρμας Google.

Βήμα 11:

Εικόνα
Εικόνα

Στο νέο έγγραφο κειμένου (όπου έχετε τώρα τον σύνδεσμο και την καταχώριση που επικολλήσαμε πριν), δημιουργήστε τον τελικό σύνδεσμο, ο οποίος θα πρέπει να μοιάζει με

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = ΤΟΠΟΘΕΣΙΑ+ΟΝΟΜΑ & υποβολή = Υποβολή

Στην περίπτωσή μου, το "LOCATION+NAME" θα αντικατασταθεί από το πραγματικό όνομα κάθε συγκεκριμένης τοποθεσίας που πρέπει να παρακολουθήσω. Το μήνυμα ηλεκτρονικού ταχυδρομείου ειδοποίησης ηλεκτρονικού ταχυδρομείου που θα λάβω όταν διακοπεί η σύνδεση θα περιέχει αυτό το κείμενο, ώστε να γνωρίζω ακριβώς ποια τοποθεσία έχει προβλήματα. Αυτό το κείμενο θα υποβληθεί στην πραγματικότητα ως περιεχόμενο σύντομου κειμένου για το πεδίο "κατάσταση" στη φόρμα Google. Το "& υποβολή = Υποβολή" θα υποβάλει σιωπηλά τη φόρμα, χωρίς να χρειάζεται περαιτέρω ενέργειες, όταν επικαλεστεί το ThingHTTP και το React.

Τέλος, πρέπει να προσθέσουμε ένα σενάριο που θα στέλνει αυτόματα μια ειδοποίηση ηλεκτρονικού ταχυδρομείου κάθε φορά που προστέθηκε μια νέα καταχώριση στο υπολογιστικό φύλλο. Ανοίξτε το υπολογιστικό φύλλο και, στη συνέχεια, κάντε κλικ στο "Εργαλεία - πρόγραμμα επεξεργασίας σεναρίων". Στο νέο παράθυρο που ανοίγει προσθέστε τον ακόλουθο κώδικα (με τις απαιτούμενες αλλαγές για να αντικατοπτρίζουν τις ανάγκες σας):

λειτουργία newEntryNotification (e)

{

προσπαθήστε

{

var timestamp = e.values [0];

var τοποθεσία = e.τιμές [1];

var message = location + 'location is DOWN / n' + timestamp?

MailApp.sendEmail ("YOUR EMAIL ADDRESS", "Προσοχή, τοποθεσία ΚΑΤΩ!", Μήνυμα);

}

πιάσε (ε)

{

MailApp.sendEmail ("Η ΔΙΕΥΘΥΝΣΗ EMAIL ΣΑΣ", "Σφάλμα - Προσοχή, τοποθεσία ΚΑΤΩ!", E.message);

}

}

Αντικαταστήστε το κείμενο "Η ΔΙΕΥΘΥΝΣΗ EMAIL ΣΑΣ" με τη διεύθυνση ηλεκτρονικού ταχυδρομείου στην οποία πρέπει να αποσταλεί η ειδοποίηση και το πραγματικό μήνυμα ειδοποίησης, εάν το επιθυμείτε.

Βήμα 12:

Εικόνα
Εικόνα

Αυτό το σενάριο πρέπει να ενεργοποιηθεί όταν προστέθηκε μια νέα καταχώριση στο υπολογιστικό φύλλο. Ενώ βρίσκεστε στο ίδιο παράθυρο (με τον κωδικό δέσμης ενεργειών παραπάνω), κάντε κλικ στο εικονίδιο "χρονόμετρο" στη γραμμή εργαλείων - "Ενεργοποιητές τρέχοντος έργου". Θα σας ζητηθεί να ονομάσετε το έργο σας (ονόμασα το δικό μου "locationDown") και θα ανοίξει μια άλλη καρτέλα προγράμματος περιήγησης, αναφέροντας ότι δεν βρέθηκαν αποτελέσματα (κανένας κανόνας ενεργοποίησης). Κάντε κλικ στο "δημιουργία νέας σκανδάλης".

Βήμα 13:

Εικόνα
Εικόνα

Στο νέο παράθυρο, επιλέξτε "Από υπολογιστικό φύλλο" για "Επιλογή πηγής συμβάντος". "Υποβολή φόρμας" για "Επιλογή τύπου συμβάντος". "Ειδοποίηση αμέσως" για "Αποτυχία ρυθμίσεων ειδοποίησης". Κάντε κλικ στο "Αποθήκευση". Θα σας ζητηθεί να συνδεθείτε στον Λογαριασμό σας Google και να "Επιτρέψετε" να ενεργοποιηθεί η πρόσβαση στον λογαριασμό σας όταν απαιτείται.

Βήμα 14:

Εικόνα
Εικόνα

Θα πρέπει τώρα να έχετε ένα έναυσμα στη λίστα ενεργοποιήσεων, το οποίο θα συνδεθεί με το σενάριο που δημιουργήσαμε προηγουμένως. Επομένως, με την εισαγωγή νέων δεδομένων στο υπολογιστικό φύλλο (χρησιμοποιώντας τον αυτοματοποιημένο σύνδεσμο φόρμας και τη σιωπηλή μέθοδο που περιγράφεται παραπάνω), ο κανόνας ενεργοποίησης θα καλέσει αμέσως το σενάριο, το οποίο θα στείλει μια ειδοποίηση στην παρεχόμενη διεύθυνση ηλεκτρονικού ταχυδρομείου, που περιέχει το επιλεγμένο μήνυμα.

Τελειώσαμε στην πλευρά του Google Drive και μεταβαίνουμε τώρα στο ThingSpeak.

Βήμα 15:

Εικόνα
Εικόνα

Στο ThingSpeak Συνδεθείτε στον λογαριασμό σας (https://thingspeak.com/login), μεταβείτε στο "Apps - ThingHTTP" και, στη συνέχεια, κάντε κλικ στο "New ThingHTTP". Δώστε ένα όνομα (έχω επιλέξει το πραγματικό όνομα κάθε τοποθεσίας, "MyLocationName" για τους σκοπούς αυτού του σεμιναρίου) και στο πεδίο "URL", επικολλήστε τον σύνδεσμο από το αρχείο κειμένου σας, αυτό που μοιάζει

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = ΤΟΠΟΘΕΣΙΑ+ΟΝΟΜΑ & υποβολή = Υποβολή

Αφήστε όλα τα άλλα πεδία όπως είναι και κάντε κλικ στο "Save ThingHTTP".

Βήμα 16:

Εικόνα
Εικόνα

Στη συνέχεια, μεταβείτε στην επιλογή "Εφαρμογές - React" και κάντε κλικ στο "New React". Δώστε του ένα όνομα (πάλι, έχω επιλέξει το όνομα τοποθεσίας ακολουθούμενο από τη λέξη "αντιδρώ", αλλά μπορείτε να επιλέξετε όποιο όνομα θέλετε). "Χωρίς έλεγχο δεδομένων" για "Τύπος κατάστασης". "Κάθε 10 λεπτά" για "Συχνότητα δοκιμής". το όνομα του καναλιού που θέλετε να παρακολουθείτε για ενημερώσεις, για το "If Channel". η ώρα που το κανάλι δεν έχει ενημερωθεί (έχω επιλέξει 15 λεπτά), για "δεν έχει ενημερωθεί για" "ThingHTTP" για "Action"? "MyLocationName" for "then perform ThingHTTP"? "Εκτέλεση ενέργειας μόνο την πρώτη φορά που πληρούται η προϋπόθεση", καθώς θέλω να λάβω ειδοποίηση μόνο μία φορά. Αυτό θα επαναφερθεί όταν το κανάλι ενημερωθεί ξανά με νέα εισερχόμενα δεδομένα. Κάντε κλικ στο "Save React" και τελειώσατε.

Στο εξής, όταν το κανάλι σας δεν έχει ενημερωθεί για 15 λεπτά (ή άλλη φορά, ανάλογα με το τι έχετε επιλέξει), το React θα πιάσει αυτήν την εξαίρεση που θα ενεργοποιήσει το ThingHTTP, το οποίο με τη σειρά του θα δημιουργήσει σιωπηλά μια νέα καταχώρηση στο υπολογιστικό φύλλο. Το Trigger και το σενάριο στο Google Spreadsheet θα το πάρουν από εκεί, όπως εξηγήθηκε παραπάνω.

Συνιστάται: