ESP8266 3D εκτύπωση
Πληροφορίες προϊόντος
Προδιαγραφές:
- Τίτλος: Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
- Συγγραφέας: Hans Henrik Skovgaard
- Έκδοση: Έκδοση Elektor
- ISBN: 978-3-89576-536-0 (Print), 978-3-89576-537-7 (eBook)
Οδηγίες χρήσης προϊόντος:
Σχετικά με το Προϊόν:
Ο Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT παρέχει προσιτές τιμές
λύσεις που χρησιμοποιούν τις τεχνολογίες ESP8266 και 3D εκτύπωσης. Συγγραφέας
του Hans Henrik Skovgaard, αυτό το βιβλίο είναι ένας ολοκληρωμένος οδηγός για
Λάτρεις των DIY και σχεδιαστές ηλεκτρονικών.
Βασικά Χαρακτηριστικά:
- Εξερεύνηση τεχνικών hacking οικιακών συσκευών
- Ενοποίηση των εννοιών του IoT με το ESP8266
- Αξιοποίηση τρισδιάστατης εκτύπωσης για τη δημιουργία προσαρμοσμένων λύσεων
Τρόπος Χρήσης:
- Ξεκινήστε διαβάζοντας τα εισαγωγικά κεφάλαια για να κατανοήσετε το
βασικά. - Ακολουθήστε τις οδηγίες βήμα προς βήμα για διάφορα έργα που περιγράφονται
στο βιβλίο. - Ανατρέξτε στα διαγράμματα και τις εικόνες για καλύτερα
κατανόηση. - Πειραματιστείτε με το παρεχόμενο π.χamples για να βελτιώσετε σας
δεξιότητες.
Συμβουλές για χρήστες:
- Βεβαιωθείτε ότι έχετε πρόσβαση σε μια μονάδα ESP8266 και έναν εκτυπωτή 3D
για πρακτική εφαρμογή. - Κρατήστε σημειώσεις και σημειώστε ιδέες για τη μοναδική οικιακή σας συσκευή
έργα. - Εγγραφείτε σε διαδικτυακές κοινότητες ή φόρουμ για να μοιραστείτε τις εμπειρίες σας και
μάθετε από τους άλλους.
Συχνές Ερωτήσεις (Συχνές Ερωτήσεις):
Ε: Μπορεί αυτός ο οδηγός να είναι χρήσιμος για αρχάριους
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ?
A: Ναι, ο οδηγός παρέχει αναλυτικά
επεξηγήσεις και πρακτικά έργα κατάλληλα για αρχάριους να μάθουν
και εξερευνήστε.
Ε: Υπάρχουν συγκεκριμένες απαιτήσεις υλικού που πρέπει να ακολουθήσετε
έργα;
A: Ενώ ο οδηγός εστιάζει στο ESP8266 και
Τρισδιάστατη εκτύπωση, βασικά ηλεκτρονικά εξαρτήματα και εργαλεία μπορεί επίσης να είναι
απαιτείται για ορισμένα έργα.
βιβλία
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
Προσιτές λύσεις με το ESP8266 και την τρισδιάστατη εκτύπωση
Χανς Χένρικ Σκόβγκααρντ
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
Προσιτές λύσεις με το ESP8266 και την τρισδιάστατη εκτύπωση
Χανς Χένρικ Σκόβγκααρντ
Αυτή είναι μια δημοσίευση Elektor. Η Elektor είναι η μάρκα πολυμέσων της
Elektor International Media BV PO Box 11, NL-6114-ZG Susteren, Ολλανδία Τηλέφωνο: +31 46 4389444
Ολα τα δικαιώματα διατηρούνται. Κανένα μέρος αυτού του βιβλίου δεν επιτρέπεται να αναπαραχθεί σε οποιαδήποτε υλική μορφή, συμπεριλαμβανομένης της φωτοτυπίας ή
αποθήκευση σε οποιοδήποτε μέσο με ηλεκτρονικά μέσα και είτε παροδικά είτε τυχαία για κάποια άλλη χρήση αυτής της δημοσίευσης, χωρίς τη γραπτή άδεια του κατόχου των πνευματικών δικαιωμάτων εκτός από τις διατάξεις του νόμου περί σχεδίων και ευρεσιτεχνιών πνευματικών δικαιωμάτων 1988 ή υπό τους όρους ενός άδεια που εκδίδεται από την Copyright Licensing Agency Ltd., 90 Tottenham Court Road, Λονδίνο, Αγγλία W1P 9HE. Οι αιτήσεις για την άδεια του κατόχου των πνευματικών δικαιωμάτων για αναπαραγωγή οποιουδήποτε μέρους της έκδοσης θα πρέπει να απευθύνονται στους εκδότες.
Δήλωση
Ο συγγραφέας και ο εκδότης έχουν καταβάλει κάθε δυνατή προσπάθεια για να διασφαλίσουν την ορθότητα των πληροφοριών που περιέχονται σε αυτό το βιβλίο. Δεν αναλαμβάνουν και δεν αποποιούνται καμία ευθύνη έναντι οποιουδήποτε μέρους για οποιαδήποτε απώλεια ή ζημία προκληθεί από σφάλματα ή παραλείψεις σε αυτό το βιβλίο, είτε αυτά τα σφάλματα ή παραλείψεις προκύπτουν από αμέλεια, ατύχημα ή οποιαδήποτε άλλη αιτία. Όλα τα προγράμματα που δίνονται στο βιβλίο είναι πνευματικά δικαιώματα του συγγραφέα και Elektor International Media. Αυτά τα προγράμματα μπορούν να χρησιμοποιηθούν μόνο για εκπαιδευτικούς σκοπούς. Πρέπει να ληφθεί γραπτή άδεια από τον Συγγραφέα ή τον Elektor για να μπορέσει να χρησιμοποιηθεί οποιοδήποτε από αυτά τα προγράμματα για εμπορικούς σκοπούς.
Βρετανική Βιβλιοθήκη Καταλογογράφηση σε Δεδομένα Δημοσιεύσεων
Ένα αρχείο καταλόγου για αυτό το βιβλίο είναι διαθέσιμο από τη Βρετανική Βιβλιοθήκη
ISBN 978-3-89576-536-0 Εκτύπωση ISBN 978-3-89576-537-7 eBook
© Copyright 2022: Elektor International Media BV Editor: Jan Buiting, MA Prepress Παραγωγή: D-Vision, Julian van den Berg
Το Elektor είναι μέρος της EIM, της κορυφαίας πηγής στον κόσμο βασικών τεχνικών πληροφοριών και ηλεκτρονικών προϊόντων για επαγγελματίες μηχανικούς, σχεδιαστές ηλεκτρονικών ειδών και τις εταιρείες που επιδιώκουν να τους προσελκύσουν. Καθημερινά, η διεθνής ομάδα μας αναπτύσσει και παρέχει περιεχόμενο υψηλής ποιότητας – μέσω μιας ποικιλίας καναλιών μέσων (συμπεριλαμβανομένων περιοδικών, βίντεο, ψηφιακών μέσων και μέσων κοινωνικής δικτύωσης) σε πολλές γλώσσες – σχετικά με το σχεδιασμό ηλεκτρονικών ειδών και τα ηλεκτρονικά είδη DIY. www.elektormagazine.com
4
Περιεχόμενα
Περιεχόμενα
Κεφάλαιο 1 Εισαγωγή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.1. Γιατί αυτό το βιβλίο; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2. Σε ποιον απευθύνεται αυτό το βιβλίο; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3. Πώς να χρησιμοποιήσετε αυτό το βιβλίο. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4. Η οργάνωση του βιβλίου. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.1. Κεφάλαιο 2: Εξαρτήματα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.2. Κεφάλαιο 3: Εγκατάσταση Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3. Κεφάλαιο 4: Εγκατάσταση emoncms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.4. Κεφάλαιο 5: Εγκατάσταση MQTT (κουνούπι) σε Raspberry Pi . . . . . . . . . . . . . . . 18 1.4.5. Κεφάλαιο 6: OpenSCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.6. Κεφάλαιο 7: ESP8266 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.7. Κεφάλαιο 8: ESP8266 Watchdogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.8. Κεφάλαιο 9: ESP8266 Over The Air Update/Programming (OTA) . . . . . . . . . . . . 18 1.4.9. Κεφάλαιο 10: Κεραία WiFi ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.10. Κεφάλαιο 11: ESP8266 Στέγαση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.11. Κεφάλαιο 12: VPN Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.12. Κεφάλαιο 13: Σχεδίαση λογισμικού/υλικολογισμικού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.13. Κεφάλαιο 14: IKEA Hack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.14. Κεφάλαιο 15: Οθόνη κλειδώματος πόρτας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.15. Κεφάλαιο 16: Αισθητήρας ενέργειας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.16. Κεφάλαιο 17: Έλεγχος Ψυγείου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4.17. Κεφάλαιο 18: Θερμοστάτης θερμοκηπίου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.18. Κεφάλαιο 19: Έλεγχος ρελέ 230-VAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.19. Κεφάλαιο 20: Αυτόνομος αισθητήρας θερμοκρασίας . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.20. Κεφάλαιο 21: Αισθητήρας θερμοκρασίας, πίεσης και υγρασίας . . . . . . . . . . . . . . . 20 1.4.21. Κεφάλαιο 22: Ελεγκτής IKEA Trådfri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.22. Κεφάλαιο 23: Αντιμετώπιση προβλημάτων . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.23. Κεφάλαιο 24: Διάταξη PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5. Συντομογραφίες . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.6. Αναφορές. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
1.7. Ανατροφοδότηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Κεφάλαιο 2 · Εξαρτήματα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1. ESP8266. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.1. Wemos/Lolin, γενικές σημειώσεις . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.2. Κατάσταση ύπνου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2. Raspberry Pi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.1. Διαμόρφωση Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3. Neopixel Jewel 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4. IKEA Grönö lamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5. SSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6. Maxim DS18B20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7. QRE1113 (Αναλογικό) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8. Silabs MGM210L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.9. Συσκευές εισόδου/εξόδου. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.9.1. Ασπίδα SHT30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.9.2. HP303B Shield. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Κεφάλαιο 3 · Εγκατάσταση Arduino IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1. Τυπική εγκατάσταση Arduino IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2. Υποστήριξη ESP8266. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3. SPI Flash File (SPIFFS) εγκατάσταση συστήματος . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4. Εναλλακτικές λύσεις για το SPI Flash File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Κεφάλαιο 4 · emoncms Εγκατάσταση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1 Ενημερώστε και αναβαθμίστε το Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2. Εγκαταστήστε εξαρτήσεις. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2.1. MariaDB & apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2.2. phpMyAdmin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2.3. PECL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.3. κωδικός emoncms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.3.1. Διαμόρφωση emoncms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4. modules emoncms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.4.1. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6
Περιεχόμενα
4.4.2. Γραφική παράσταση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.4.3. Εφαρμογές . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.5. Τεκμηρίωση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Κεφάλαιο 5 · Εγκατάσταση MQTT (κουνούπι) σε Raspberry Pi . . . . . . . . . . . . . . . . 74 5.1. Εγκατάσταση του μεσίτη Mosquitto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2. Εγκατάσταση του προγράμματος-πελάτη Mosquitto (RPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3. Επαλήθευση της εγκατάστασης Mosquitto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.4. Εγκατάσταση του προγράμματος-πελάτη Mosquitto (Windows PC) . . . . . . . . . . . . . . . . . . . . . . . . 83 Κεφάλαιο 6 · OpenSCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Κεφάλαιο 7 · ESP8266 Ασφάλεια . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 7.1. VPN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Κεφάλαιο 8 · ESP8266 Watchdogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.1. Οι φύλακες γενικά. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2. Βρόχος φύλακας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2.1.Λόγος εκκίνησης . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Κεφάλαιο 9 · ESP8266 Over The Air Update/Programming (OTA) . . . . . . . . . . . . . 96 9.1. web πρόγραμμα περιήγησης OTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.1.1. Διαμορφώστε το Arduino IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.1.2. Προετοιμάστε λογισμικό που λειτουργεί ήδη για ενημέρωση OTA. . . . . . . . . . . . . . . . . . . . . . . 97 9.1.3. Ενημέρωση ΟΤΑ π.χamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.1.3.1. Κατασκευή υλικολογισμικού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 9.1.3.2. Ενημέρωση υλικολογισμικού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.1.3.3. Fileκατασκευή συστήματος. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.1.3.4. Fileενημέρωση συστήματος. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.1.3.5. Ενημέρωση OTA με προστασία κωδικού πρόσβασης. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 9.1.4. ΚΛΗ ΟΤΑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Κεφάλαιο 10 · ESP8266 Κεραία WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.1. Διαστάσεις για εξωτερικές κεραίες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 10.2. Έτοιμες κεραίες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 10.3. Σωμένες κεραίες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 10.4. DIY κεραία. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 10.5. Κεραία DIY Yagi (2.4 GHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
10.5.1. Μηχανική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10.6. Μετρήσεις κεραίας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 10.7. Περαιτέρω μελέτη. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Κεφάλαιο 11 · ESP8266 Στέγαση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.1. Μίνι στάνταρ περίβλημα LOLIN D1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.2. LOLIN D1 mini pro-standard περίβλημα. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.3. Μίνι περίβλημα κλειδαριάς πόρτας LOLIN D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.4. Μίνι περίβλημα ελέγχου ψυγείου LOLIN D1 . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11.5. Μίνι περίβλημα αισθητήρα ενέργειας LOLIN D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.6. Περίβλημα ελεγκτή LOLIN D1 mini IKEA Trådfri . . . . . . . . . . . . . . . . . . . . . . . . 133 Κεφάλαιο 12 · VPN Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 12.1. Διαμόρφωση τείχους προστασίας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 12.2. Διαμόρφωση Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.2.1. Βασική διαμόρφωση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.2.2. Εγκατάσταση OpenVPN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.2.3. Διαμόρφωση OpenVPN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.2.3.1. Εξουσιοδότηση OpenVPN file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.2.3.2. Ξεκινήστε από την ώρα εκκίνησης. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.2.3.3. Διαμόρφωση της πύλης VPN (διασκεδαστική με πίνακες IP!) . . . . . . . . . . . . . . . 147 12.3. Χρήση της πύλης VPN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.3.1. Βελτιώσεις . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Κεφάλαιο 13 · Σχεδίαση λογισμικού/υλικολογισμικού . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13.1. Χρήση EEPROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.2. Βοηθητικές λειτουργίες . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.2.1. Εγκατάσταση των βοηθητικών λειτουργιών . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.2.2. formatBytes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.2.3. printFloat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.2.4 isNumeric() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.2.5. errorState(int state) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.2.6. keypressWait() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.2.7. CACHE_RAM_ATTR lwdtcb() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.2.8. lwdtFeedInit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8
Περιεχόμενα
13.2.9. lwdtFeed() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.2.10. getBootDevice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.2.11. startWiFi(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.2.12. showWiFiStatus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.2.13. doWifiConnect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 13.2.14. MQTT_connect(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Κεφάλαιο 14 · IKEA Hack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.2. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.2.1. Grönö lamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.2.2. ESP8266 περίβλημα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 14.3. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 14.3.1. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 14.3.2. Χαρακτηριστικά . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 14.3.3. Σχέδιο . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 14.3.3.1. web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 14.3.4. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 14.3.4.1. setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 14.3.4.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 14.3.5. Αιτήματα HTTP POST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 14.3.5.1. Ο κώδικας αιτήματος HTTP POST γενικά. . . . . . . . . . . . . . . . . . . . . . . . . . 172 14.3.5.2. Εντολές αιτήματος HTTP POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 14.3.6. Υλοποίηση του φωτισμού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 14.3.6.1. ΟΥΡΑΝΙΟ ΤΟΞΟ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 14.3.6.2. Rainbowcycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 14.3.6.3. Στατικός. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 14.3.6.3. Ξεθωριάζει . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 14.4. Λειτουργία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 14.4.1. Καθημερινή χρήση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 14.4.1.1. Ενεργοποίηση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 14.4.2. Διαμόρφωση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Κεφάλαιο 15 · Οθόνη κλειδαριάς πόρτας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
9
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
15.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 15.2. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 15.3. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 15.3.1. Το υλικολογισμικό Emoncms wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 15.3.1.1. setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 15.3.1.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 15.3.2. Ταμπλό Emoncms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 15.3.3. Υλικολογισμικό MQTT wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 15.3.3.1. Εκδότης πελάτη MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 15.3.3.2. Συνδρομητής πελάτη MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 15.3.4. Μεσίτης MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Κεφάλαιο 16 · Αισθητήρας ενέργειας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 16.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 16.2. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 16.3. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 16.3.1. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 16.3.1.1. setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 16.3.1.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 16.3.1.3. Λειτουργίες . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 16.4. Λειτουργία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 16.5. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Κεφάλαιο 17 · Έλεγχος Ψυγείου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 17.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 17.1.1. SSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 17.1.2. DS18B20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 17.2. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 17.2.1. Καμία απολύτως τροποποίηση στο ψυγείο. . . . . . . . . . . . . . . . . . . . . . . . . . 231 17.2.2. Τροποποίηση του ψυγείου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 17.3. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 17.3.1. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 17.3.2. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 17.3.2.1 setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Περιεχόμενα
17.3.2.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 17.3.3. Ρύθμιση θερμοκρασίας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 17.3.4. Λειτουργία Watchdog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 17.3.5. web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 17.3.5.1. Ρυθμίστε τη θερμοκρασία και την υστέρηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 17.3.5.2. Ανοίξτε το καταγραφικό θερμοκρασίας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 17.3.5.3. Αποθήκευση διαμόρφωσης. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 17.3.6. SPI Flash File Σύστημα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 17.3.7. Μεταγλώττιση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 17.4. Λειτουργία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 17.5. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Κεφάλαιο 18 · Θερμοστάτης θερμοκηπίου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 18.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 18.1.1. SSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 18.1.2. DS18B20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 18.2. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 18.3. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 18.3.1. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 18.3.2. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 18.3.2.1. setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 18.3.2.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 18.3.3. Ρύθμιση θερμοκρασίας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 18.3.4. Λειτουργία Watchdog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 18.3.5. web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 18.3.5.1 Ρύθμιση θερμοκρασίας και υστέρησης . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 18.3.5.2 Ανοιχτό καταγραφικό θερμοκρασίας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 18.3.5.3. Αποθήκευση διαμόρφωσης. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 18.3.6. SPI Flash File Σύστημα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 18.3.7. Μεταγλώττιση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 18.4. Λειτουργία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 18.5. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Κεφάλαιο 19 · Έλεγχος ρελέ 230-VAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
11
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
19.1. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 19.1.1. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 19.1.1.1.setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 19.1.1.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 19.1.2. Web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 19.2. Μηχανήματα υπολογιστών. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 19.2.1. SSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 19.2.2.1. Στέγαση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 19.2.2. Αναμετάδοση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 19.2.2.1 Στέγαση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 19.2.3. Ασπίδα ρελέ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 19.2.3.1. Στέγαση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 19.2.4. Εναλλακτική κατασκευή ρελέ 230 VAC On/Off. . . . . . . . . . . . . . . . . . . . . . 297 Κεφάλαιο 20 · Αυτόνομος αισθητήρας θερμοκρασίας. . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 20.1. Στέγαση . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 20.2. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 20.2.1. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 20.2.2. Λογισμικό με δυνατότητα OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 20.2.2.1. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 20.2.2.2. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 20.2.3. Λογισμικό με δυνατότητα αναστολής λειτουργίας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 20.2.3.1. Διαφορές και ρύθμιση της κατάστασης ύπνου υλικού. . . . . . . . . . . . . . . . . . . . . . . 304 20.2.3.2. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 20.2.3.3. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Κεφάλαιο 21 · Αισθητήρας θερμοκρασίας, πίεσης και υγρασίας . . . . . . . . . . . . . . . . . 309 21.1. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 21.2. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 21.2.1. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 21.2.1.1. HP303B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 21.2.1.2. SHT3x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 21.2.2. Υλικολογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 21.2.2.1. setup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Περιεχόμενα
21.2.2.2. loop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 21.2.3. Web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 21.3. Ταμπλό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Κεφάλαιο 22 · Ελεγκτής IKEA Trådfri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 22.1. Περιγραφή της έννοιας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 22.2. Φτάνοντας στις ενότητες του IKEA trådfri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 22.3. Σχηματική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 22.4. Μηχανική συναρμολόγηση. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 22.4.1. I2C Address jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 22.4.2. Εξωτερικοί σύνδεσμοι. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 22.4.3. Power jumpers ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 22.4.4. Αντιστάσεις σειράς LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 22.4.5. Ενότητες ZigBee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 22.4.6. Διάφορα . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 22.5. Λογισμικό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 22.5.1. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 22.5.1.1. Ρύθμιση "Test-and-debug" (). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 22.5.1.2. Βρόχος "Test-and-debug" (). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 22.5.1.3. Ρύθμιση ελεγκτή() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 22.5.1.4. Βρόχος ελεγκτή () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 22.5.2. web διεπαφή . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 22.5.3. Πρόσθετες βιβλιοθήκες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 22.6. Λειτουργία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 22.6.1. Διαμόρφωση του ελεγκτή (προσθήκη των μονάδων ZigBee) . . . . . . . . . . . . . 340 22.6.1.1. Προσθήκη μονάδας ZigBee με τηλεχειριστήριο. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 22.6.1.2. Προσθήκη μονάδας ZigBee χωρίς τηλεχειριστήριο. . . . . . . . . . . . . . . . . . . . . . . . . . . 345 22.6.2. Καθημερινή χρήση του ελεγκτή IKEA Trådfri. . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Κεφάλαιο 23 · Αντιμετώπιση προβλημάτων . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 23.1. Ζητήματα Υλικού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 23.1.1. DS18B20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 23.1.2. Κόκκινο/Πράσινο LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 23.1.3. Συμπιεστής. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
13
Οδηγός Hack-and-IoT Home Appliance Hack-and-IoT
23.1.4. Καλώδια USB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 23.2. Θέματα δικτύου. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 23.3. Υλικολογισμικό Wemos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 23.3.1. Επαναφορά . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 23.4. emoncms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 23.4.1. Εγκατάσταση γραφήματος. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 23.4.2. Εισαγωγή / Τροφοδοσίες. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 23.5. Ενότητες IKEA ZigBee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 23.5.1. Μεταφόρτωση λογισμικού. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 23.5.2. Προσθήκη μονάδων ZigBee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 23.5.3. Δοκιμή του ελεγκτή IKEA Trådfri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 23.5.4. Διακόπτει . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Κεφάλαιο 24 · Διάταξη PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 24.1. Οθόνη κλειδαριάς πόρτας PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 24.2. Ενεργειακός αισθητήρας. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 24.3. Ρυθμιστής ψυγείου. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 24.3.1. Ρυθμιστής PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 24.3.2. DS18B20 PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 24.4. Θερμοστάτης θερμοκηπίου. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 24.5. Ελεγκτής IKEA Trådfri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Κεφάλαιο 25 · Καταχώριση λογισμικού . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 25.1. Βοηθητικά προγράμματα αιτημάτων HTTP POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 25.1.1. PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 25.1.2. γ-κωδικός . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 25.1.3. πύθωνας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 25.2. Loop watchdog timer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 25.2.1. Βρίσκεται στο hhsUtility.h/cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 25.2.2. Για προσθήκη στο setup(): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 25.2.3. Για προσθήκη στο loop(): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Ευρετήριο . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Έγγραφα / Πόροι
![]() |
elektor ESP8266 3D Printing [pdf] Φύλλο δεδομένων ESP8266 3D Printing, ESP8266, 3D Printing, Printing |