Αφυγραντήρας Wi-Fi Apple HomeKit με βάση το ESP8266;: 6 βήματα (με εικόνες)
Αφυγραντήρας Wi-Fi Apple HomeKit με βάση το ESP8266;: 6 βήματα (με εικόνες)
Anonim
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266
Αφυγραντήρας Wi-Fi Apple HomeKit Βασισμένο στο ESP8266

Δυστυχώς υπάρχουν μόνο ένας ή δύο DeHumidifiers εκεί έξω που υποστηρίζουν το Apple HomeKit, αλλά αυτά έχουν πραγματικά υψηλές τιμές (300 $+). Έτσι αποφάσισα να φτιάξω τον δικό μου αφυγραντήρα Apple HomeKit με δυνατότητα Wi-Fi με βάση ένα φθηνό που έχω ήδη;

Μπορεί να λειτουργήσει εγγενώς με το HomeKit χρησιμοποιώντας το ESP8266, επομένως δεν απαιτείται homebridge, HAP-NodeJS!;

Δεδομένου ότι ο κώδικας είναι πολύ περίπλοκος και έχω χρησιμοποιήσει πολλές προσαρμοσμένες βιβλιοθήκες, έχω κάνει προ-μεταγλωττισμένα αρχεία υλικολογισμικού. Για όσους ενδιαφέρονται να δημιουργήσουν εγγενή έργα HomeKit, ο πηγαίος κώδικας για το esp-homekit είναι διαθέσιμος εδώ. Εάν δεν θέλετε να χρησιμοποιήσετε το υλικολογισμικό μου, το pinout GPIO είναι διαθέσιμο παρακάτω για να φτιάξετε το δικό σας;

Για περισσότερες πληροφορίες επισκεφθείτε τη σχετική σελίδα GitHub!;

Χαρακτηριστικά:

  • Μέτρηση υγρασίας με αισθητήρα SHT3x
  • Ρύθμιση υγρασίας στόχου
  • Έλεγχος ταχύτητας ανεμιστήρα
  • Επίπεδο νερού (μέσω LED και αυτόματη απενεργοποίηση όταν γεμίσει η δεξαμενή)
  • Κουμπί λειτουργίας/επαναφοράς

Μέρη PCB:

  • ESP12F/E/S
  • Αφυγραντήρας XROW600B
  • SHT3x Αισθητήρας θερμοκρασίας/υγρασίας
  • SMD 0805 αντιστάσεις
  • Πυκνωτές SMD 0805
  • AMS1117-3.3
  • Απλό κουμπί
  • Κεφαλίδα 1x4P 2,54mm (προαιρετικό)
  • IRF540NS
  • Πυκνωτής SMD 10x10.5 50V 100uF
  • Πυκνωτής SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • Επαγωγέας 330uH CRDH74
  • Δίοδος 1N4007
  • 2N3904
  • VH3.96-2Ρ
  • XH2.54 2P, 4P, 5P
  • 3MM κόκκινο/πράσινο LED
  • 3mm (ύψος) LED νάιλον διαχωριστής
  • 4P Male XH2.54 με καλώδιο (για αισθητήρα υγρασίας)

Προμήθειες

  • Κολλητικό σίδερο
  • Για τη μεταφόρτωση του κώδικα, μάλλον πρέπει να αγοράσετε έναν προσαρμογέα USB TTL.
  • Για την αποσυναρμολόγηση του αφυγραντήρα θα χρειαστείτε κατσαβίδια.
  • Προσαρμοσμένο PCB
  • Αφυγραντήρας XROW600B

Βήμα 1: Αποσυναρμολόγηση

Αποσυναρμολόγηση
Αποσυναρμολόγηση
Αποσυναρμολόγηση
Αποσυναρμολόγηση
Αποσυναρμολόγηση
Αποσυναρμολόγηση

Για να αποσυναρμολογήσετε τον Αφυγραντήρα, το μόνο που χρειάζεστε είναι ένα κατσαβίδι που μπορεί να χωρέσει στις οπές στο πίσω μέρος της συσκευής!;

  1. Ξεβιδώστε τις 2 βίδες στο κάτω μέρος της συσκευής
  2. Ξεβιδώστε τις 4 βίδες στο πίσω μέρος της συσκευής
  3. Τώρα μπορείτε να αφαιρέσετε το πλαστικό περίβλημα
  4. Αποσυνδέστε κάθε υποδοχή στο PCB
  5. Ξεβιδώστε τις 2 βίδες που συγκρατούν το PCB

Βήμα 2: Προσαρμοσμένο PCB

Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB
Προσαρμοσμένο PCB

Έχω σχεδιάσει ένα προσαρμοσμένο PCB που μπορεί να αντικαταστήσει το αρχικό, πολύ βασικό. Ουσιαστικά είναι απλώς ένας μετατροπέας τροφοδοσίας / αναβάθμισης από 12V σε 3.3V, δύο MOSFET για οδήγηση του ανεμιστήρα και του peltier, το ίδιο το ESP8266, δύο LED και το απτικό κουμπί όπως στο αρχικό.

Έχω προσθέσει επίσης τους ίδιους συνδετήρες για το νέο PCB όπως στον αρχικό και έναν επιπλέον σύνδεσμο 4 ακίδων για τον αισθητήρα υγρασίας SHT3x. Το τροφοδοτικό 9V που συνοδεύει τον Αφυγραντήρα μπορεί επίσης να χρησιμοποιηθεί! Όλα είναι plug 'n' play;

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τα PCB εδώ

Μπορείτε να βρείτε αρχεία PCB στο PCBWay

Αισθητήρας υγρασίας SHT3x

Πρέπει να συνδέσετε τον αισθητήρα SHT3x χρησιμοποιώντας έναν αρσενικό σύνδεσμο XH2.54-4P με καλώδια (συνδεδεμένα στη λίστα μερών) απλά συνδέοντας τα πάντα όπως πρέπει: VCC σε VCC, GND σε GND, SDA σε SDA και SCL σε SCL;

Προς το παρόν στη ρύθμισή μου, ο αισθητήρας κρέμεται έξω από τη θήκη του αφυγραντήρα, εξαρτάται από εσάς πού/πώς θα τοποθετήσετε τον αισθητήρα, αλλά μέσα στη θήκη του αφυγραντήρα, η απορροφημένη υγρασία/νερό μπορεί να επηρεάσει την ένδειξη του αισθητήρα!;

GPIO Pinout

Εάν θέλετε να χρησιμοποιήσετε το δικό σας υλικολογισμικό, εδώ είναι το pinout:

  • Κουμπί - GPIO0 (D3 σε wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 σε wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 σε wemos D1 mini)
  • Ενσωματωμένο LED GPIO2 (D4 σε wemos D1 mini)
  • LED ισχύος - GPIO14 (D5 σε wemos D1 mini)
  • Ανεμιστήρας - GPIO15 (D8 σε wemos D1 mini)
  • Peltier - GPIO12 (D6 σε wemos D1 mini)
  • Αισθητήρας δεξαμενής - GPIO13 (D7 σε wemos D1 mini)

Βήμα 3: Ρύθμιση λογισμικού

Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού

Μπορείτε να κατεβάσετε το υλικολογισμικό από τη σελίδα μου στο GitHub

Windows

Για Windows μπορείτε να χρησιμοποιήσετε το επίσημο Firmware Download Tool από το Espressif!

Η ρύθμιση των διευθύνσεων φλας (0x2000), του μεγέθους φλας (4MB/32mbit) και της λειτουργίας φλας (DIO/QIO) είναι πολύ σημαντικό βήμα, αλλά αυτές οι ρυθμίσεις ενδέχεται να αλλάξουν με βάση τη μονάδα που χρησιμοποιείτε! Επίσης, σας προτείνω να διαγράψετε το φλας κατά την πρώτη εγκατάσταση του υλικολογισμικού πριν ανεβάσετε τα αρχεία.bin!

Ρυθμίσεις:

  • Ποσοστό Baud 115200
  • Μέγεθος φλας 4MB ή 32mbit (ανάλογα με τη μονάδα σας)
  • Λειτουργία Flash QIO (ή DIO, ανάλογα με τη μονάδα σας)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40MHz

MacOS

Για MacOS μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο λάμψης!

  • Ρυθμίσεις: Διαγραφή φλας - ναι (μόνο κατά την πρώτη εγκατάσταση)
  • Ποσοστό Baud 115200
  • Μέγεθος φλας 4MB ή 32mbit (ανάλογα με τη μονάδα σας)
  • Λειτουργία Flash QIO (ή DIO, ανάλογα με τη μονάδα σας)
  • Αρχείο: main.bin
  • 40MHz

Χειροκίνητα Flash

Πρέπει να εγκαταστήσουμε το esptool.py στο Mac μας για να μπορέσουμε να αναβοσβήσουμε τη μονάδα ESP. Για να εργαστείτε με το esptool.py, θα χρειαστείτε είτε Python 2.7, Python 3.4 είτε μια νεότερη εγκατάσταση Python στο σύστημά σας. Σας συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη έκδοση Python, οπότε μεταβείτε στον ιστότοπο της Python και εγκαταστήστε τον στον υπολογιστή σας. Με την Python εγκατεστημένη, ανοίξτε ένα παράθυρο τερματικού και εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση esptool.py με pip:

pip εγκατάσταση esptool

Σημείωση: με ορισμένες εγκαταστάσεις Python αυτή η εντολή ενδέχεται να μην λειτουργεί και θα λάβετε σφάλμα. Εάν συμβαίνει αυτό, δοκιμάστε να εγκαταστήσετε το esptool.py με:

pip3 install esptool python -m pip install esptool pip2 install esptool

Μετά την εγκατάσταση, θα έχετε εγκατεστημένο το esptool.py στον προεπιλεγμένο κατάλογο εκτελέσιμων Python και θα πρέπει να μπορείτε να το εκτελέσετε με την εντολή esptool.py. Στο παράθυρο τερματικού, εκτελέστε την ακόλουθη εντολή:

esptool.py

Με το esptool.py εγκατεστημένο στον υπολογιστή σας, μπορείτε να αναβοσβήνετε εύκολα στην πλακέτα ESP8266 με το υλικολογισμικό. Αρχικά πρέπει να κατεβάσετε τρία αρχεία κάδου: rboot.bin και blank_config.bin και την πιο πρόσφατη έκδοση. Το rboot.bin περιέχει το πρόγραμμα εκκίνησης για το ESP8266 και το blank_config.bin σε ένα μόνο κενό αρχείο διαμόρφωσης και το ledstrip.bin περιέχει το υλικολογισμικό. Τώρα συνδέστε τη συσκευή σας στον προσαρμογέα FTDI σε λειτουργία flash.

Για να ενεργοποιήσετε το λογισμικό ESP8266 που αναβοσβήνει, ο ακροδέκτης GPIO0 πρέπει να τραβηχτεί χαμηλά κατά την τροφοδοσία της συσκευής. Με το προσαρμοσμένο μου PCB υπάρχει ένα κουμπί, το οποίο πρέπει να πατήσετε και να κρατήσετε ενώ συνδέετε τον προσαρμογέα FTDI στον υπολογιστή σας. Αντίθετα, για μια κανονική εκκίνηση, το GPIO0 πρέπει να τραβηχτεί ψηλά ή να επιπλέει. Έναρξη σε FLASH MODE Μεταβείτε στον κατάλογο που δημιουργήσατε όπου τοποθετήσατε τα αρχεία που έχετε κατεβάσει προηγουμένως rboot.bin blank_config.bin (π.χ. Λήψεις) Ανοίξτε την εφαρμογή Τερματικό. Κάντε κλικ στο εικονίδιο Finder στην αποβάθρα σας. Κάντε κλικ στην επιλογή Μετάβαση. Κάντε κλικ στην επιλογή Βοηθητικά προγράμματα. Κάντε διπλό κλικ στο τερματικό.

Αλλαγή στον κατάλογο λήψεων.

Σημείωση: Εάν χρησιμοποιείτε άλλη βιβλιοθήκη για την αποθήκευση των τριών αρχείων.bin, μεταβείτε σε αυτήν τη βιβλιοθήκη χρησιμοποιώντας την εντολή `cd`: Χρησιμοποιήστε το esptool.py για να αναβοσβήνει η συσκευή σας.

λήψεις cd

Θα χρειαστείτε έναν προσαρμογέα USB TTL για σύνδεση στο ESP8266. Εάν χρησιμοποιείτε Wemos D1 Mini που χρειάζεται μόνο καλώδιο microUSB, το Wemos διαθέτει ενσωματωμένο προσαρμογέα TTL.

Κατά την πρώτη εγκατάσταση του υλικολογισμικού πρέπει να σβήσουμε το φλας:

esptool.py -p / dev / erase_flash

Κανονικά, το ESPPort σας θα είναι κάτι σαν /dev /cu.usbserial-`xxxxxx`. Στη συνέχεια, ρυθμίστε ξανά τη συσκευή σας σε λειτουργία flash και αναβοσβήνετε το νέο υλικολογισμικό:

esptool.py -p /dev/cu.wchusbserial1420 -baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 main.bin

Ρύθμιση Wi-Fi και HomeKit

Ρύθμιση Wi-Fi

Πρέπει να διαμορφώσετε το δίκτυο wifi πριν προσθέσετε το αξεσουάρ στο HomeKit. Για να διαμορφώσετε τις ρυθμίσεις Wi-Fi, η συσκευή δημιουργεί το δικό της Wi-Fi σε λειτουργία AP. Πρέπει να συνδεθείτε σε αυτό για να ρυθμίσετε το δίκτυο Wi-Fi. Απλώς πάρτε τη συσκευή σας iOS, μεταβείτε στις Ρυθμίσεις-> Wi-Fi και αναζητήστε ένα SSID που ονομάζεται HomeKid, ακολουθούμενο από τη διεύθυνση MAC της μονάδας και συνδεθείτε σε αυτήν. Για λόγους ασφαλείας, το AP προστατεύεται με κωδικό πρόσβασης!

Προεπιλεγμένος κωδικός πρόσβασης AP: 12345678

Περιμένετε μερικά δευτερόλεπτα έως ότου εμφανιστεί ένας ιστός που σας δείχνει όλα τα δίκτυα Wi-Fi που έχει εντοπίσει η συσκευή. Επιλέξτε το δικό σας και εισαγάγετε τον κωδικό πρόσβασης! Στη συνέχεια, κάντε κλικ στο κουμπί Join! Η μονάδα θα προσπαθήσει να συνδέσει το επιλεγμένο δίκτυο Wi-Fi, αυτό θα διαρκέσει μερικά δευτερόλεπτα.

Σημείωση: Εάν ο κωδικός πρόσβασης είναι λάθος, μπορείτε να επαναφέρετε τις ρυθμίσεις Wi-Fi κρατώντας πατημένο το κουμπί για 10 δευτερόλεπτα

Ρύθμιση HomeKit

Στη συσκευή σας iOS, ανοίξτε το Home App και ακολουθήστε τα κανονικά βήματα για να προσθέσετε ένα νέο αξεσουάρ. Η ρύθμιση της σύζευξης διαρκεί περίπου 30 δευτερόλεπτα.

Ο κωδικός HomeKit είναι 586-84-417

Επίσης, μπορείτε να σαρώσετε αυτόν τον κωδικό QR HomeKit.

Σημείωση: Εάν η σύζευξη αποτύχει, μπορείτε να αποσυνδέσετε τη συσκευή σας, να την επαναφορτίσετε και να ξεκινήσετε ξανά τη ρύθμιση του HomeKit (οι ρυθμίσεις Wifi διατηρούνται διαμορφωμένες). Μετά την επιτυχή σύζευξη, το LED LED αναβοσβήνει λευκό 3 φορές!

Βήμα 4: Συνδέσεις PCB

Συνδέσεις PCB
Συνδέσεις PCB
Συνδέσεις PCB
Συνδέσεις PCB

Για το σχεδιασμό PCB επέλεξα τους ίδιους συνδετήρες με αυτούς του αρχικού PCB!;

Αυτό το βήμα λοιπόν θα πρέπει να είναι απλό:

  • Συνδέστε τον ανεμιστήρα στην υποδοχή ανεμιστήρα
  • Συνδέστε το TEC (μονάδα peltier) στον αντίστοιχο σύνδεσμο
  • Συνδέστε το βύσμα τροφοδοσίας 5 ακίδων στην αντίστοιχη υποδοχή
  • Συνδέστε τη μονάδα SHT3x στη δική της υποδοχή

Βήμα 5: Το βάζουμε μαζί

Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί
Το βάζουμε μαζί

Η τοποθέτηση της συσκευής είναι η ίδια διαδικασία με την αποσυναρμολόγηση με αντίστροφη σειρά;

Βήμα 6: Χρήσιμες σημειώσεις;

Χρήσιμες σημειώσεις
Χρήσιμες σημειώσεις

Ο αφυγραντήρας έχει ορισμένα χαρακτηριστικά ασφαλείας όταν το δοχείο είναι γεμάτο και η συσκευή λειτουργεί:

  • Κλείνει αυτόματα το Fan/Peltier μέχρι να αδειάσει η δεξαμενή
  • Ανάβει αμέσως το κόκκινο LED
  • Αναβοσβήνει το LED τροφοδοσίας 3 φορές κάθε 30 δευτερόλεπτα

Διαθέτει επίσης δυνατότητα ασφαλείας σε περίπτωση που ο αισθητήρας SHT3x δεν λειτουργεί σωστά:

  • Κλείνει αυτόματα το Fan/Peltier μέχρι να αδειάσει η δεξαμενή
  • Ρύθμιση της τρέχουσας υγρασίας στο 0%
  • Αναβοσβήνει το LED ισχύος 2 φορές κάθε 30 δευτερόλεπτα

Όταν και το SHT3x έχει σφάλμα και το ρεζερβουάρ είναι γεμάτο, η λυχνία LED λειτουργίας αναβοσβήνει 6 φορές κάθε 30 δευτερόλεπτα.

Στο ESP8266 έχει κάποιο σφάλμα που δεν χρειάζεται να αποσυνδέσετε τη συσκευή από την τροφοδοσία, πατώντας τρεις φορές το κουμπί θα επανεκκινήσετε το ESP8266!

Όταν ο αφυγραντήρας ενεργοποιηθεί και η τρέχουσα υγρασία είναι ίση και/ή μικρότερη από την υγρασία στόχου, η συσκευή θα μεταβεί σε κατάσταση αναμονής. Στην εφαρμογή Home θα εμφανίζει "Ρύθμιση σε …" όταν η συσκευή βρίσκεται σε αδράνεια και θα εμφανίζει "Χαμηλώνοντας σε …" όταν λειτουργεί!

Ενημέρωση υλικολογισμικού

Έχω προγραμματίσει να εφαρμόσω ενημερώσεις υλικολογισμικού Over-The-Air (OTA), αλλά δεν είναι τόσο αξιόπιστο, οπότε η ενημέρωση πρέπει να γίνεται χειροκίνητα όπως στην πρώτη εγκατάσταση! Η μόνη διαφορά είναι ότι δεν χρειάζεται να διαγράψετε το φλας, απλά αναβοσβήνοντας το νεότερο υλικολογισμικό χωρίς να το διαγράψετε θα διατηρήσει τις ρυθμίσεις Wi-Fi / HomeKit!;