Περιληπτική περιγραφή
Ο σκοπός του έργου αυτού, είναι να δημιουργήσουμε ένα δίκτυο σταθμών, μέτρησης της ποιότητας του ατμοσφαιρικού αέρα, που επικρατεί μέσα στις αίθουσες διδασκαλίας.
Κατά την διάρκεια του σχολικού έτους, παρατηρήσαμε ότι αρκετά παιδιά παραπονιούνται για πονοκεφάλους, χωρίς να υπάρχει κάποιο αίτιο, και έτσι αποφασίσαμε, με την ομάδα ρομποτικής, να μετρήσουμε την ποιότητα του αέρα, που αναπνέουν οι μαθητές κατά την διάρκεια του μαθήματος.
Βρήκαμε ποια είναι τα επιτρεπτά όρια για διάφορους ρύπους, δημιουργήσαμε μια βάση δεδομένων σε postgresql, στην οποία καταγράφουμε τις μετρήσεις από τους σταθμούς ανά λεπτό.
Επίσης υλοποιήσαμε κατάλληλους αλγόριθμους, ώστε να υπάρχει ένδειξη μέσα στην αίθουσα, για την ποιότητα του αέρα.
Έτσι θα μπορούν οι μαθητές να γνωρίζουν πότε θα πρέπει να ανοίξουν τα παράθυρα για εξαερισμό, με κατάλληλα μηνύματα από τους σταθμούς των μέτρησης.
Αρχικά υλοποιήσαμε και τοποθετήσαμε τρεις σταθμούς μέτρησης – χρησιμοποιόντας το Arduino R4 minima – της ποιότητας του ατμοσφαιρικού αέρα, της φωτεινότητας, της θερμοκρασίας, της ατμοσφαιρικής πίεσης και της σχετικής υγρασίας. Οι σταθμοί τοποθετήθηκαν στα τμήματα Α1, Β2 και Γ2 του σχολείου μας.
Οι μετρήσεις εκπέμπονται από τον κάθε ένα σταθμό, σε μορφή JSON.
{“Temperature”:30.34,”Pressure”:991.58,”Humidity”:33.26,”IAQ”:274.53,”Ldr”:866}
To JSON αυτό string, μεταδίδεται μέσω συστήματος τεχνολογίας LoRa.
Κατασκευάσαμε ένα κεντρικό σταθμός βάσης (gateway) – χρησιμοποιόντας το Arduino R4 WiFi – όπως φαίνεται στην παρακάτω εικόνα.
Αυτός βρίσκεται στο εργαστήριο πληροφορικής του σχολείου μας.
Ο σταθμός αυτός, λαμβάνει τα δεδομένα, μέσω του συστήματος LoRa, κάνει τους απαραίτητους ελέγχους ακεραιότητας
και τα στέλνει μέσω του wifi που διαθέτει, στον κεντρικό server του σχολείου μας.
Στον κεντρικό server, έχουμε εγκαταστήσει – πάνω σε ένα Linux virtual machine – τον MQTT broker Mosquitto και την εφαρμογή NodeRED.
O MQTT λαμβάνει τα δεδομένα σε συγκεκριμένα topics για κάθε αίθουσα και τα στέλνει στο NodeRED.
Προγραμματίσαμε κατάλληλα το NodeRED, όπως φαίνεται στην παρακάτω εικόνα.
ώστε τα δεδομένα να εμφανίζονται σε web pages σε γραφικό περιβάλλον, όπως φαίνονται στην εικόνα αυτή:
Στην σελίδα αυτή έχουμε πρόσβαση ανά πάσα στιγμή με σύνδεσμο που βάλαμε στην ιστοσελίδα του σχολείου μας.
Επίσης από το NodeRED οι τιμές να στέλνονται και αποθηκεύονται στη βάση δεδομένων (PostgreSQL), ανά λεπτό.
Προγραμματίσαμε επίσης το NodeRED, ώστε να στέλνει τα δεδομένα στην cloud εφαρμογή για smartphone BLYNK.
Έτσι έχουμε online παρακολούθηση, σε γραφικό περιβάλλον, την κατάσταση που επικρατεί μέσα στις αίθουσες διδασκαλίας.
Βλέπουμε επίσης τις χρωματικές ενδείξεις των LEDs που υπάρχουν στους σταθμούς, ανάλογα με την ποιότητα του αέρα που μετράμε.
Όταν αυτές είναι στο πορτοκαλί ή στο κόκκινο, σημαίνει ότι πρέπει να εξαερίσουμε την αίθουσα.
Υλοποίηση του έργου
Το έργο διεξήχθει στις παρακάτω φάσεις:
Α. Διδασκαλία και εκμάθηση της γλώσσας προγραματισμού C++ – εξοικείωση με το Arduino.
Για τον σκοπό αυτό, δημιουργήσαμε για τους συμμετέχοντες μαθητές, κωδικούς για απομακρυσμένη πρόσβαση, στον κεντρικό server του σχολείου μας. Κεντρικός Server: Dell με CPU XEON x 2, RAM 96GB, αποθηκευτικός χώρος 3ΤΒ ssd. Hypervisor PROXMOX 7.1 με αρκετά LTSP virtuals machines για network boot.
Σε αυτόν έχουμε εγκαταστήσει το περιβάλλον ανάπτυξης Code::block καθώς και το περιβάλλον ανάπτυξης του μικροελεγκτή Arduino. Επίσης έχουμε εγκαταστήσει όλο το Ελεύθερο Λογισμικό Ανοιχτού Κώδικα, που χρησιμοποιήσαμε. Blender για την 3D σχεδίαση των κουτιών, GIMP για την επεξεργασία των φωτογραφιών – σχεδίων, Fritzing για τον σχεδιασμό των κυκλωμάτων, KiCAD για την σχεδίαση των ηλεκτρονικών κυκλωμάτων, kdenlive για την δημιουργία του video, Libreoffice για τα κείμενα – παρουσιάσεις κλπ. Έγιναν μαθήματα στην γλώσσα C++ και παράλληλα μάθαιναν προγραμματισμό πάνω στο Αrduino. Χρησιμοποιήθηκε επίσης η πλατφόρμα WokWi για προσομοίωση όλων των στοιχείων που χρησιμοποιήθηκαν στο έργο μας.
B. Αγορά των υλικών που χρησιμοποιήσαμε στο έργο μας.
Γ. Υλοποίηση των κυκλωμάτων των αισθητήρων και προγραμματισμός τους. Αυτό έγινε σταδιακά για τον καθένα ξεχωριστά.
Ηλεκτρονικό σχέδιο για τον κάθε σταθμό μέτρησης (Arduino R4 minima)
Ηλεκτρονικό σχέδιο για τον σταθμό βάσης Gateway (Arduino R4 WiFi & LoRa)
Δ. Σχεδίαση στο Blender
Σχεδιάσαμε στο πρόγραμμα Blender, όλα τα υλικά για την υλοποίηση των σταθμών. Έπειτα με τα σχέδια αυτά υλοποιήσαμε τα κουτιά που χρησιμοποιήσαμε για την συναρμολόγηση των σταθμών μέτρησης, αλλά και του σταθμού βάσης – gateway, από 3D printer.
E. Προγραμματισμός των σταθμών των μετρήσεων και τοποθέτησή τους σε ειδικές βάσεις για την εγκατάσταση στις αίθουσες διδασκαλίας.
O κώδικας υλοποιήθηκε σε περιβάλλον Arduino IDE για τους σταθμούς μέτρησης(dataloggers) αλλά και για τον σταθμό βάσης (gateway). Τον κώδικα θα τον βρείτε στο αποθετήριο του σχολείου μας στο github.
ΣΤ. Προγραμματισμός του Node Red
Προγραμματίσαμε κατάλληλα το NodeRED για την εμφάνιση αυτών των μετρήσεων που λαμβάνουμε από τον σταθμούς, σε γραφικό web περιβάλλον.
Βάλαμε σύνδεσμο στην ιστοσελίδα του σχολείου μας, ώστε να μπορούμε να παρακολουθούμε σε πραγματικό χρόνο, τις συνθήκες που επικρατούν μέσα
στις αίθουσες διδασκαλίας.
Επίσης προγραμματίσαμε το NodeRED, ώστε να στέλνει τις μετρήσεις, τόσο στην εφαρμογή Blynk για smartphones, όσο και στην βάση δεδομένων postgrsql η οποία
βρίσκεται στον κεντρικό server του σχολείου μας.
Συμπερασματικά
Με την υλοποίηση του παραπάνω έργου, οι μαθητές γνώρισαν το ελεύθερο λογισμικό, είδαν στην πράξη
ότι μπορούμε να υλοποιήσουμε οποιοδήποτε έργο, χρησιμοποιόντας μόνο ελεύθερο λογισμικό.
Επίσης έμαθαν πως γίνεται, με ειδικούς αλγορίθμους, η μια μηχανή να μπορεί να επικοινωνεί με την άλλη και μάλιστα να
καταλαβαίνει αν το μήνυμα που δέχεται είναι σωστό αλλοιώς να το απορρίπτει.
Μέσα από το έργο αυτό και μακροπρόθεσμα, θα συλλέξουμε χρήσιμες πληροφορίες που αφορούν την βελτίωση της
ποιότητας του αέρα μέσα στις τάξεις κατά την διάρκεια του μαθήματος. Αν οι καθηγητές και οι μαθητές ακολουθήσουν
τις υποδείξεις του συστήματος, που αφορούν τον εξαερισμό της τάξης, η ποιότητα του ατμοσφαιρικού αέρα θα βελτιωθεί, με αποτέλεσμα
την καλύτερη εγκεφαλική λειτουργία των μαθητών.
Δείτε το βίντεο της παρουσίασης του έργου μας
Στο παραπάνω έργο συμμετέχουν οι μαθητές:
Υπεύθυνος εκπαιδευτικός:
ΒΕΚΡΑΚΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ
Καθηγητής Πληροφορικής ΠΕ86