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

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

Βίντεο: Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi: 6 βήματα

Βίντεο: Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi: 6 βήματα
Βίντεο: Χωρίς καλώδια, 100% ασύρματη || Vacos Cam IR 2024, Νοέμβριος
Anonim
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi

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

  • Πολλά από αυτά είναι υπερτιμημένα/ δεν αξίζουν τα χρήματα.
  • Τα ηλεκτρικά κυκλώματά τους είναι πιο εύκολο να σπάσουν και πιο δύσκολο να αντικατασταθούν από τα συμβατικά μηχανικά μέρη
  • Η διαχείριση των συσκευών πρέπει να γίνεται από την εφαρμογή του κατασκευαστή. Είναι σύνηθες να έχετε μερικές έξυπνες συσκευές στο σπίτι σας και καθεμία από αυτές έχει τη δική της εφαρμογή. Η λύση τους είναι να ενσωματώσουν την εφαρμογή σε πλατφόρμες όπως η Alexa, το Google Assistant και το IFTTT, έτσι ώστε να έχουμε έναν "κεντρικό" ελεγκτή
  • Το πιο σημαντικό, οι κατασκευαστές έχουν τα δεδομένα μας και η Google/Amazon/IFTTT/κλπ τα δεδομένα μας. Δεν το κάνουμε. Μπορεί να μην σας ενδιαφέρει το απόρρητο, αλλά μερικές φορές όλοι θα θέλαμε να δούμε το μοτίβο υγρασίας του υπνοδωματίου σας, για παράδειγμα, για να αποφασίσουμε σε ποια ώρα θα ανοίξουμε τα παράθυρα.

Σε αυτό το σεμινάριο, δημιουργώ ένα πρωτότυπο ενός σχετικά χαμηλού κόστους εσωτερικού ελεγκτή εσωτερικού κλίματος που βασίζεται σε Raspberry Pi. Το RPi επικοινωνεί με τα περιφερειακά μέσω διεπαφών SPI/I2C/USB:

  • Ένας ατμοσφαιρικός αισθητήρας χρησιμοποιείται για τη συλλογή θερμοκρασίας, υγρασίας και πίεσης αέρα.
  • Ο αισθητήρας ποιότητας αέρα υψηλής ακρίβειας παρέχει ατμοσφαιρικά σωματίδια (PM2.5 και PM10) που χρησιμοποιούνται για τον υπολογισμό του δείκτη ποιότητας του αέρα (AQI)

Ο ελεγκτής επεξεργάζεται τα δεδομένα που αποκτήθηκαν και ενεργοποιεί ενέργειες της συσκευής στέλνοντας αιτήματα στην υπηρεσία αυτοματισμού IFTTT Webhook που ελέγχει τα υποστηριζόμενα βύσματα WiFi Smart.

Το πρωτότυπο είναι κατασκευασμένο με τρόπο ώστε να μπορεί κανείς εύκολα να προσθέσει άλλους αισθητήρες, συσκευές και υπηρεσίες αυτοματισμού.

Βήμα 1: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Το προτεινόμενο υλικό για την κατασκευή αυτού:

  1. Ένα Raspberry Pi (οποιαδήποτε έκδοση) με WiFi. Το χτίζω χρησιμοποιώντας το RPi B+. Το RPi ZeroW θα έκανε μια χαρά και θα κόστιζε ~ 15 $
  2. Ένας αισθητήρας BME280 για θερμοκρασία, υγρασία, πίεση αέρα ~ 5 $
  3. Μια μονάδα αισθητήρα ανίχνευσης ποιότητας ανίχνευσης αέρα Nova SDS011 Laser High Precision Laser PM2.5/PM10 $ 25 $
  4. Οθόνη LED/LCD. Χρησιμοποίησα την SSD1305 οθόνη 2,23 ιντσών OLED ~ 15 $
  5. Μερικές έξυπνες πρίζες WiFi/ZigBee/Z-Wave. 10-20 $ το καθένα
  6. Καθαριστής αέρα, υγραντήρας, αφυγραντήρας, θερμαντήρας, ψύκτης κ.λπ. με μηχανικούς διακόπτες. Για παράδειγμα, χρησιμοποίησα έναν φθηνό καθαριστή αέρα για να φτιάξω αυτό το σεμινάριο

Το παραπάνω συνολικό κόστος είναι <100 $, πολύ λιγότερο από, ας πούμε, έναν έξυπνο καθαριστή που θα μπορούσε εύκολα να κοστίσει 200 $.

Βήμα 2: Καλωδίωση του Raspbery Pi

Καλωδίωση του Raspbery Pi
Καλωδίωση του Raspbery Pi

Το διάγραμμα κυκλώματος δείχνει πώς να συνδέσετε το RPi με τον αισθητήρα BME280 χρησιμοποιώντας διεπαφή I2C και οθόνη αφής OLED HAT χρησιμοποιώντας διεπαφή SPI.

Το Waveshare OLED HAT θα μπορούσε να τοποθετηθεί πάνω από το GPIO, αλλά χρειάζεστε διαχωριστή GPIO για να το μοιραστείτε με άλλα περιφερειακά. Θα μπορούσε να διαμορφωθεί για χρήση I2C συγκολλώντας τις αντιστάσεις στο πίσω μέρος.

Περισσότερες πληροφορίες σχετικά με το SSD1305 OLED HAT μπορείτε να βρείτε εδώ.

Και οι δύο διεπαφές I2C και SPI πρέπει να είναι ενεργοποιημένες στο RPi με:

sudo raspi-config

Ο αισθητήρας σκόνης Nova SDS011 συνδέεται στο RPi μέσω θύρας USB (με προσαρμογέα Serial-USB).

Βήμα 3: Συλλογή δεδομένων από τους αισθητήρες

Τα ατμοσφαιρικά δεδομένα, τα οποία φαίνονται αρκετά απλά, συλλέγονται από τον αισθητήρα BME280 από το σενάριο python.

21-Νοε-20 19:19:25-ΠΛΗΡΟΦΟΡΙΕΣ-αντισταθμισμένη_ανάγνωση (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, χρονική σήμανση = 2020-11-21 19: 19: 25.604317, θερμοκρασία = 20.956 ° C, πίεση = 1019.08 hPa, υγρασία = 49.23 % rH)

Τα δεδομένα του αισθητήρα σκόνης χρειάζονται λίγο περισσότερη επεξεργασία. Η μονάδα αισθητήρα απορροφά ορισμένα δείγματα αέρα για την ανίχνευση σωματιδίων, οπότε θα πρέπει να λειτουργεί για λίγο (30s) για να έχει αξιόπιστα αποτελέσματα. Από την παρατήρησή μου, εξετάζω μόνο τον μέσο όρο των 3 τελευταίων δειγμάτων. Η διαδικασία είναι διαθέσιμη σε αυτό το σενάριο.

21 -Νοε -20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-Νοε-20 19:21:09- DEBUG- 1. PM2.5: 2.9, PM10: 6.0 21-Nov-20 19:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- 20 Νοεμβρίου 19:21:13- DEBUG- 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15- DEBUG- 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21 -Νοε -20 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21 -Nov -20 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21 -Nov -20 19:21:23 - DEBUG - 8. PM PM 2.5: 3.1, PM10: 7.0 21 -Nov -20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21 -Nov -20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21 -Nov -20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21 -Nov -20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21 -Nov -20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21 -Nov -20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Ο αισθητήρας σκόνης παρέχει μόνο δείκτη PM2.5 και PM10. Για τον υπολογισμό του AQI χρειαζόμαστε τη μονάδα python-aqi:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, data_dusta [0]), (aqi. POLLUTANT_PM10, data_dustina [1])])

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

Βήμα 4: Ρύθμιση υπηρεσίας αυτοματισμού σπιτιού

Ρύθμιση υπηρεσίας αυτοματισμού σπιτιού
Ρύθμιση υπηρεσίας αυτοματισμού σπιτιού
Ρύθμιση υπηρεσίας αυτοματισμού σπιτιού
Ρύθμιση υπηρεσίας αυτοματισμού σπιτιού

Υπάρχουν πολλές πλατφόρμες αυτοματισμού Home και πρέπει να εγκαταστήσετε την πλατφόρμα που υποστηρίζεται από την έξυπνη πρίζα που έχετε. Εάν ανησυχείτε για το απόρρητο, θα πρέπει να δημιουργήσετε το δικό σας σύστημα. Διαφορετικά, μπορείτε να χρησιμοποιήσετε τις δημοφιλείς πλατφόρμες που υποστηρίζονται από τις περισσότερες έξυπνες υποδοχές WiFi: Google Assistant, Alexa ή IFTTT. Προσπαθήστε να επιλέξετε την πλατφόρμα υποδοχής με API για αλληλεπίδραση (το Webhook είναι ιδανικό για αυτόν τον σκοπό)

Χρησιμοποιώ το IFTTT σε αυτό το σεμινάριο επειδή είναι πολύ εύκολο στη χρήση του ακόμη και για αρχάριους. Αλλά να γνωρίζετε ότι: 1. υπάρχουν πολλές έξυπνες πρίζες που δεν υποστηρίζουν IFTTT και 2. Τη στιγμή που το γράφω αυτό, το IFTTT σάς επιτρέπει να δημιουργείτε μόνο 3 μικροεφαρμογές (εργασίες αυτοματισμού) δωρεάν, κάτι που αρκεί μόνο για 1 συσκευή.

Αυτά είναι τα βήματα:

1. Δημιουργήστε δύο μικροεφαρμογές στο IFTTT, για ενεργοποίηση και απενεργοποίηση της συσκευής, χρησιμοποιώντας την υπηρεσία Webhook. Μπορείτε να βρείτε τις λεπτομέρειες εδώ.

2. Αντιγράψτε το κλειδί API και αντιγράψτε το στο σενάριο python. Προτείνω να το φυλάξετε σε ξεχωριστό αρχείο για λόγους ασφαλείας.

3. Ορίστε τη λογική ελέγχου/παραμέτρους στο κύριο σενάριο.

Βήμα 5: Αποτελέσματα

Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα

Εντάξει, τώρα δοκιμάζουμε το σύστημα.

Η οθόνη OLED δείχνει την τρέχουσα θερμοκρασία, υγρασία και υπολογισμένο δείκτη ποιότητας αέρα (AQI). Εμφανίζει επίσης την ελάχιστη και μέγιστη τιμή τις τελευταίες 12 ώρες.

Τα δεδομένα χρονοσειρών του AQI σε λίγες ημέρες δείχνουν κάτι ενδιαφέρον. Παρατηρείτε τις αυξήσεις στο μοτίβο AQI; Συμβαίνει δύο φορές την ημέρα, η μικρή κορυφή γύρω στις 12:00 και η υψηλή κορυφή είναι περίπου στις 19:00. Λοιπόν, μαντέψατε, αυτό ήταν όταν μαγειρεύαμε, σκορπίζοντας πολλά σωματίδια γύρω. Είναι ενδιαφέρον να δούμε πώς επηρεάζει η καθημερινή μας δραστηριότητα το εσωτερικό περιβάλλον.

Επίσης, η τελευταία αύξηση του αριθμού διήρκεσε πολύ πιο σύντομα από τα προηγούμενα. τότε προσθέτουμε τον καθαριστή αέρα στο σύστημα. Ο ελεγκτής κλίματος RPi στέλνει αίτημα PURIFIER_ON όταν AQI> 50 και PURIFIER_OFF όταν AQI <20. Μπορείτε να δείτε τη σκανδάλη IFTTT Webhook εκείνη τη στιγμή.

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

Αυτό είναι!

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

Εάν θέλετε να ελέγχετε πολλές συσκευές, ίσως χρειαστεί να εξετάσετε προσεκτικά ποια υπηρεσία οικιακού αυτοματισμού θέλετε να χρησιμοποιήσετε. Θα πρότεινα ανεπιφύλακτα τη δημιουργία μιας πλατφόρμας οικιακού αυτοματισμού ανοιχτού κώδικα, αλλά αν είναι πολύ περίπλοκο, υπάρχουν απλούστερες λύσεις όπως το Google Assistant και το IFTTT Webhook ή οι έξυπνες πρίζες Zigbee.

Η πλήρης εφαρμογή αυτού του πρωτοτύπου μπορεί να βρεθεί στο αποθετήριο Github:

github.com/vuva/IndoorClimateControl

Καλα να περνατε !!!

Συνιστάται: