Πως φτιάχτηκε ο καταγραφέας
Ο καταγραφέας Ηλιακός LIVE έχει φτιαχτεί με υλικά και κώδικα OPEN SOURCE.
Κύριος μικροελεγκτής είναι ένας ESP8266 Wifi και πλαισιώνεται από αισθητήρες όπως :
- DS18B20 για την μέτρηση της θερμοκρασίας μέσα στο boiler του ηλιακού
- DHT21 για την μέτρηση της θερμοκρασίας περιβάλλοντος
- LDR για την μέτρηση της έντασης του φωτός
Η εικόνα της WEBCAM μεταδίδεται από μια ESP32-CAM συνδεμένη στο διαδίκτυο
Για τον προγραμματισμό του ESP8266 και του ESP32-CAM χρησιμοποιήθηκε το περιβάλλον του ARDUINO IDE
Για την αποθήκευση και παρουσίαση των δεδομένων γίνεται χρήση της PHP/MySQL, του WordPress, Google charts κ.α
HARDWARE
Μικροελεγκτής ESP8266
Το ESP8266 είναι ένα φθηνό και ευέλικτο Wi-Fi module που χρησιμοποιείται ευρέως για εφαρμογές IoT (Internet of Things). Διαθέτει ενσωματωμένο Wi-Fi, δυνατότητα προγραμματισμού σε γλώσσα C ή Lua, και υποστηρίζει πολλαπλά πρωτόκολλα επικοινωνίας, όπως HTTP και MQTT. Διαθέτει έναν μικροελεγκτή Tensilica L106 με δυνατότητα λειτουργίας στα 80 ή 160 MHz και μπορεί να συνδεθεί με διάφορους αισθητήρες και συσκευές μέσω των GPIO pins του. Χρησιμοποιείται για απομακρυσμένο έλεγχο και συλλογή δεδομένων σε έργα αυτοματισμού, έξυπνων σπιτιών και άλλες εφαρμογές δικτύωσης. Αυτός είναι ο μικροελεγκτής που χρησιμοποιεί ο Ηλιακός LIVE για τη συλλογή δεδομένων και επιλέχθηκε για το χαμηλό του κόστος και την πληθώρα πηγών και βιβλιοθηκών που είναι διαθέσιμες για αυτόν.
DS18B20 αισθητήρας θερμοκρασίας αδιάβροχος
Το DS18B20 είναι ένας ψηφιακός αισθητήρας θερμοκρασίας υψηλής ακρίβειας, ο οποίος επικοινωνεί μέσω του πρωτοκόλλου 1-Wire. Μπορεί να μετρά θερμοκρασίες από -55°C έως 125°C με ακρίβεια ±0.5°C, μέσα στο εύρος -10°C έως 85°C. Ένα από τα βασικά χαρακτηριστικά του είναι η δυνατότητα παραλληλισμού πολλών αισθητήρων στον ίδιο δίαυλο, λόγω της μοναδικής 64-bit διεύθυνσης που διαθέτει κάθε αισθητήρας. Χρησιμοποιείται σε διάφορες εφαρμογές, όπως σε μετρήσεις θερμοκρασίας περιβάλλοντος, θερμοκρασία υγρών και συστήματα ελέγχου θερμοκρασίας. Ο αισθητήρας αυτός είναι κατάλληλος για μετρήσεις σε δοχεία λόγω σχήματος. Μπορεί να τοποθετηθεί μέσα στη σωλήνα του ηλεκτρικό θερμοστάτη των μπόιλερ και έχει τη δυνατότητα να μετρήσει πάνω από 100 βαθμούς που είναι ζητούμενο για την περίπτωσή μας. Είναι αδιάβροχος, μετρά ακόμη και μέσα σε υγρό παρόλο που στην περίπτωση μας δεν χρειάζεται κάτι τέτοιο.
DHT21 αισθητήρας θερμοκρασίας και υγρασίας
Ο αισθητήρας DHT21 (ή AM2301) είναι ένας ψηφιακός αισθητήρας θερμοκρασίας και υγρασίας. Μπορεί να μετρά θερμοκρασία με ακρίβεια ±0.5°C και σχετική υγρασία με ακρίβεια ±3%. Ο αισθητήρας παρέχει τα δεδομένα μέσω ενός ψηφιακού σήματος, καθιστώντας τον ιδανικό για χρήση με μικροελεγκτές όπως το ESP8266. Χρησιμοποιείται συνήθως σε εφαρμογές ελέγχου κλίματος, όπως σε έξυπνα συστήματα HVAC, μετεωρολογικούς σταθμούς, και άλλες εφαρμογές περιβαλλοντικής παρακολούθησης. Από την εμπειρία μας και με άλλα project προτείνουμε το συγκεκριμένο αισθητήρα θερμοκρασίας. Είναι αξιόπιστος τόσο στις μετρήσεις όσο και σε συνεχόμενη χρήση.
LDR αισθητήρας έντασης του φωτός
ESP32-CAM wifi module
SOFTWARE
Σε αυτή τη σελίδα γίνεται αναφορά στις απαιτήσεις σε SOFTWARE για το project Ηλιακός LIVE.
Η γλώσσα προγραμματισμού PHP και η βάση δεδομένων MySQL είναι δύο από τις πιο δημοφιλείς τεχνολογίες για την ανάπτυξη δυναμικών ιστοσελίδων και εφαρμογών ιστού. Ο συνδυασμός PHP και MySQL είναι κοινός σε εφαρμογές όπως WordPress, Joomla, και άλλες πλατφόρμες, προσφέροντας ευελιξία, ταχύτητα και ευκολία ανάπτυξης.
Στην περίπτωση της ιστοσελίδας μας η φιλοξενία γίνεται σε WordPress. Για τη αποθήκευση των δεδομένων που στέλνει ο μικροελεγκτής έγινε χρήση της βάσης δεδομένων MySQL με την PHP να είναι η γλώσσα προγραμματισμού που τα χειρίζεται τα δεδομένα, τα επεξεργάζεται και τα εμφανίζει στην ιστοσελίδα. Η οπτικοποίησή τους μέσω γραφικών παραστάσεων γίνεται μέσω των Google Charts.
PHP
Είναι μια γλώσσα προγραμματισμού από την πλευρά του διακομιστή, σχεδιασμένη για την κατασκευή δυναμικού περιεχομένου και αλληλεπίδρασης με βάσεις δεδομένων. Χρησιμοποιείται ευρέως για την ανάπτυξη ιστοσελίδων και εφαρμογών, επιτρέποντας την εκτέλεση λογικής, τη διαχείριση αρχείων και την επικοινωνία με βάσεις δεδομένων.
MySQL
Είναι ένα δημοφιλές σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων (RDBMS), που χρησιμοποιείται για την αποθήκευση και διαχείριση δεδομένων. Συνδέεται άψογα με PHP, επιτρέποντας στους προγραμματιστές να δημιουργούν εφαρμογές που μπορούν να αποθηκεύουν και να ανακτούν δεδομένα με ευκολία, όπως σε φόρμες εγγραφής, συστήματα διαχείρισης περιεχομένου (CMS) και ηλεκτρονικά καταστήματα
Google Charts
Το Google Charts είναι ένα εξαιρετικό εργαλείο για την οπτικοποίηση δεδομένων, και είναι ιδιαίτερα χρήσιμο όταν θέλουμε να αναπαραστήσουμε δεδομένα που προέρχονται από IoT loggers. Στην περίπτωση των δεδομένων ενός IoT logger, τα οποία μπορεί να περιλαμβάνουν μετρήσεις όπως θερμοκρασίες, υγρασίες, φωτεινότητες και άλλες παραμέτρους από αισθητήρες, το Google Charts προσφέρει μια εύχρηστη και δυναμική λύση για να τα παρουσιάσουμε με γραφήματα.
Arduino IDE
Το Arduino IDE είναι ένα εξαιρετικό εργαλείο για τον προγραμματισμό μικροελεγκτών και αισθητήρων σε έργα IoT, όπως αυτό με τον IoT logger. Παρέχει ένα απλό και φιλικό περιβάλλον για τη συγγραφή και ανέβασμα του κώδικα στον μικροελεγκτή, υποστηρίζοντας διάφορες πλατφόρμες Arduino και βιβλιοθήκες. Η χρήση του IDE διευκολύνει την ανάπτυξη του κώδικα, με δυνατότητες αποσφαλμάτωσης και παρακολούθησης δεδομένων σε πραγματικό χρόνο, ενώ προσφέρει άμεση σύνδεση με την πλατφόρμα Arduino για εύκολη αποστολή του κώδικα στη συσκευή. Είναι ιδανικό για γρήγορη ανάπτυξη, πρωτότυπα και εύκολες ρυθμίσεις στον προγραμματισμό του έργου.