Πίνακας περιεχομένων:
- Βήμα 1: Υλικά
- Βήμα 2: Συνδέσεις
- Βήμα 3: Εκτύπωση 3D
- Βήμα 4: Κωδικός
- Βήμα 5: Βάση δεδομένων
- Βήμα 6: Συνδεθείτε σε Wi-Fi
- Βήμα 7: Συνδυάζοντας τα πάντα μαζί
- Βήμα 8: Ξεκινήστε το
Βίντεο: AirPi - Αισθητήρας ποιότητας αέρα: 8 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Έχετε αναρωτηθεί ποτέ γιατί σας προκαλεί πονοκέφαλο; Και αν αυτό οφείλεται σε κακή ποιότητα αέρα; Με αυτήν τη συσκευή μπορείτε να ελέγξετε αν αυτό συμβαίνει. Αυτή η συσκευή μετρά την τιμή CO2, την τιμή TVOC, τη θερμοκρασία και την υγρασία. Μπορείτε να δείτε την ποιότητα του αέρα ζωντανά στην οθόνη LCD και να δείτε μια σαφή ένδειξη εάν γίνεται επικίνδυνος. Με αυτόν τον τρόπο μπορείτε να ανοίξετε τα παράθυρά σας εγκαίρως.
Εάν εισαγάγετε τη διεύθυνση IP - που εμφανίζεται κατά την εκκίνηση της συσκευής στο πρόγραμμα περιήγησής σας - ο ιστότοπος θα ανοίξει. Μπορείτε να δείτε πολλές πληροφορίες σχετικά με το εσωτερικό περιβάλλον, μαζί με γραφήματα των τελευταίων λεπτών / ωρών. Υπάρχει επίσης μια ζωντανή ένδειξη και μερικές πληροφορίες και συμβουλές στο ταμπλό.
Αυτό το έργο έγινε από έναν μαθητή στο Howest Kortrijk, NMCT (New Media and Communication Technology).
Βήμα 1: Υλικά
Αυτά είναι όλα όσα αγόρασα για να δημιουργήσω αυτό το έργο. Αυτό είναι ένα σχετικά φθηνό έργο, ανάλογα με το κόστος της τρισδιάστατης εκτύπωσης. Εάν μπορείτε να το εκτυπώσετε στο σχολείο, αυτό θα μπορούσε να είναι πολύ φθηνό. Διαφορετικά, εξαρτάται από το πού το εκτυπώνετε και το υλικό που το εκτυπώνετε. Θα παρατηρήσετε ότι αγόρασα πολλά χύμα, απλώς και μόνο επειδή είναι δύσκολο να βρούμε μεμονωμένες αντιστάσεις ή leds και αυτό το κάνει ακόμα πιο φθηνό. Εάν έχετε χρόνο, μπορείτε να παραγγείλετε τα περισσότερα είδη στο aliexpress.com, η παράδοση μπορεί να διαρκέσει λίγο, αλλά με αυτόν τον τρόπο μπορείτε να περιορίσετε τα έξοδά σας.
Χωρίς την εκτύπωση, τα χρήματα που ξόδεψα για αυτό το έργο είναι 81, 80 €.
Αυτά είναι τα υλικά που χρειάζεστε:
Κύκλωμα:
- Raspberry Pi 3
- Κάρτα SD 8 GB (ελάχιστο)
- Αισθητήρας ποιότητας αέρα CCS811
- Αισθητήρας θερμοκρασίας και υγρασίας DHT22
- Ποτενσιόμετρο (LCD αντίθεσης)
- LCD 16x2
- Καλώδια από jumper έως θηλυκά jumper
- Πράσινο και κόκκινο LED
- Αντιστάσεις (2x470ohm και 1 4700ohm)
Υπόθεση:
- Τρισδιάστατη εκτύπωση
- Βίδες
- Κόλλα 2 συστατικών (ή άλλη θερμή κόλλα)
- εργαλείο κοπής νήματος
Μόνο εάν χρησιμοποιείτε PCB:
- Συγκολλητικό σίδερο
- Ροή (το διευκολύνει)
- Κασσίτερος
- Πειραματιστείτε pcb 2x4cm
Βήμα 2: Συνδέσεις
Συνδέστε τα καλώδια όπως παραπάνω. Μπορείτε να δείτε ένα ηλεκτρικό κύκλωμα στο αρχείο ψύξης. Δεν είναι ένα πολύ περίπλοκο κύκλωμα, αλλά αν θέλετε να το κάνετε όσο το δυνατόν μικρότερο, σίγουρα θέλετε να πάρετε ένα πείραμα PCB Board. Η καλωδίωση θα είναι η ίδια, εκτός από το GND και το Vin που θα συνδεθούν στην πλακέτα PCB. Οι αισθητήρες θα συνδέονται με θηλυκά καλώδια ή αρσενικά με συγκόλληση. Μην ξεχάσετε να κολλήσετε την αντίσταση στον αισθητήρα DHT22.
Σας συνιστώ επίσης να χρησιμοποιείτε μικρά καλώδια, 10 εκατοστά πρέπει. Διαφορετικά, το κουτί θα γεμίσει ακόμα περισσότερο με καλώδιο. Δεν χρειάζεστε πολύ μακριά αφού το μέγεθος της εκτύπωσης είναι όσο το δυνατόν μικρότερο.
Βήμα 3: Εκτύπωση 3D
Το πρώτο κόλπο που μπήκε στο κεφάλι μου όταν σκεφτόμουν μια θήκη ήταν μια τρισδιάστατη εκτύπωση. Δεδομένου ότι ο μπαμπάς μου είχε εκτυπώσει πολλά άλλα είδη και τα σχεδίασε ο ίδιος. Μαζί δημιουργήσαμε αυτό το σχέδιο και φροντίσαμε για κάθε πτυχή. Θα πρέπει να έχει κρυώσει αρκετά καλά, όλα μπορούν να βιδωθούν στη θέση τους και αν όχι, μπορούν να τοποθετηθούν στη θέση τους.
Σχεδιάσαμε ακόμη και κάθε στοιχείο για να ελέγξουμε αν όλα ταιριάζουν. Το αρχείο είναι διαθέσιμο για όλους και θα θέλαμε να ακούσουμε κάποια σχόλια. Μείναμε πολύ ευχαριστημένοι με το αποτέλεσμα.
Βήμα 4: Κωδικός
Ο κώδικας για αυτό το έργο βρίσκεται στο Github. Εάν έχετε χρησιμοποιήσει άλλες καρφίτσες (για παράδειγμα άλλη καρφίτσα GPIO για LED, θα πρέπει να προσαρμόσετε αυτές τις μεταβλητές. Θα υπάρχουν δύο σενάρια python, web.py για τον ιστότοπο και sensor.py για να διαβάσετε τους αισθητήρες και να ενημερώσετε Θα εισαγάγουμε την κλάση LCD από το lcd.py.
Με ένα διαμορφωμένο βατόμουρο pi μπορείτε να ξεκινήσετε. Πρώτα απ 'όλα θα πρέπει να ενημερώσετε και να αναβαθμίσετε όλα τα πακέτα:
sudo apt-get ενημέρωση && sudo apt-get αναβάθμιση
Στη συνέχεια, θα χρειαστεί να εγκαταστήσετε τα ακόλουθα πακέτα:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Τώρα δημιουργήστε ένα εικονικό περιβάλλον:
me@my -rpi: install $ python3 -m pip install -upgrade pip setuptools wheel virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi:/project1 $ python3 -m venv --system-site-packages env me@my-rpi: ~/project1 $ source env/bin/ ενεργοποίηση (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Αφού γίνει αυτό, μπορείτε να κλωνοποιήσετε τον κώδικα από το GitHub στο εικονικό σας περιβάλλον. Αυτό μπορεί να γίνει με πολλούς τρόπους.
Στο conf του καταλόγου μπορείτε να βρείτε τέσσερα αρχεία που θα πρέπει να προσαρμόσετε εάν είναι απαραίτητο. Σίγουρα θα πρέπει να αλλάξετε τον χρήστη και τον κατάλογο καταλόγου σε κάθε αρχείο. Το uWSGI ini θα πρέπει να είναι εντάξει εφόσον δεν αλλάξατε τον κωδικό μου, φροντίστε να αλλάξετε το χρήστη και το virtualenv εάν είναι απαραίτητο.
Δεδομένου ότι ο αισθητήρας CCS811 χρησιμοποιήθηκε σκόπιμα για το arduino, αυτός δεν μπορεί να επικοινωνήσει μέσω του διαύλου i2c με την ταχύτητα του raspberry pi. Θα πρέπει να μειώσετε την ταχύτητα σε baudrate 10000 (χρησιμοποίησα 9600) στο αρχείο ρυθμίσεων.
Θα πρέπει επίσης να αποκτήσετε τη βιβλιοθήκη του αισθητήρα adafruit. Θα μπορούσα να το εξηγήσω εδώ, αλλά υπάρχει ένας τέλειος οδηγός adafruit που τα εξηγεί όλα αυτά πολύ καλά.
Επειδή θέλουμε τα σενάρια python να εκτελούνται αυτόματα όταν είναι συνδεδεμένο το βατόμουρο, θα πρέπει να χρησιμοποιήσετε τις υπηρεσίες. Θα πρέπει να είναι εντάξει αν κρατήσατε τον κωδικό μου. Το μόνο που χρειάζεται να κάνετε για να τρέξουν είναι να τα ενεργοποιήσετε. Πριν το κάνετε αυτό, υπάρχει κάτι τελευταίο.
Δεδομένου ότι χρησιμοποιούμε έναν διακομιστή ιστού nginx, θα πρέπει να απενεργοποιήσουμε την προεπιλογή και να την αντικαταστήσουμε με τη δική μας διαμόρφωση. Για να γίνει αυτό, πρέπει να ακολουθηθούν αυτά τα βήματα:
- αντιγραφή conf/nginx σε *sites-available *
- Καταργήστε τον σύνδεσμο για την προεπιλεγμένη ρύθμιση παραμέτρων
- Προσθέστε έναν σύνδεσμο στη νέα διαμόρφωση
- Επανεκκινήστε το nginx για να αποθηκεύσετε τις αλλαγές
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi:/project1 $ sudo systemctl start project1-* me@my-rpi:/project1 $ sudo systemctl status project1-*
Το Nginx και το mysql πρέπει να εκτελούνται ανά πάσα στιγμή. Ξεκινούν μαζί με το βατόμουρο πι. Το σενάριο ιστού και το σενάριο αισθητήρα όχι μόνο ακόμα.
Για να γίνει αυτό, πρέπει ακόμα να ενεργοποιήσετε αυτές τις δύο υπηρεσίες με αυτές τις εντολές:
sudo systemctl ενεργοποίηση project1-flask.service
sudo systemctl ενεργοποίηση project1-sensor.service
Βήμα 5: Βάση δεδομένων
Η βάση δεδομένων μου αποτελείται από τρεις πίνακες. Ο χρήστης δεν έχει καμία σχέση με άλλους πίνακες. Αυτό χρησιμοποιείται μόνο για να συνδεθείτε και να παραχωρήσετε πρόσβαση στον ιστότοπο. Όταν η συσκευή είναι ενεργοποιημένη, η τιμή CO2 και η τιμή TVOC γράφονται στη βάση δεδομένων κάθε 50 δευτερόλεπτα. Η θερμοκρασία και η υγρασία κάθε 5 λεπτά. Με αυτόν τον τρόπο έχουμε μια σαφή εικόνα του παρελθόντος.
Μπορείτε να βρείτε το αρχείο SQL εδώ, αλλά για να λάβετε τη βάση δεδομένων για το raspberry pi, πρέπει να ακολουθήσετε αυτά τα βήματα:
Μετά την εγκατάσταση των πακέτων στο προηγούμενο βήμα, το mariadb/mysql θα πρέπει να εκτελείται αμέσως. Μπορείτε να το ελέγξετε με αυτήν τη γραμμή:
me@my-rpi: status $ sudo systemctl κατάσταση mysql
Για να δημιουργήσετε τη βάση δεδομένων και τους χρήστες, μπορείτε απλά να εκτελέσετε τα σενάρια sql στον κώδικα από το GitHub. Εάν το κάνατε σωστά, θα πρέπει να δείτε τους πίνακες χρησιμοποιώντας αυτήν την εντολή:
me@my-rpi: ~ $ echo 'show tables;' | mysql project1 -t -u project1 -admin -p
Τώρα είμαστε έτοιμοι, μπορείτε να το δοκιμάσετε χωρίς θήκη για να βεβαιωθείτε ότι όλα λειτουργούν. Αν δεν είστε συνδεδεμένοι σε wifi, θα πρέπει να το συνδέσετε με καλώδιο ethernet και να το εκτελέσετε χειροκίνητα.
Βήμα 6: Συνδεθείτε σε Wi-Fi
Ανοίξτε το αρχείο ρυθμίσεων wpa-supplicant στο nano (δεν έχει σημασία, βεβαιωθείτε ότι μπορείτε να εργαστείτε με τον επεξεργαστή κειμένου).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Μεταβείτε στο κάτω μέρος του αρχείου και προσθέστε τα ακόλουθα (αντικαταστήστε το όνομα ssid και τον κωδικό πρόσβασης με το δικό σας):
δίκτυο = {
ssid = "ssid-name" psk = "password-name"}
Για να δημιουργήσετε έναν κρυπτογραφημένο κωδικό πρόσβασης, μπορείτε να χρησιμοποιήσετε το wpa_passphrase και απλώς να το αντιγράψετε στο wpa_supplicant.conf psk για να κάνετε τα πράγματα πιο ασφαλή.
wpa_passphrase "ssid-name" "password-name"
Εάν θέλετε να συνδεθεί αυτόματα σε αυτό το δίκτυο Wi-Fi και υπάρχουν άλλα στο αρχείο ρυθμίσεων, βεβαιωθείτε ότι έχετε αλλάξει την προτεραιότητα σε υψηλότερο επίπεδο προσθέτοντας αυτήν τη γραμμή στο δίκτυο στο αρχείο διαμόρφωσης:
προτεραιότητα = 2
Μην ξεχάσετε να διαμορφώσετε ξανά τη διεπαφή με:
wpa_cli -i wlan0 αναδιαμόρφωση
Τώρα είστε έτοιμοι και συνδεδεμένοι σε δίκτυο wifi.
Βήμα 7: Συνδυάζοντας τα πάντα μαζί
Δεδομένου ότι όλα είναι καλωδιωμένα και συγκολλημένα, μπορούμε να φτάσουμε στην υπόθεση. Αυτό σχεδιάστηκε, έτσι ώστε να μπορείτε να ανοίξετε τη θήκη χωρίς χαλαρά καλώδια. Αυτό σημαίνει ότι όλα είναι προσαρτημένα στο κάτω μέρος. Το πρώτο πράγμα που πρέπει να κάνετε είναι μια μικρή προσαρμογή στο βατόμουρο. Έχει τρύπες σε κάθε γωνία, αλλά αυτές δεν είναι τόσο μεγάλες όσο θα έπρεπε. Η διάμετρος θα πρέπει να είναι αρκετή για να χωρέσει μια βίδα 3 χιλιοστών μέσα. Έπρεπε να γυαλίσουμε τις τρύπες έτσι ώστε να γίνουν λίγο πιο φαρδιές.
Το δεύτερο πράγμα που πρέπει να κάνετε είναι να κόψετε ένα βιδωτό σπείρωμα σε κάθε τρύπα. Αυτό μπορεί να ακούγεται δύσκολο, αλλά μπορεί να γίνει εύκολα με τα κατάλληλα εργαλεία. Θα συνιστούσα να το κάνετε σε ένα τοπικό κατάστημα υλικού, απλά ζητήστε ένα εργαλείο κοπής νήματος. Δεδομένου ότι ο μπαμπάς μου είναι χρυσοχόος είχε τα εργαλεία για να το κάνει αυτό στη δουλειά. Ενδέχεται να ανεβάσω ένα νέο αρχείο stl έτσι ώστε να εκτυπωθεί αργότερα, αλλά αυτό θα χρειαζόταν έναν πολύ ακριβή εκτυπωτή.
Το τρίτο βήμα είναι να βιδώσετε το pi στο κάτω μέρος. Θα χρειαστείτε 4 βίδες μήκους 7 mm με διάμετρο 3 mm. Μετά από αυτό, μπορείτε να σπρώξετε την πλακέτα PCD στην προβλεπόμενη θέση στο πάνω μέρος του κάτω μέρους. Ο αισθητήρας CCS811 μπορεί να τοποθετηθεί στην παρεχόμενη θέση στην αριστερή πλευρά και ο DHT11 μπορεί να συνδεθεί στη δεξιά πλάκα. Και οι δύο είναι απομονωμένοι και αερίζονται επαρκώς, αλλά στη συνέχεια παρατηρήσαμε ότι εξακολουθούσε να ζεσταίνεται μέσα. Περισσότερα για αυτό αργότερα.
Στη συνέχεια, πρέπει να συνδέσετε τα LED στο σωλήνα τους. Το κάναμε με κόλλα 2 συστατικών, αλλά μπορείτε να το κάνετε όπως θέλετε. Βεβαιωθείτε ότι έχουν κολλήσει εκεί.
Τώρα μπορείτε να συνδέσετε την οθόνη LCD, θα χρειαστείτε βίδες με την ίδια διάμετρο με τις προηγούμενες, αλλά λίγο περισσότερο. Τα δικά μου ήταν 1 εκατοστό. Εάν οι τέσσερις βίδες έχουν βιδωθεί, μένει μόνο ένα πράγμα που πρέπει να κάνετε. Συνδέστε το επάνω μέρος. Το μόνο που χρειάζεστε είναι τέσσερις βίδες, με την ίδια διάμετρο και αυτές είναι 2εκ. Τώρα όλα πρέπει να είναι στη θέση τους και μπορείτε να τα ξεκινήσετε.
Βήμα 8: Ξεκινήστε το
Η διαδικασία εκκίνησης αυτού του έργου είναι πολύ εύκολη:
- Συνδέστε το καλώδιο τροφοδοσίας στην αριστερή πλευρά της θήκης. Δεν είναι πολύ ορατό, αλλά μπορείτε να δείτε μέσα από τους αεραγωγούς. Εάν το πήρατε μία φορά, αυτό δεν θα είναι ξανά πρόβλημα.
- Δώστε λίγο χρόνο για να ξεκινήσετε.
- Η διεύθυνση IP θα εμφανιστεί στην οθόνη για δέκα δευτερόλεπτα. Το μόνο που πρέπει να κάνετε είναι να βεβαιωθείτε ότι είστε συνδεδεμένοι στο ίδιο δίκτυο και να εισαγάγετε τη διεύθυνση IP στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας.
- Βρίσκεστε τώρα στον ιστότοπο. Δεν έχετε ακόμη λογαριασμό, οπότε δημιουργήστε λογαριασμό.
- Εάν είστε εγγεγραμμένος, συνδεθείτε.
- Εγινε! Μπορείτε να δείτε όλα τα δεδομένα στην ιστοσελίδα και η οθόνη LCD δείχνει την τρέχουσα ποιότητα αέρα.
Δεδομένου ότι η ζεστασιά αυξάνεται, εντοπίσαμε τους αισθητήρες στο κάτω μέρος της θήκης. Με αυτόν τον τρόπο η θερμοκρασία δεν θα είχε μεγάλο αντίκτυπο στις καταχωρημένες τιμές. Για βέλτιστες μετρήσεις, κάντε τη συσκευή να σταθεί όρθια ή μπορείτε απλά να την κρεμάσετε στον τοίχο.
Συνιστάται:
Μετρητής ποιότητας εσωτερικού αέρα: 5 βήματα (με εικόνες)
Μετρητής ποιότητας εσωτερικού αέρα: Απλό έργο για τον έλεγχο της ποιότητας του αέρα στο σπίτι σας. Δεδομένου ότι μένουμε/δουλεύουμε πολύ από το σπίτι τελευταία, ίσως είναι καλή ιδέα να παρακολουθούμε την ποιότητα του αέρα και να υπενθυμίζουμε στον εαυτό μας πότε είναι ώρα να ανοίξουμε το παράθυρο και πάρε λίγο καθαρό αέρα
PurpleAir Ένδειξη ποιότητας ποιότητας αέρα αέρα: 4 βήματα
PurpleAir Air Quality Status LED Display: Με τις πρόσφατες πυρκαγιές στην Καλιφόρνια η ποιότητα του αέρα στο Σαν Φρανσίσκο έχει επηρεαστεί πολύ. Βρεθήκαμε να ελέγχουμε τον χάρτη PurpleAir ξανά και ξανά στα τηλέφωνα ή τους φορητούς υπολογιστές μας προσπαθώντας να δούμε πότε ο αέρας ήταν αρκετά ασφαλής για να ανοίξει τη νίκη
Δημιουργήστε έναν αισθητήρα ποιότητας εσωτερικού IoT αέρα Δεν απαιτείται σύννεφο: 10 βήματα
Δημιουργήστε έναν αισθητήρα ποιότητας Inhouse IoT Air No Cloud Required: Η ποιότητα του εσωτερικού ή εξωτερικού αέρα εξαρτάται από πολλές πηγές ρύπανσης και επίσης από τον καιρό. Αυτή η συσκευή καταγράφει μερικές από τις κοινές και μερικές από τις πιο ενδιαφέρουσες παραμέτρους χρησιμοποιώντας 2 τσιπ αισθητήρων. Θερμοκρασία Υγρασία Πίεση Οργανικό αέριο Μικρό
Απλή παρακολούθηση ποιότητας αέρα με οθόνη LCD TFT- Ameba Arduino: 3 βήματα
Απλή παρακολούθηση της ποιότητας του αέρα με οθόνη LCD TFT-Ameba Arduino: Εισαγωγή Τώρα που οι περισσότεροι άνθρωποι μένουν στο σπίτι για να αποφύγουν τη στενή επαφή με τον πιθανό φορέα του ιού COVID-19, η ποιότητα του αέρα γίνεται σημαντικός παράγοντας για την ευημερία των ανθρώπων, ειδικά σε τροπικές χώρες όπου η χρήση κλιματισμού είναι απαραίτητη κατά τη διάρκεια του
Airduino: Κινητή συσκευή παρακολούθησης ποιότητας αέρα: 5 βήματα
Airduino: Mobile Air Quality Monitor: Καλώς ορίσατε στο έργο μου, Airduino. Το όνομά μου είναι Robbe Breens. Σπουδάζω τεχνολογία πολυμέσων και επικοινωνιών στο Howest στο Kortrijk του Βελγίου. Στο τέλος του δεύτερου εξαμήνου, πρέπει να φτιάξουμε μια συσκευή IoT, η οποία είναι ένας πολύ καλός τρόπος για να