Σύστημα παρακολούθησης εσωτερικού κλίματος εσωτερικού χώρου Raspberry Pi: 6 βήματα
Σύστημα παρακολούθησης εσωτερικού κλίματος εσωτερικού χώρου Raspberry Pi: 6 βήματα
Anonim
Σύστημα παρακολούθησης εσωτερικού κλίματος με βάση Raspberry Pi
Σύστημα παρακολούθησης εσωτερικού κλίματος με βάση Raspberry Pi

Διαβάστε αυτό το ιστολόγιο και δημιουργήστε το δικό σας σύστημα, ώστε να μπορείτε να λαμβάνετε ειδοποιήσεις όταν το δωμάτιό σας είναι πολύ στεγνό ή υγρό.

Τι είναι ένα σύστημα παρακολούθησης του κλίματος σε εσωτερικούς χώρους και γιατί το χρειαζόμαστε;

Τα συστήματα παρακολούθησης εσωτερικού κλίματος παρέχουν μια γρήγορη ματιά στα βασικά στατιστικά στοιχεία που σχετίζονται με το κλίμα, όπως η θερμοκρασία και η σχετική υγρασία. Το να βλέπετε αυτά τα στατιστικά και να λαμβάνετε ειδοποιήσεις στο τηλέφωνό σας όταν το δωμάτιο είναι πολύ υγρό ή στεγνό μπορεί να σας βοηθήσει πολύ. Χρησιμοποιώντας τις ειδοποιήσεις, μπορείτε να λάβετε γρήγορα τις απαραίτητες ενέργειες για να επιτύχετε τη μέγιστη άνεση στο δωμάτιο ενεργοποιώντας τη θερμάστρα ή ανοίγοντας τα παράθυρα. Σε αυτό το έργο, θα δούμε πώς να χρησιμοποιούμε το Simulink για:

1) εισάγετε στατιστικά στοιχεία για το κλίμα (θερμοκρασία, σχετική υγρασία και πίεση) από το Sense HAT στο Raspberry Pi

2) εμφανίστε μετρημένα δεδομένα στη μήτρα LED 8x8 του Sense HAT

3) σχεδιάστε έναν αλγόριθμο για να αποφασίσετε εάν η υγρασία στο εσωτερικό είναι «καλή», «κακή» ή «άσχημη».

4) καταγράψτε τα δεδομένα στο σύννεφο και στείλτε μια ειδοποίηση εάν τα δεδομένα κατηγοριοποιηθούν ως «Άσχημο» (πολύ υγρό ή ξηρό).

Προμήθειες

Raspberry Pi 3 Μοντέλο Β

Raspberry Pi Sense HAT

Βήμα 1: Απαιτείται λογισμικό

Απαιτείται λογισμικό
Απαιτείται λογισμικό

Χρειάζεστε MATLAB, Simulink και επιλέξτε Πρόσθετα για να ακολουθήσετε και να δημιουργήσετε το δικό σας εσωτερικό σύστημα παρακολούθησης του κλίματος.

Ανοίξτε το MATLAB με πρόσβαση διαχειριστή (κάντε δεξί κλικ στο εικονίδιο MATLAB και επιλέξτε Εκτέλεση ως διαχειριστής). Επιλέξτε Πρόσθετα από τη γραμμή εργαλείων MATLAB και κάντε κλικ στο Λήψη πρόσθετων.

Αναζητήστε εδώ τα πακέτα υποστήριξης με τα ονόματά τους που αναφέρονται παρακάτω και «Προσθέστε» τα.

ένα. Πακέτο υποστήριξης MATLAB για υλικό Raspberry Pi: Αποκτήστε εισόδους και στείλτε εξόδους σε πίνακες Raspberry Pi και συνδεδεμένες συσκευές

σι. Πακέτο υποστήριξης Simulink για υλικό Raspberry Pi: Εκτελέστε μοντέλα Simulink σε πίνακες Raspberry Pi

ντο. RPi_Indoor_Climate_Monitoring_System: Παραδείγματα μοντέλων που απαιτούνται για αυτό το έργο

Σημείωση - Κατά την εγκατάσταση, ακολουθήστε τις οδηγίες στην οθόνη για να ρυθμίσετε το Pi σας να λειτουργεί με MATLAB και Simulink.

Βήμα 2: Φέρτε δεδομένα αισθητήρα στο Raspberry Pi χρησιμοποιώντας το Simulink

Φέρτε δεδομένα αισθητήρα στο Raspberry Pi χρησιμοποιώντας το Simulink
Φέρτε δεδομένα αισθητήρα στο Raspberry Pi χρησιμοποιώντας το Simulink

Για όσους δεν είναι εξοικειωμένοι με το Simulink, είναι ένα γραφικό περιβάλλον προγραμματισμού που χρησιμοποιείται για την μοντελοποίηση και προσομοίωση δυναμικών συστημάτων. Αφού σχεδιάσετε τον αλγόριθμό σας στο Simulink, μπορείτε να δημιουργήσετε αυτόματα κώδικα και να τον ενσωματώσετε σε ένα Raspberry Pi ή άλλο υλικό.

Πληκτρολογήστε τα ακόλουθα στο παράθυρο εντολών MATLAB για να ανοίξετε το πρώτο παράδειγμα μοντέλου. Θα χρησιμοποιήσουμε αυτό το μοντέλο για να φέρουμε δεδομένα θερμοκρασίας, πίεσης και σχετικής υγρασίας στο Raspberry Pi.

> rpiSenseHatBringSensorData

Τα μπλοκ LPS25H Pressure Sensor και HTS221 Humidity Sensor προέρχονται από τη βιβλιοθήκη Sense HAT στο Simulink Support Package για βιβλιοθήκες υλικού Raspberry Pi.

Τα μπλοκ εμβέλειας προέρχονται από τη βιβλιοθήκη Sinks κάτω από τις βιβλιοθήκες Simulink. Για να διασφαλίσετε ότι το μοντέλο σας έχει ρυθμιστεί σωστά, κάντε κλικ στο εικονίδιο με το γρανάζι στο μοντέλο Simulink. Μεταβείτε στην επιλογή Υλοποίηση υλικού> Ρυθμίσεις πλακέτας υλικού> Στόχευση πόρων υλικού.

Σημείωση - Δεν χρειάζεται να διαμορφώσετε εάν ακολουθήσατε τις οδηγίες εγκατάστασης κατά την εγκατάσταση του πακέτου υποστήριξης Simulink για το Raspberry Pi. Η διεύθυνση της συσκευής συμπληρώνεται αυτόματα σε αυτήν του Pi σας.

Βεβαιωθείτε ότι η διεύθυνση της συσκευής εδώ ταιριάζει με τη διεύθυνση IP που ακούτε κατά την εκκίνηση του Pi σας. Youσως χρειαστεί να τροφοδοτήσετε ξανά το Pi σας με ακουστικά συνδεδεμένα στην υποδοχή για να ακούσετε τη διεύθυνση της συσκευής.

Κάντε κλικ στο OK και πατήστε το κουμπί Εκτέλεση όπως φαίνεται παρακάτω. Βεβαιωθείτε ότι το Pi σας είναι είτε φυσικά συνδεδεμένο στον υπολογιστή μέσω καλωδίου USB είτε είναι στο ίδιο δίκτυο Wi-Fi με τον υπολογιστή σας.

Όταν πατάτε το κουμπί Εκτέλεση σε εξωτερική λειτουργία, το Simulink δημιουργεί αυτόματα τον κωδικό C ισοδύναμο με το μοντέλο σας και πραγματοποιεί λήψη ενός εκτελέσιμου στο Raspberry Pi. Και τα δύο μπλοκ εμβέλειας έχουν ρυθμιστεί για να ανοίγουν μόλις αρχίσει να λειτουργεί το μοντέλο. Όταν το Simulink τελειώσει με την ανάπτυξη του κώδικα στο Raspberry Pi, θα δείτε τα δεδομένα πίεσης, θερμοκρασίας και σχετικής υγρασίας στα πεδία όπως φαίνεται παρακάτω.

Σημείωση - Ο κώδικας εκτελείται στο Raspberry Pi και βλέπετε τα πραγματικά σήματα μέσω των μπλοκ εμβέλειας Simulink, όπως ακριβώς θα κάνατε εάν είχατε έναν παλμογράφο συνδεδεμένο στο ίδιο το υλικό. Η τιμή θερμοκρασίας από τους δύο αισθητήρες είναι ελαφρώς μακριά ο ένας από τον άλλο. Μη διστάσετε να επιλέξετε αυτήν που αντανακλά την πραγματική θερμοκρασία στο δωμάτιό σας και χρησιμοποιήστε την σε επόμενες ενότητες. Σε όλες τις δοκιμές με το Sense HAT που είχαμε, οι τιμές θερμοκρασίας του αισθητήρα υγρασίας του HTS221 ήταν πιο κοντά στην πραγματική θερμοκρασία στο δωμάτιο. Με αυτό είδαμε τα βασικά για το πώς να εισάγουμε δεδομένα αισθητήρων από το Sense HAT στο Raspberry Pi.

Βήμα 3: Εμφάνιση δεδομένων αισθητήρα στη μήτρα LED 8x8

Εμφάνιση δεδομένων αισθητήρα στη μήτρα LED 8x8
Εμφάνιση δεδομένων αισθητήρα στη μήτρα LED 8x8
Εμφάνιση δεδομένων αισθητήρα στη μήτρα LED 8x8
Εμφάνιση δεδομένων αισθητήρα στη μήτρα LED 8x8

Σε αυτήν την ενότητα, θα δούμε πώς προστέθηκε το τμήμα οπτικής εμφάνισης αυτού του έργου στο τελευταίο μοντέλο. Τα στοιχεία Sense HAT που χρησιμοποιούνται σε αυτήν την ενότητα είναι ο αισθητήρας υγρασίας (για λήψη σχετικής υγρασίας και θερμοκρασίας), αισθητήρας πίεσης, μήτρα LED και χειριστήριο. Το joystick χρησιμοποιείται για την επιλογή του αισθητήρα που θέλουμε να εμφανιστεί.

Για να ανοίξετε το επόμενο παράδειγμα μοντέλου, πληκτρολογήστε τα ακόλουθα στο παράθυρο εντολών MATLAB.

> rpiSenseHatDisplay

Το μπλοκ Joystick προέρχεται από τη βιβλιοθήκη Sense HAT. Μας βοηθά να φέρουμε τα δεδομένα του joystick στο Raspberry Pi, όπως ακριβώς έκαναν τα μπλοκ αισθητήρων πίεσης και υγρασίας στο προηγούμενο παράδειγμα. Προς το παρόν, χρησιμοποιούμε το μπλοκ Test Comfort για να εμφανίσουμε «καλή» (όταν η τιμή του μπλοκ είναι 1) στη μήτρα LED. Θα εμφανιστεί "κακό" όταν η τιμή μπλοκ είναι 2 ή "άσχημη" όταν η τιμή είναι 3 ή 4. Στην επόμενη ενότητα, θα δούμε τον πραγματικό αλγόριθμο που αποφασίζει εάν η υγρασία εσωτερικού χώρου είναι καλή, κακή ή άσχημη. Ας εξερευνήσουμε το μπλοκ Selector κάνοντας διπλό κλικ πάνω του. Τα μπλοκ συνάρτησης MATLAB χρησιμοποιούνται για την ενσωμάτωση του κώδικα MATLAB στο μοντέλο Simulink. Σε αυτήν την περίπτωση φέρνουμε το SelectorFcn που δίνεται παρακάτω.

λειτουργία [τιμή, κατάσταση] = SelectorFcn (JoyStickIn, πίεση, υγρασία, θερμοκρασία, ihval)

επίμονο JoyStickCount

εάν είναι άστατος (JoyStickCount)

JoyStickCount = 1;

τέλος

αν JoyStickIn == 1

JoyStickCount = JoyStickCount + 1;

αν JoyStickCount == 6

JoyStickCount = 1;

τέλος

τέλος

διακόπτης JoyStickCount

θήκη 1 % Θερμοκρασία οθόνης σε C

τιμή = θερμοκρασία?

Κατάσταση = 1;

θήκη 2 % Πίεση οθόνης σε atm

τιμή = πίεση/1013.25;

Κατάσταση = 2;

θήκη 3 % Εμφάνιση σχετικής υγρασίας σε %

τιμή = υγρασία?

Κατάσταση = 3;

θήκη 4 % Θερμοκρασία οθόνης σε F

τιμή = temp*(9/5) +32;

Κατάσταση = 4;

θήκη 5 % Οθόνη καλή/κακή/άσχημη

τιμή = ihval;

Κατάσταση = 5;

αλλιώς % Μην εμφανίζεται/Εμφάνιση 0

τιμή = 0;

Κατάσταση = 6;

τέλος

Οι δηλώσεις εναλλακτικών περιπτώσεων χρησιμοποιούνται γενικά ως μηχανισμός ελέγχου επιλογής. Στην περίπτωσή μας, θέλουμε το χειριστήριο να είναι το στοιχείο ελέγχου επιλογής και να επιλέγουμε τα επόμενα δεδομένα που θα εμφανίζονται κάθε φορά που πατάμε το κουμπί του χειριστηρίου. Για αυτό, δημιουργούμε έναν βρόχο if που αυξάνει τη μεταβλητή JoyStickCount με κάθε πάτημα κουμπιού (η τιμή του JoyStickIn είναι 1 αν υπάρχει πάτημα ενός κουμπιού). Στον ίδιο βρόχο, για να διασφαλίσουμε ότι κάνουμε μόνο ποδήλατο μεταξύ των πέντε επιλογών που δόθηκαν παραπάνω, προσθέσαμε μια άλλη συνθήκη που επαναφέρει τη μεταβλητή τιμή στο 1. Χρησιμοποιώντας αυτό, επιλέγουμε ποια τιμή θα εμφανίζεται στη μήτρα LED. Η περίπτωση 1 θα είναι η προεπιλεγμένη, όπως ορίζουμε το JoyStickCount να ξεκινά από το 1, και αυτό σημαίνει ότι η μήτρα LED θα εμφανίζει τη θερμοκρασία σε Κελσίου. Η μεταβλητή κατάστασης χρησιμοποιείται από το μπλοκ δεδομένων κύλισης για να καταλάβει ποια τιμή αισθητήρα εμφανίζεται αυτήν τη στιγμή και ποια μονάδα πρέπει να εμφανιστεί. Τώρα που γνωρίζουμε πώς να επιλέξουμε τον σωστό αισθητήρα για εμφάνιση, ας δούμε πώς λειτουργεί η πραγματική οθόνη.

Εμφάνιση χαρακτήρων και αριθμών

Για προβολή στη μήτρα LED Sense HAT, δημιουργήσαμε πίνακες 8x8 για:

1) όλοι οι αριθμοί (0-9)

2) όλες οι μονάδες (° C, A, % και ° F)

3) δεκαδικό ψηφίο

4) αλφάβητα από τις λέξεις καλό, κακό και άσχημο.

Αυτοί οι πίνακες 8x8 χρησιμοποιήθηκαν ως είσοδος στο μπλοκ μήτρας LED RX 8x8. Αυτό το μπλοκ ανάβει τα LED που αντιστοιχούν σε εκείνα τα στοιχεία στη μήτρα που έχουν τιμή 1 όπως φαίνεται παρακάτω.

Κύλιση του κειμένου

Το μπλοκ δεδομένων κύλισης στο μοντέλο μας μετακινείται σε συμβολοσειρές που μπορούν να έχουν μήκος έως 6 χαρακτήρες. Η τιμή 6 επιλέχθηκε καθώς αυτή είναι η μεγαλύτερη συμβολοσειρά που θα βγάλουμε σε αυτό το έργο, παράδειγμα 23,8 ° C ή 99,1 ° F. Σημείωση, εδώ ° C θεωρείται ένας χαρακτήρας. Η ίδια ιδέα μπορεί να επεκταθεί και σε χορδές κύλισης άλλων μηκών.

Εδώ είναι ένα-g.webp

www.element14.com/community/videos/29400/l/gif

Για να εμφανίσετε μια συμβολοσειρά 6 χαρακτήρων το καθένα στη μήτρα 8x8, χρειαζόμαστε μια εικόνα συνολικού μεγέθους 8x48. Για να εμφανίσουμε μια συμβολοσειρά μήκους έως 4 χαρακτήρων, θα χρειαστεί να δημιουργήσουμε έναν πίνακα 8x32. Τώρα ας δούμε ολόκληρη την απραξία πατώντας το κουμπί Εκτέλεση. Η προεπιλεγμένη οθόνη στη μήτρα LED είναι η τιμή θερμοκρασίας σε ° C. Το μπλοκ πεδίου εμφανίζει την κατάσταση και την τιμή από το μπλοκ επιλογέα. Πατήστε το κουμπί του χειριστηρίου στο Sense HAT και κρατήστε το για ένα δευτερόλεπτο για να επαληθεύσετε ότι η τιμή αλλάζει στην επόμενη έξοδο του αισθητήρα και επαναλάβετε αυτήν τη διαδικασία μέχρι να φτάσει την τιμή της κατάστασης 5. αλλάξτε την τιμή του μπλοκ Test Comfort σε οποιονδήποτε αριθμό μεταξύ 1 έως 4. Παρατηρήστε πώς η αλλαγή της τιμής ενός μπλοκ στο μοντέλο Simulink αλλάζει αμέσως τον τρόπο συμπεριφοράς του κώδικα στο υλικό. Αυτό μπορεί να είναι χρήσιμο σε καταστάσεις όπου κάποιος θέλει να αλλάξει τον τρόπο συμπεριφοράς του κώδικα από μια απομακρυσμένη τοποθεσία. Με αυτό είδαμε τα βασικά στοιχεία πίσω από την οπτική όψη του συστήματος παρακολούθησης του κλίματος. Στην επόμενη ενότητα θα μάθουμε πώς να ολοκληρώσουμε το εσωτερικό σύστημα παρακολούθησης του κλίματος.

Βήμα 4: Σχεδιάστε έναν αλγόριθμο στο Simulink για να αποφασίσετε εάν η υγρασία εσωτερικού χώρου είναι «καλή», «κακή» ή «άσχημη»

Σχεδιάστε έναν αλγόριθμο στο Simulink για να αποφασίσετε εάν η υγρασία εσωτερικού χώρου είναι «καλή», «κακή» ή «άσχημη»
Σχεδιάστε έναν αλγόριθμο στο Simulink για να αποφασίσετε εάν η υγρασία εσωτερικού χώρου είναι «καλή», «κακή» ή «άσχημη»

Για να καταλάβετε εάν το δωμάτιό σας είναι πολύ υγρό/ξηρό ή για να γνωρίζετε ποιο επίπεδο υγρασίας στο εσωτερικό θεωρείται άνετο, υπάρχουν διάφορες μέθοδοι. Χρησιμοποιώντας αυτό το άρθρο, δημιουργήσαμε μια καμπύλη περιοχής για τη σύνδεση της σχετικής υγρασίας εσωτερικών χώρων και των εξωτερικών θερμοκρασιών, όπως φαίνεται παραπάνω.

Οποιαδήποτε τιμή σχετικής υγρασίας σε αυτόν τον τομέα, σημαίνει ότι το δωμάτιό σας βρίσκεται σε ένα άνετο περιβάλλον. Για παράδειγμα, εάν η εξωτερική θερμοκρασία είναι -30 ° F, τότε οποιαδήποτε τιμή σχετικής υγρασίας κάτω από 15% είναι αποδεκτή. Ομοίως, εάν η εξωτερική θερμοκρασία είναι 60 ° F, τότε οποιαδήποτε σχετική υγρασία κάτω από 50% είναι αποδεκτή. Για να κατηγοριοποιήσετε την υγρασία εσωτερικού χώρου σε μέγιστη άνεση (καλή), μέση άνεση (κακή) ή πολύ υγρή/ξηρή (άσχημη), χρειάζεστε εξωτερική θερμοκρασία και σχετική υγρασία. Είδαμε πώς να εισάγουμε σχετική υγρασία στο Raspberry Pi. Έτσι, ας επικεντρωθούμε στην αύξηση της εξωτερικής θερμοκρασίας. Πληκτρολογήστε τα ακόλουθα στο παράθυρο εντολών MATLAB για να ανοίξετε το μοντέλο:

> rpiOutdoorWeatherData

Το μπλοκ WeatherData χρησιμοποιείται για να φέρει την εξωτερική θερμοκρασία της πόλης σας (σε Κ) χρησιμοποιώντας το https://openweathermap.org/. Για να διαμορφώσετε αυτό το μπλοκ, χρειάζεστε ένα κλειδί API από τον ιστότοπο. Αφού δημιουργήσετε τον δωρεάν λογαριασμό σας σε αυτόν τον ιστότοπο, μεταβείτε στη σελίδα του λογαριασμού σας. Η καρτέλα κλειδιών API που φαίνεται παρακάτω σας δίνει το κλειδί.

Το μπλοκ WeatherData χρειάζεται την εισαγωγή του ονόματος της πόλης σας σε συγκεκριμένη μορφή. Επισκεφτείτε αυτήν τη σελίδα και εισαγάγετε το όνομα της πόλης σας και μετά το σύμβολο κόμμα και 2 γράμματα για να δηλώσετε τη χώρα. Παραδείγματα - Natick, ΗΠΑ και Chennai, IN. Εάν η αναζήτηση επιστρέψει ένα αποτέλεσμα για την πόλη σας, χρησιμοποιήστε το στο μπλοκ WeatherData σε αυτήν τη συγκεκριμένη μορφή. Σε περίπτωση που η πόλη σας δεν είναι διαθέσιμη, χρησιμοποιήστε μια γειτονική πόλη της οποίας οι καιρικές συνθήκες είναι πιο κοντά στη δική σας. Τώρα κάντε διπλό κλικ στο μπλοκ WeatherData και εισαγάγετε το όνομα της πόλης σας και το κλειδί API από τον ιστότοπο.

Πατήστε Εκτέλεση σε αυτό το μοντέλο Simulink για να ελέγξετε ότι το μπλοκ μπορεί να φέρει τη θερμοκρασία της πόλης σας στο Raspberry Pi. Τώρα ας δούμε τον αλγόριθμο που αποφασίζει εάν η υγρασία στο εσωτερικό είναι καλή, κακή ή άσχημη. Πληκτρολογήστε τα ακόλουθα στο παράθυρο εντολών MATLAB για να ανοίξετε το επόμενο παράδειγμα:

> rpisenseHatIHval

Mightσως έχετε παρατηρήσει ότι το μπλοκ Test Comfort από το προηγούμενο μοντέλο λείπει και ένα νέο μπλοκ που ονομάζεται FindRoom Comfort παρέχει το ihval στο μπλοκ επιλογέα. Κάντε διπλό κλικ σε αυτό το μπλοκ για να ανοίξετε και να εξερευνήσετε.

Χρησιμοποιούμε το μπλοκ WeatherData για να φέρουμε εξωτερική θερμοκρασία. Το υποσύστημα Όρια υγρασίας αντιπροσωπεύει το διάγραμμα σχετικής υγρασίας έναντι εξωτερικής θερμοκρασίας που είδαμε παραπάνω. Ανάλογα με την εξωτερική θερμοκρασία, θα παράγει ποια θα πρέπει να είναι η μέγιστη οριακή τιμή υγρασίας. Ας ανοίξουμε το μπλοκ συνάρτησης DecideIH MATLAB κάνοντας διπλό κλικ σε αυτό.

Εάν η τιμή της σχετικής υγρασίας υπερβεί το μέγιστο όριο υγρασίας, τότε το πρόσημο θα είναι θετικό με βάση τον τρόπο που αφαιρούμε τα δεδομένα, υπονοώντας ότι το δωμάτιο είναι πολύ υγρό. Βγάζουμε ένα 3 (άσχημο) για αυτό το σενάριο. Ο λόγος πίσω από τη χρήση αριθμών αντί για συμβολοσειρές είναι ότι είναι εύκολο να εμφανιστεί σε γραφήματα και να δημιουργηθούν ειδοποιήσεις από. Οι υπόλοιπες ταξινομήσεις στη συνάρτηση MATLAB βασίζονται σε αυθαίρετα κριτήρια που καταλήξαμε. Όταν η διαφορά είναι μικρότερη από 10 κατηγοριοποιείται η μέγιστη άνεση και όταν είναι μικρότερη από 20 είναι η μέση άνεση και πάνω από αυτό είναι πολύ ξηρό. Μη διστάσετε να χρησιμοποιήσετε αυτό το μοντέλο και ελέγξτε το επίπεδο άνεσης του δωματίου σας.

Βήμα 5: Καταγράψτε δεδομένα εσωτερικού κλίματος και τα κατηγοριοποιημένα δεδομένα στο σύννεφο

Καταγράψτε δεδομένα εσωτερικού κλίματος και τα κατηγοριοποιημένα δεδομένα στο σύννεφο
Καταγράψτε δεδομένα εσωτερικού κλίματος και τα κατηγοριοποιημένα δεδομένα στο σύννεφο

Σε αυτήν την επόμενη ενότητα θα δούμε πώς να καταγράφετε δεδομένα στο cloud. Για να ανοίξετε αυτό το παράδειγμα, πληκτρολογήστε τα ακόλουθα στο παράθυρο εντολών MATLAB.

> rpiSenseHatLogData

Σε αυτό το μοντέλο, το τμήμα εμφάνισης του προηγούμενου παραδείγματος μοντέλου αφαιρείται σκόπιμα, καθώς δεν χρειάζεται το σύστημα παρακολούθησης να δείχνει τα στατιστικά στοιχεία κατά την καταγραφή δεδομένων και την αποστολή ειδοποιήσεων. Χρησιμοποιούμε το ThingSpeak, μια δωρεάν πλατφόρμα ανοιχτού κώδικα IoT που περιλαμβάνει αναλύσεις MATLAB, για την πτυχή της καταγραφής δεδομένων. Επιλέξαμε το ThingSpeak αφού υπάρχουν άμεσοι τρόποι προγραμματισμού του Raspberry Pi και άλλων πλακέτων υλικού χαμηλού κόστους για την αποστολή δεδομένων στο ThingSpeak χρησιμοποιώντας το Simulink. Το μπλοκ ThingSpeak Write προέρχεται από το πακέτο υποστήριξης Simulink για τη βιβλιοθήκη υλικού Raspberry Pi και μπορεί να διαμορφωθεί χρησιμοποιώντας το Κλειδί εγγραφής API από το κανάλι σας ThingSpeak. Αναλυτικές οδηγίες για τον τρόπο δημιουργίας του καναλιού παρέχονται παρακάτω. Για να καταγράφετε συνεχώς δεδομένα στο cloud, θέλετε το Pi σας να λειτουργεί ανεξάρτητα από το Simulink. Για αυτό, μπορείτε να πατήσετε το κουμπί "Ανάπτυξη σε υλικό" στο μοντέλο Simulink.

Δημιουργήστε το δικό σας κανάλι ThingSpeak

Όσοι δεν έχουν λογαριασμό μπορούν να εγγραφούν στον ιστότοπο ThingSpeak. Εάν διαθέτετε λογαριασμό MathWorks, τότε έχετε αυτόματα λογαριασμό ThingSpeak.

  • Αφού συνδεθείτε, μπορείτε να δημιουργήσετε ένα κανάλι μεταβαίνοντας στα Κανάλια> Τα Κανάλια μου και κάνοντας κλικ στο Νέο κανάλι.
  • Το μόνο που χρειάζεστε είναι ένα όνομα για το κανάλι και ονόματα για τα πεδία στα οποία πρόκειται να συνδεθείτε, όπως φαίνεται παρακάτω.
  • Η επιλογή Εμφάνιση τοποθεσίας καναλιού χρειάζεται το γεωγραφικό πλάτος και το γεωγραφικό μήκος της πόλης σας ως είσοδο και μπορεί να εμφανίσει την τοποθεσία μέσα στο κανάλι σε έναν χάρτη. (Οι παραδειγματικές τιμές που χρησιμοποιούνται εδώ είναι για Natick, MA)
  • Στη συνέχεια, πατήστε Αποθήκευση καναλιού για να ολοκληρώσετε τη δημιουργία του καναλιού σας.

4α Ειδοποίηση εάν τα δεδομένα κατηγοριοποιούνται «Άσχημα»

Για να ολοκληρώσουμε το εσωτερικό σύστημα παρακολούθησης του κλίματος, πρέπει να δούμε πώς να λαμβάνουμε ειδοποιήσεις με βάση τα δεδομένα του cloud. Αυτό είναι κρίσιμο γιατί, χωρίς αυτό δεν θα μπορείτε να κάνετε τις απαραίτητες ενέργειες για να αλλάξετε το επίπεδο άνεσης στο δωμάτιο. Σε αυτήν την ενότητα, θα δούμε πώς να λαμβάνετε μια ειδοποίηση στο τηλέφωνό σας κάθε φορά που τα δεδομένα σύννεφων υποδεικνύουν ότι το δωμάτιο είναι πολύ υγρό ή στεγνό. Αυτό θα το πετύχουμε χρησιμοποιώντας δύο υπηρεσίες: το IFTTT Webhooks και το ThingSpeak TimeControl. Το IFTTT (σημαίνει Αν αυτό, τότε αυτό) είναι μια διαδικτυακή υπηρεσία που μπορεί να χειριστεί συμβάντα και να ενεργοποιήσει ενέργειες με βάση τα συμβάντα.

Βήματα για τη ρύθμιση των διαδικτυακών γάντζων IFTTT

Σημείωση: Δοκιμάστε αυτά στον υπολογιστή για καλύτερα αποτελέσματα.

1) Δημιουργήστε έναν λογαριασμό στο ifttt.com (εάν δεν έχετε) και δημιουργήστε ένα νέο Applet από τη σελίδα My Applets.

2) Κάντε κλικ στο μπλε κουμπί "αυτό" για να επιλέξετε την υπηρεσία ενεργοποίησης.

3) Αναζητήστε και επιλέξτε Webhooks ως υπηρεσία.

4) Επιλέξτε Λήψη αιτήματος Ιστού και δώστε ένα όνομα για το συμβάν.

5) Επιλέξτε δημιουργία σκανδάλης.

6) Επιλέξτε "that" στην επόμενη σελίδα και αναζητήστε ειδοποιήσεις.

7) Επιλέξτε αποστολή ειδοποίησης από την εφαρμογή IFTTT.

8) Εισαγάγετε το όνομα του συμβάντος που δημιουργήσατε στο Βήμα 2 του IFTTT και επιλέξτε δημιουργία ενέργειας.

9) Συνεχίστε μέχρι να φτάσετε στο τελευταίο βήμα, ελέγξτε και πατήστε το τελείωμα.

10) Μεταβείτε στη διεύθυνση https://ifttt.com/maker_webhooks και κάντε κλικ στο κουμπί Ρυθμίσεις στο επάνω μέρος της σελίδας.

11) Μεταβείτε στη διεύθυνση URL στην ενότητα Πληροφορίες λογαριασμού.

12) Εισαγάγετε εδώ το όνομα της εκδήλωσής σας και κάντε κλικ στο «Δοκιμάστε το».

13) Αντιγράψτε τη διεύθυνση URL στην τελευταία γραμμή για μελλοντική χρήση (με το κλειδί).

Βήματα για τη ρύθμιση του ThingSpeak TimeControl

1) Επιλέξτε Εφαρμογές> Ανάλυση MATLAB

2) Κάντε κλικ στο Νέο στην επόμενη σελίδα και επιλέξτε Ενεργοποίηση email από το IFTTT και κάντε κλικ στο Δημιουργία.

Τα σημαντικά κομμάτια εδώ στον κώδικα προτύπου είναι:

Αναγνωριστικό καναλιού - Εισαγάγετε το κανάλι σας ThingSpeak που περιέχει τις πληροφορίες "εσωτερική υγρασία".

IFTTTURL - Εισαγάγετε τη διεύθυνση URL που αντιγράφηκε από την προηγούμενη ενότητα Βήμα 13.

readAPIKey - Εισαγάγετε το κλειδί του καναλιού ThingSpeak. Ενότητα δράσης - αυτή που λειτουργεί στην τελευταία τιμή. Αλλάξτε το στο παρακάτω για να ενεργοποιήσετε ειδοποιήσεις.

3) Στην ιστοσελίδα ThingSpeak κάντε κλικ στο Apps> TimeControl.

4) Επιλέξτε Επαναλαμβανόμενη και επιλέξτε μια χρονική συχνότητα.

5) Κάντε κλικ στο Save TimeControl.

Τώρα η ανάλυση MATLAB εκτελείται αυτόματα κάθε μισή ώρα και στέλνει ένα έναυσμα στην υπηρεσία IFTTT Webhooks εάν η τιμή είναι μεγαλύτερη ή ίση με 3. Στη συνέχεια, η εφαρμογή τηλεφώνου IFTTT θα ειδοποιήσει τον χρήστη με μια ειδοποίηση όπως φαίνεται στην αρχή αυτής της ενότητας.

Βήμα 6: Συμπέρασμα

Με αυτό είδαμε όλες τις σημαντικές πτυχές για το πώς να δημιουργήσετε το δικό σας σύστημα παρακολούθησης του κλίματος. Σε αυτό το έργο, είδαμε πώς μπορεί να χρησιμοποιηθεί το Simulink -

  • προγραμματίστε ένα Raspberry Pi για να εισάγετε δεδομένα από το Sense HAT. Επισήμανση - Οπτικοποιήστε τα δεδομένα στο Simulink καθώς ο κώδικας εξακολουθεί να εκτελείται στο Raspberry Pi.
  • οικοδομήσουμε την οπτική απεικόνιση του εσωτερικού συστήματος παρακολούθησης του κλίματος. Επισήμανση - Αλλάξτε τον τρόπο συμπεριφοράς του κώδικα σας στο υλικό από το Simulink.
  • σχεδιάστε τον αλγόριθμο του συστήματος παρακολούθησης του κλίματος εσωτερικού χώρου.
  • καταγράψτε τα δεδομένα από το Raspberry Pi στο cloud και δημιουργήστε ειδοποιήσεις από τα καταγεγραμμένα δεδομένα.

Ποιες είναι μερικές από τις αλλαγές που θα κάνατε σε αυτό το εσωτερικό σύστημα παρακολούθησης του κλίματος; Παρακαλώ μοιραστείτε τις προτάσεις σας μέσω σχολίων.