Πίνακας περιεχομένων:

MQTT/Google Home DoorBell χρησιμοποιώντας ESP-01: 6 βήματα
MQTT/Google Home DoorBell χρησιμοποιώντας ESP-01: 6 βήματα

Βίντεο: MQTT/Google Home DoorBell χρησιμοποιώντας ESP-01: 6 βήματα

Βίντεο: MQTT/Google Home DoorBell χρησιμοποιώντας ESP-01: 6 βήματα
Βίντεο: Tasmota #05 | Smart Fan v3 with LED Buttons | Interlock 2024, Νοέμβριος
Anonim
MQTT/Google Home DoorBell Using ESP-01
MQTT/Google Home DoorBell Using ESP-01

Σας έχει λείψει ποτέ να απαντήσετε σε έναν καλεσμένο που χτύπησε την πόρτα σας μόνο και μόνο επειδή βρίσκεστε σε ένα μέρος του σπιτιού που είναι πολύ μακριά για να ακούσετε το κουδούνι της πόρτας; όπως υπόγειο, υπνοδωμάτιο με κλειστή πόρτα ή ίσως παρακολουθούσατε τηλεόραση ή ακούγατε μουσική.

Αν μου αρέσει, έχετε ένα ή περισσότερα ηχεία Google στο σπίτι σε πολλές τοποθεσίες σε όλο το σπίτι σας, αυτό το διδακτικό μπορεί να είναι αυτό που χρειάζεστε.

Σε αυτό το Instructable πρόκειται να σας δείξω πώς να προσθέσετε τον πελάτη MQTT σε υπάρχοντα κουδούνι για να επικοινωνήσετε με τον μεσίτη MQTT με ανακοίνωση στο google home / pushbullet, χρησιμοποιώντας το NodeRED. Αυτό το έργο δεν αντικαθιστά τον διακόπτη κουδουνιού πόρτας ούτε τον ήχο. Χρησιμοποιεί ακόμα κανονικό μηχανικό κουμπί για το κουδούνι της πόρτας.

Θα προσθέσουμε τη μονάδα ESP-01 στο υπάρχον σύστημα κουδουνιών 16VAC προσθέτοντας λειτουργικότητα MQTT για αποστολή μηνύματος στον μεσίτη MQTT (όταν πατηθεί ο διακόπτης κουδουνιού). Ο μεσίτης MQTT θα μετέφερε το μήνυμα στο NodeRED. Με τη λήψη του μηνύματος MQTT, το NodeRED έστελνε ανακοίνωση σε πολλές οικιακές συσκευές google και προαιρετικά έστελνε μήνυμα στο κινητό/πρόγραμμα περιήγησης μέσω pushbullet.

Έχω πάθος για τον αυτοματισμό του σπιτιού DIY και προσθέτω αργά IOT στο σπίτι μου. Το Google Home ήταν μια από τις κεντρικές λειτουργίες στον αυτοματισμό του σπιτιού μου.

Ο γιος μου μου έδωσε την ιδέα για αυτό το έργο όταν με ρώτησε αν μπορώ να κάνω το google home να ανακοινώνει κάθε φορά που κάποιος μας χτυπά το κουδούνι. Έχουμε 2 ιστορίες + τελειώστε το υπόγειο στο σπίτι και πολλές φορές δεν μπορούσαμε να ακούσουμε τον ήχο όταν βρισκόμαστε στο υπόγειο ή στον επάνω όροφο στο υπνοδωμάτιο με κλειστή πόρτα ή με ανοιχτή τηλεόραση.

Έχουμε 4 google home mini στο σπίτι μας τοποθετημένα σε διάφορα μέρη/δωμάτια και, χρησιμοποιώντας τα σπίτια της Google για να ανακοινώσουμε ένα κουδούνι, γνωρίζουμε αμέσως οπουδήποτε στο σπίτι αν κάποιος χτυπήσει το κουδούνι.

Στο σπίτι μου, χρησιμοποιώ το RaspberryPi ZeroW για τη φιλοξενία διακομιστή Mosquitto MQTT και NodeRED. Λειτουργεί πάνω από ένα χρόνο χωρίς κανένα πρόβλημα.

Βιβλιογραφικές αναφορές:

  • Διαγράμματα καλωδίωσης πόρτας:
  • Εγκαταστήστε Mosquitto MQTT Broker στο Raspberry Pi:
  • Εγκαταστήστε το NodeRED στο Raspberry Pi:

Βήμα 1: Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime

Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime
Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime
Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime
Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime
Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime
Δημιουργήστε το Circuit to Interface ESP-01 και Door Chime

Το πρώτο βήμα θα ήταν η δημιουργία του κυκλώματος που θα ήταν η διεπαφή μεταξύ του ESP-01 και του Door Chime. Ο τυπικός ήχος πόρτας ενεργοποιείται όταν υπάρχει 16VAC μεταξύ των καρφιτσών "TRANS (πρώην)" και "FRONT/REAR", όπως φαίνεται στην πρώτη μου φωτογραφία. Η τάση εμφανίζεται σε αυτές τις ακίδες όταν πατάτε το κουμπί του κουδουνιού της πόρτας.

Το κύκλωμα που σχεδίασα είναι να αντιληφθεί αυτό το σήμα 16VAC και να το μετατρέψει σε ψηφιακό σήμα περίπου 3.3VDC. Είναι ένας βασικός ανορθωτής μισού κύματος που σχηματίζεται από D1 και C1. Δεν χρειάζεται να έχουμε ανορθωτή πλήρους κύματος σε αυτήν την κατάσταση, καθώς υπάρχει πολύ μικρή φόρτωση στην έξοδο DC, εξοικονομώντας μας λίγο ακίνητη περιουσία στον πίνακα. Θέλω να κάνω το ταμπλό όσο το δυνατόν λιγότερο ώστε να μπορώ να το τοποθετήσω μέσα στον υπάρχοντα ήχο μου.

Τα R1 και R2 σχηματίζουν διαχωριστή τάσης για να μειώσουν την αιχμή της τάσης DC σε περίπου 3,3V.

Τα R3, TR1 και R4 σχηματίζουν έναν μετατροπέα για να παρέχουν αντίστροφη λογική για το ESP-01 GPIO-2. Αυτό είναι απαραίτητο για την παροχή λογικής HIGH κατά την εκκίνηση (με το pull-up R4 και R5) για εκκίνηση του ESP-01 από το φλας. Όταν πατηθεί το κουμπί του κουδουνιού της πόρτας, παρουσιάζει λογική LOW στο GPIO-2. Το TR1 μπορεί να είναι οποιοδήποτε τρανζίστορ NPN μικρής ισχύος, στην περίπτωσή μου χρησιμοποίησα το 2N3904.

Το V1 είναι ένα τροφοδοτικό 3.3VDC που έφτιαξα χρησιμοποιώντας έναν παλιό φορτιστή κινητών 5V σε συνδυασμό με ρυθμιστή AMS1117 3.3VDC που θα δείξω στο επόμενο βήμα.

Για την υποδοχή ESP-01, χρησιμοποιώ μια τυπική υποδοχή IC 8 ακίδων και κόβω τις πλαστικές γέφυρες που δημιουργούν το κενό μεταξύ των σειρών και στη συνέχεια κολλάω τις 2 σειρές μεταξύ τους.

Βήμα 2: Τροφοδοσία 3.3VDC για ESP-01

3.3VDC Τροφοδοτικό για ESP-01
3.3VDC Τροφοδοτικό για ESP-01
3.3VDC Τροφοδοτικό για ESP-01
3.3VDC Τροφοδοτικό για ESP-01
3.3VDC Τροφοδοτικό για ESP-01
3.3VDC Τροφοδοτικό για ESP-01

Σε αυτό το βήμα, θα δημιουργήσουμε το τροφοδοτικό 3.3VDC για το ESP-01. Έχω μερικούς παλιούς προσαρμογείς φορτιστή USB 500mA και 700mA 5VDC που επαναπροσδιορίστηκα για αυτό το έργο. Χρειαζόμαστε επίσης ρυθμιστή 3.3VDC για να ρίξουμε την τάση 5V στα 3.3V, για αυτό χρησιμοποιώ μια φθηνή προ-κατασκευασμένη μονάδα ρυθμιστή βασισμένη σε AMS1117 που αγόρασα από το ebay. Μπορείτε να αναζητήσετε "μονάδα 3.3V AMS1117" και να βρείτε αυτό που σας ταιριάζει.

Αυτή η μονάδα ρυθμιστή 3.3V είναι πολύ μικρή και μπορώ πραγματικά να την τοποθετήσω μέσα στο αρχικό περίβλημα φορτιστή USB 5V καθιστώντας το ασφαλέστερο από πιθανό βραχυκύκλωμα. Αφαίρεσα τις προεξοχές AC τοίχου από τη μονάδα φόρτισης και την αντικατέστησα με δύο καλώδια που θα συνδεθούν με 120VAC από τον τοίχο πίσω από τον υπάρχοντα ήχο μου. Αλλά μην αφαιρέσετε τις προεξοχές σε αυτό το βήμα μέχρι να κάνουμε δοκιμαστική λειτουργία στο επόμενο βήμα.

Εάν υπάρχει κοντινή πρίζα ή αν δεν αισθάνεστε άνετα με την καλωδίωση της παροχής ρεύματος απευθείας στην καλωδίωση του σπιτιού, μπορείτε προαιρετικά να συνδέσετε το τροποποιημένο τροφοδοτικό στο βύσμα του τοίχου και να εκτελέσετε καλωδίωση στον ήχο, αν και μπορεί να μην φαίνεται τόσο καθαρό όσο το συνδέετε απευθείας με την καλωδίωση του σπιτιού.

Δείτε μια από τις φωτογραφίες μου για να δείτε ότι πίσω από τον ήχο μου είναι η καλωδίωση 120VAC και ο μετασχηματιστής 16VAC για τον ήχο.

Η έξοδος από τον ρυθμιστή 3.3V θα συνδεθεί στη συνέχεια στην πλακέτα διεπαφής ESP-01 σύμφωνα με το προηγούμενο βήμα.

Βήμα 3: Αναβοσβήνει το ESP-01

Σε αυτό το βήμα, θα αναβοσβήσουμε το ESP-01 με σκίτσο arduino. Εάν δεν έχετε αναβοσβήσει ποτέ στη μονάδα ESP-01, μπορείτε να ακολουθήσετε τις οδηγίες μου για να ξεκινήσετε:

Μπορείτε να βρείτε το σκίτσο μου στη σελίδα μου στο github:

Στο σκίτσο, τουλάχιστον πρέπει να αλλάξετε τις ακόλουθες πληροφορίες που σχετίζονται με το οικιακό σας δίκτυο/εγκατάσταση:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";

Στο οικιακό μου δίκτυο, έχω 2 διαφορετικά σημεία πρόσβασης που εκπέμπουν 2 διαφορετικά SSID και αυτό το σκίτσο θα επέτρεπε τον πλεονασμό με τη σύνδεση στο επόμενο SSID εάν χαθεί η επικοινωνία με το τρέχον AP. Εάν έχετε μόνο ένα SSID, συμπληρώστε και το ssid1 και το ssid2 με την ίδια τιμή.

Μόλις πραγματοποιήσετε την τροποποίηση, ανεβάστε το σκίτσο στο ESP-01 και συνδέστε το ESP-01 στην πλακέτα διεπαφής.

Βήμα 4: Δοκιμαστική εκτέλεση

Δοκιμαστικό τρέξιμο
Δοκιμαστικό τρέξιμο
Δοκιμαστικό τρέξιμο
Δοκιμαστικό τρέξιμο
Δοκιμαστικό τρέξιμο
Δοκιμαστικό τρέξιμο

Από το βήμα 1 έχουμε κατασκευάσει την πλακέτα διασύνδεσης ESP-01 και από το βήμα 2 έχουμε την τροφοδοσία 3.3V για την πλακέτα ESP-01. Τώρα συνδέουμε την έξοδο τροφοδοσίας στην πλακέτα σύμφωνα με το διάγραμμα κυκλώματος, που εμφανίζεται ως V1.

Τώρα το επόμενο βήμα είναι να συνδέσετε τα τερματικά κουδουνίσματος Trans/Door στις συνδέσεις της πλακέτας διεπαφής που εμφανίζονται ως "Τερματικά κουρδίσματος πόρτας". Δεδομένου ότι ο ήχος μου είναι τοποθετημένος ψηλά σε έναν τοίχο, για δοκιμαστική λειτουργία, τρέχω προσωρινά ένα μακρύ ζεύγος καλωδίου από τους ακροδέκτες του κουδουνίσματος στην πλακέτα, ώστε να μπορώ να συνδέσω το τροφοδοτικό.

Για να ελέγξουμε αν λειτουργεί η αντισύλληψή μας, το πιο εύκολο θα ήταν να παρακολουθούμε τα μηνύματα MQTT στο δίκτυο. Για να το κάνετε αυτό, πρέπει να ανοίξετε μια συνεδρία SSH στον μεσίτη κουνουπιών και να εκδώσετε την ακόλουθη εντολή:

mosquitto_sub -v -t '#'

Η παραπάνω εντολή θα μας επιτρέψει να δούμε όλα τα μηνύματα MQTT που έρχονται στον μεσίτη.

Τώρα συνδέστε το τροφοδοτικό στην πρίζα και αν όλα λειτουργούν, σε λίγα δευτερόλεπτα θα πρέπει τουλάχιστον να δείτε το ακόλουθο μήνυμα MQTT:

stat/DoorBell/LWT Online

Τώρα βγείτε έξω και χτυπήστε το κουδούνι της πόρτας σας και θα δείτε αυτό το μήνυμα:

tele/DoorBell ON

Αν δείτε αυτά τα μηνύματα, το έργο σας είναι επιτυχές.

Έχω συμπεριλάβει επίσης αρκετά χρήσιμα θέματα MQTT στο σκίτσο που μπορείτε να χρησιμοποιήσετε:

"stat/DoorBellInfo": αυτό το μήνυμα αποστέλλεται κάθε λεπτό για να παρέχει χρόνο λειτουργίας και άλλες πληροφορίες.

"cmnd/DoorBellInfo": Το ESP-01 θα στείλει πληροφορίες εάν λάβει αυτό το θέμα με τιμή '1' (ascii = 49) "cmnd/DoorBellCPUrestart": Το ESP-01 θα επανεκκινήσει εάν λάβει αυτό το θέμα με τιμή '1 '(ascii = 49) "cmnd/DoorBellCPUreset": Το ESP-01 θα επαναρυθμιστεί εάν λάβει αυτό το θέμα με τιμή' 1 '(ascii = 49)

"tele/FrontDoorBell": Το ESP-01 θα στείλει μηνύματα σε αυτό το θέμα με τιμή "ON" εάν πατηθεί το κουδούνι της πόρτας

Βήμα 5: Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα

Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα
Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα
Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα
Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα
Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα
Ενσωμάτωση του πίνακα και του τροφοδοτικού στο κουδούνισμα

Τώρα που έχουμε την επιτυχημένη δοκιμαστική λειτουργία, πρέπει να συναρμολογήσουμε τον πίνακα και το τροφοδοτικό μέσα στο κουδούνι της πόρτας μας (αν είναι δυνατόν). Στην υπάρχουσα κουδουνίστρα μου, υπάρχει ένα άδειο περίβλημα που μπόρεσα να ανοίξω και να χωρέσω το τροφοδοτικό μέσα σε αυτόν τον χώρο. Ο πίνακας ESP-01 δεν ταιριάζει σε αυτόν τον μικρό χώρο, αλλά εξακολουθεί να χωράει μέσα στο συνολικό κουτί κουδουνίσματος. Μόλις χρησιμοποίησα μια παχιά ταινία διπλής όψης για να τοποθετήσω την πλακέτα διεπαφής ESP-01.

Τώρα μπορούμε να αφαιρέσουμε τις μεταλλικές προεξοχές από το φορτιστή USB και να τις αντικαταστήσουμε με πιο χοντρό καλώδιο που μπορούμε να συνδέσουμε στην καλωδίωση του σπιτιού. Βεβαιωθείτε ότι έχετε απενεργοποιήσει τον ασφαλειοδιακόπτη που παρέχει ηλεκτρική ενέργεια στο κύκλωμα κουδουνίσματος.

Εάν δεν υπάρχει αρκετός χώρος για να χωρέσει το έργο μας στο υπάρχον κουδούνι πόρτας, θα πρέπει να το βάλετε σε ένα ξεχωριστό κουτί και να το τοποθετήσετε κοντά στο κουδούνι της πόρτας.

Βήμα 6: Τελικό άγγιγμα

Τελικό άγγιγμα
Τελικό άγγιγμα

Τώρα που έχουμε δουλέψει το έργο και είμαστε σε θέση να δημοσιεύσουμε το μήνυμα MQTT στον μεσίτη, το επόμενο βήμα είναι να σκεφτούμε τι να κάνουμε με αυτό.

Στο πρότζεκτ μου, χρησιμοποιώ το Node-RED για να ακούσω/εγγραφώ σε αυτό το θέμα MQTT κουδουνιού και να ανακοινώσω σε πολλά οικιακά ηχεία google. Επιπλέον, συνέδεσα επίσης τη ροή με έναν κόμβο pushbullet για να στείλω ειδοποίηση στο τηλέφωνό μου Android, ώστε να ξέρω αν χτυπάει κάποιος το κουδούνι της πόρτας ακόμα κι αν δεν είμαι στο σπίτι. Η ειδοποίηση Pushbullet δεν είναι χρήσιμη για μερικούς, αλλά ήταν αρκετά χρήσιμη για μένα, σε συνδυασμό με βιντεοκάμερα στην μπροστινή μου βεράντα, μπορώ να δω ποιος ήρθε να σταματήσει τις παραδόσεις (συνήθως χτυπά το κουδούνι). Δεν μπορώ να βασιστώ πολύ στη λειτουργία ανίχνευσης κίνησης της κάμερας λόγω διαφόρων παρεμβολών, κυρίως κινούμενων σκιών δέντρων.

Η εικόνα σε αυτό το βήμα, δείχνει τη ροή Node-RED για να το επιτύχει αυτό. Μπορείτε επίσης να επικολλήσετε τη ροή από τη σελίδα μου github στο Node-RED σας:

Η ανακοίνωση Google για το σπίτι είναι μόνο ένα παράδειγμα για αυτό το έργο, αλλά νομίζω ότι είναι το πιο χρήσιμο και πρακτικό. Μπορείτε πάντα να συνδεθείτε με άλλους ακροατές MQTT ή ακόμα και να χρησιμοποιήσετε το IFTTT για να οδηγήσετε άλλες συσκευές όταν χτυπάτε το κουδούνι της πόρτας.

Καλα να περνατε…

Συνιστάται: