Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργία αντιγράφων ασφαλείας μέσω WiFi και MQTT
- Βήμα 2: Το τηλεχειριστήριο/αποστολέας
- Βήμα 3: Ο δέκτης - Υλικό (esp8266 και Raspberry Pi)
- Βήμα 4: Ο Δέκτης - Λογισμικό (Σειριακό, Κόμβος Κόκκινο, MQTT)
Βίντεο: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Σε αυτό το Instructable σας δείχνω πώς χρησιμοποίησα το ESP-NOW στον αυτοματισμό του σπιτιού μου. Στο σχηματικό μπορείτε να δείτε τις ροές επικοινωνίας
Θα σου δείξω:
- πώς λειτουργεί ο αποστολέας
- πώς λειτουργεί ο δέκτης
- πώς λειτουργεί η σειριακή επικοινωνία με ένα Raspberry Pi
Δεν δείχνω πώς λειτουργεί το MQTT και ο αυτοματισμός του σπιτιού μου, μπορείτε να βρείτε άλλες καλές οδηγίες για αυτό.
Συντελεστές: Αυτό το Instructable εμπνεύστηκε από:
Βίντεο #172 από τον Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Βήμα 1: Δημιουργία αντιγράφων ασφαλείας μέσω WiFi και MQTT
Διαπίστωσα ότι το ESP-NOW είναι εξαιρετικά γρήγορο και αρκετά αξιόπιστο, αλλά μερικές φορές αποτυγχάνει. Στο πρόγραμμά μου πρόσθεσα ένα αντίγραφο ασφαλείας μέσω κανονικής σύνδεσης WiFi και MQTT.
Βήμα 2: Το τηλεχειριστήριο/αποστολέας
Στο πρώτο σχήμα βλέπετε πώς λειτουργεί το πρόγραμμα του αποστολέα:
- Το esp8266 ξεκινά από την ενεργοποίηση ή από την επαναφορά
- Το ESP-NOW προετοιμάζεται
- Η μονάδα στέλνει ESP-NOW για καθορισμένο χρόνο
-
Η μονάδα ελέγχει εάν το μήνυμα ESP-NOW ελήφθη από τον δέκτη σε μια λειτουργία επανάκλησης.
- Εάν ελήφθη το μήνυμα ESP-NOW, η μονάδα πηγαίνει σε βαθύ ύπνο χαμηλής ισχύος
- Εάν το μήνυμα ESP-NOW δεν ελήφθη, η μονάδα ξεκινά μια σύνδεση WiFi και μια σύνδεση MQTT ως εφεδρική σύνδεση.
Το πρόγραμμα για τον αποστολέα βρίσκεται στο Github μου (Master_sender.ino). Τα προγράμματα στέλνουν τόσο το θέμα όσο και το μήνυμα για τον αυτοματισμό του σπιτιού MQTT σε ένα συνδυασμένο μήνυμα ESP-NOW, σε συνδυασμό με το σύμβολο "&" για εύκολο διαχωρισμό στον δέκτη.
Έφτιαξα δύο διαφορετικά τηλεχειριστήρια/αποστολείς:
Αποστολέας 1: Το esp8266 βρίσκεται σε βαθύ ύπνο και ενεργοποιείται με επαναφορά. Το led στο κουμπί ανάβει και μειώνεται όταν τελειώσει η μονάδα. Εάν η τάση της μπαταρίας είναι χαμηλή, το led αναβοσβήνει. Εάν το ESP-NOW απέτυχε, το led αναβοσβήνει πριν αλλάξετε σε συνδέσεις WiFi/MQTT. Το esp8266 τροφοδοτείται από μπαταρία LiPo με ρυθμιστή τάσης HT7333 σε 3.3V
Αποστολέας 2: Το esp8266 απενεργοποιείται και τροφοδοτείται πατώντας το κουμπί. Κανονικά η σύνδεση ESP-NOW γίνεται μετά το κουμπί «κλικ». Το esp8266 τροφοδοτείται απευθείας από μπαταρία LiPo. Δεν ξέρω αν το esp8266 καταστραφεί από την υψηλή τάση μιας πλήρως φορτισμένης μπαταρίας (έως 4,2 V) όταν τροφοδοτείται με μόλις λίγα 100 ms. Είναι υψηλότερη από τις προδιαγραφές (3,0 - 3,6V).
Σημείωση: εάν η ισχύς της μπαταρίας είναι χαμηλή, το ESP-NOW αποτυγχάνει.
Βήμα 3: Ο δέκτης - Υλικό (esp8266 και Raspberry Pi)
Η περιγραφή του δέκτη χωρίζεται σε δύο μέρη:
- Σκεύη, εξαρτήματα
- Λογισμικό
Το υλικό
Ο παραλήπτης esp-01 συνδέεται με το Raspberry Pi Zero που τρέχει το σύστημα αυτοματισμού του σπιτιού μου (Openhab2) και το Node Red.
Στο σχηματικό σχήμα εμφανίζονται οι απλές συνδέσεις:
- RX του esp-01 έως TX του RasPi
- TX του esp-01 έως RX του RasPi
- GND σε GND
- Το esp-01 VCC τροφοδοτείται από τον ακροδέκτη 3.3V του Raspi
- Στο esp-01 τόσο το RST όσο και το CH_PD τραβιούνται ψηλά.
Έφτιαξα ένα σύνδεσμο διασύνδεσης για να το τοποθετήσω εύκολα
Σε μια εικόνα μπορείτε να δείτε τις καλωδιακές συνδέσεις μου με το Raspberry Pi 3 (το οποίο έχει το ίδιο pinout, αλλά χρησιμοποίησα ένα άλλο pin 3.3V για σύνδεση στο CH_PD).
Το esp-01 προγραμματίστηκε όπως φαίνεται στο άλλο μου Instructable (δείτε βήμα 3).
Βήμα 4: Ο Δέκτης - Λογισμικό (Σειριακό, Κόμβος Κόκκινο, MQTT)
Πρόγραμμα στο esp8266
Το πρόγραμμα για τον δέκτη esp-01 βρίσκεται στο Github μου (Master_sender.ino). Το πρόγραμμα είναι πραγματικά απλό, εκτυπώνει μόνο το ληφθέν μήνυμα ESP-NOW στη σειριακή θύρα στο Raspberry Pi.
Σειριακή θύρα
Στο Raspberry Pi, πρέπει να ενεργοποιήσετε τη σειριακή θύρα (στο raspbian, εκτελέστε 'sudo raspi-config') για κανονική σειριακή επικοινωνία.
Το όνομα της σειριακής θύρας είναι:
- Raspberry Pi Zero: /dev /ttyAMA0
- Raspberry Pi 3: /dev /ttyS0
Μπορείτε να ελέγξετε τη σειριακή θύρα εκτελώντας το 'dmesg | grep tty 'ή' ls /dev '
Κόμβος Κόκκινο
Στο Κόμβος Κόκκινο, επιλέξτε τον κόμβο σειριακής εισόδου και ρυθμίστε τη σειριακή θύρα (δείτε τις συνημμένες εικόνες). Σημειώστε το baudrate της σειριακής σύνδεσης, αυτό πρέπει να ταιριάζει με το baudrate όπως έχει προγραμματιστεί στο esp8266.
Η έξοδος του σειριακού κόμβου μετασχηματίζεται από έναν κόμβο συνάρτησης που χωρίζει το μήνυμα στο σύμβολο '&' και ορίζει το msg.topic και το msg.payload. Η έξοδος της συνάρτησης οδηγείται στον κόμβο εξόδου mqtt που στέλνει το μήνυμα στον διακομιστή MQTT. Σημειώστε ότι το πεδίο θέματος του κόμβου mqtt είναι κενό, επειδή το θέμα έχει οριστεί στο μήνυμα.
Συνιστάται:
Home Automation WiFi Light Switch With ESP-01 και Relay Module With Push Button: 7 Βήματα
Home Automation WiFi Light Switch With ESP-01 and Relay Module With Push Button: Έτσι στις προηγούμενες οδηγίες προγραμματίσαμε ένα ESP-01 με Tasmota χρησιμοποιώντας ένα ESP Flasher και συνδέσαμε το ESP-01 στα δίκτυα wifi μας. Τώρα μπορούμε να ξεκινήσουμε τον προγραμματισμό του για να ενεργοποιήσετε/απενεργοποιήσετε έναν διακόπτη φώτων χρησιμοποιώντας WiFi ή το κουμπί. Για την ηλεκτρική λειτουργία
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): 7 βήματα (με εικόνες)
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): ΟΛΕΣ οι πιστώσεις στο http://arest.io/ για την υπηρεσία cloud !! IoT το πιο συζητημένο θέμα στον κόσμο αυτή τη στιγμή !! Οι διακομιστές και οι υπηρεσίες cloud που το καθιστούν εφικτό είναι το σημείο έλξης του σημερινού κόσμου
Tiny Ανιχνευτής συναγερμού πυρκαγιάς Esp8266 MQTT IFTTT Home Automation: 4 Βήματα
Μικροσκοπικός ανιχνευτής συναγερμού πυρκαγιάς Esp8266 MQTT IFTTT Home Automation: wantedθελα να εντοπίσω εάν το σύστημα ανίχνευσης καπνού στο σπίτι μου είναι σε συναγερμό. Έχω οκτώ ανιχνευτές καπνού στο σπίτι μου και είναι διασυνδεδεμένοι. Εάν ο ένας ανιχνευτής καπνού βρίσκεται σε συναγερμό, ο άλλος λαμβάνει ένα σήμα μέσω του καλωδίου σήματος διασύνδεσης. Ο αισθητήρας μου διαβάζει
Ξεκινώντας με το Esp 8266 Esp-01 Με το Arduino IDE - Εγκατάσταση πινάκων Esp στο Arduino Ide και προγραμματισμός Esp: 4 βήματα
Ξεκινώντας με το Esp 8266 Esp-01 Με το Arduino IDE | Εγκατάσταση πινάκων Esp στο Arduino Ide και προγραμματισμός Esp: Σε αυτά τα εκπαιδευτικά προγράμματα θα μάθουμε πώς να εγκαθιστούμε πίνακες esp8266 στο Arduino IDE και πώς να προγραμματίζουμε esp-01 και να ανεβάζουμε κώδικα σε αυτό. Δεδομένου ότι οι πίνακες esp είναι τόσο δημοφιλείς, σκέφτηκα να διορθώσω ένα εκπαιδευτικό αυτό και οι περισσότεροι άνθρωποι αντιμετωπίζουν πρόβλημα
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 Βήματα
Homeoff αυτοματοποίηση υλικολογισμικού Sonoff B1 Openhab Google Home: Μου αρέσει πολύ το υλικολογισμικό Tasmota για τους διακόπτες Sonoff. Αλλά δεν ήταν πραγματικά ευχαριστημένος με το υλικολογισμικό Tasmota στο Sonoff-B1 μου. Δεν πέτυχα πλήρως να το ενσωματώσω στο Openhab και να το ελέγξω μέσω του Google Home. Ως εκ τούτου έγραψα τη δική μου εταιρεία