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

Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266: 8 βήματα (με εικόνες)
Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266: 8 βήματα (με εικόνες)

Βίντεο: Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266: 8 βήματα (με εικόνες)

Βίντεο: Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266: 8 βήματα (με εικόνες)
Βίντεο: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Ιούνιος
Anonim
Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266
Πώς να χρησιμοποιήσετε το MQTT με το Raspberry Pi και το ESP8266

Σε αυτό το Instructable, θα εξηγήσω τι είναι το πρωτόκολλο MQTT και πώς χρησιμοποιείται για την επικοινωνία μεταξύ συσκευών. Στη συνέχεια, ως πρακτική επίδειξη, θα σας δείξω πώς να ρυθμίσετε ένα απλό σύστημα δύο πελατών, όπου μια μονάδα ESP8266 θα στείλει ένα μήνυμα σε ένα πρόγραμμα Python όταν πατηθεί ένα κουμπί. Συγκεκριμένα, χρησιμοποιώ μια ενότητα Adafruit HUZZAH για αυτό το έργο, ένα Raspberry Pi και έναν επιτραπέζιο υπολογιστή. Το Raspberry Pi θα λειτουργεί ως μεσίτης MQTT και ο πελάτης Python θα εκτελείται από ξεχωριστό επιτραπέζιο υπολογιστή (προαιρετικό, καθώς θα μπορούσε να εκτελεστεί στο Raspberry Pi).

Για να ακολουθήσετε αυτό το Instructable, θα πρέπει να έχετε κάποιες βασικές γνώσεις ηλεκτρονικών και πώς να χρησιμοποιήσετε το λογισμικό Arduino. Θα πρέπει επίσης να είστε εξοικειωμένοι με τη χρήση μιας διεπαφής γραμμής εντολών (για το Raspberry Pi). Ας ελπίσουμε ότι, μόλις αποκτήσετε τη γνώση του τι είναι το MQTT και πώς να το χρησιμοποιήσετε σε ένα βασικό σενάριο, θα μπορείτε να δημιουργήσετε τα δικά σας έργα IoT!

Απαιτούμενα ανταλλακτικά

  • 1 x Raspberry Pi, συνδεδεμένο σε τοπικό δίκτυο (τρέχει Jessie)
  • 1 x μονάδα ESP8266 (Adafruit HUZZAH)
  • 1 x Breadboard
  • 3 x Jumper Wires (από άντρα σε άντρα)
  • 1 x Πλήκτρο
  • 1 x 10k Ohm Resistor (Καφέ-Μαύρο-Πορτοκαλί κωδικός χρώματος)

Δημιούργησα αυτό το Instructable, καθώς το MQTT πάντα με ενδιέφερε ως πρωτόκολλο και υπάρχουν πολλοί διαφορετικοί τρόποι που θα μπορούσε να χρησιμοποιηθεί. Ωστόσο, δεν μπορούσα να καταλάβω πώς να κωδικοποιήσω συσκευές για να το χρησιμοποιήσω. Αυτό συνέβη επειδή δεν ήξερα/καταλάβαινα τι πραγματικά συνέβαινε για να πάρω το "Hello, World!" από τη συσκευή Α και να το στείλω στη συσκευή Β. Ως εκ τούτου, αποφάσισα να γράψω αυτό το Instructable για να σας διδάξω (ελπίζω) πώς λειτουργεί, και επίσης να ενισχύσω τη δική μου κατανόηση γι 'αυτό!

Βήμα 1: Τι είναι το MQTT;

Τι είναι το MQTT
Τι είναι το MQTT

Το MQTT, ή MQ Telemetry Transport, είναι ένα πρωτόκολλο ανταλλαγής μηνυμάτων που επιτρέπει σε πολλές συσκευές να μιλούν μεταξύ τους. Επί του παρόντος, είναι ένα δημοφιλές πρωτόκολλο για το Διαδίκτυο των Πραγμάτων, αν και έχει χρησιμοποιηθεί για άλλους σκοπούς - για παράδειγμα, το Facebook Messenger. Είναι ενδιαφέρον ότι το MQTT εφευρέθηκε το 1999 - που σημαίνει ότι είναι τόσο παλιό όσο εγώ!

Το MQTT βασίζεται στην ιδέα ότι οι συσκευές μπορούν να δημοσιεύουν ή να εγγραφούν σε θέματα. Έτσι, για παράδειγμα. Εάν η συσκευή #1 έχει καταγράψει τη θερμοκρασία από έναν από τους αισθητήρες της, μπορεί να δημοσιεύσει ένα μήνυμα που περιέχει την τιμή θερμοκρασίας που έχει καταγράψει, σε ένα θέμα (π.χ. "Θερμοκρασία"). Αυτό το μήνυμα αποστέλλεται σε έναν MQTT Broker, τον οποίο μπορείτε να σκεφτείτε ως διακόπτη/δρομολογητή σε τοπικό δίκτυο. Μόλις ο μεσίτης MQTT λάβει το μήνυμα, θα το στείλει σε όλες τις συσκευές (στην περίπτωση αυτή, στη συσκευή #2) που έχουν εγγραφεί στο ίδιο θέμα.

Σε αυτό το έργο, θα δημοσιεύσουμε σε ένα θέμα χρησιμοποιώντας ένα ESP8266 και θα δημιουργήσουμε ένα σενάριο Python που θα εγγραφεί στο ίδιο θέμα, μέσω ενός Raspberry Pi που θα λειτουργεί ως μεσίτης MQTT. Το υπέροχο με το MQTT είναι ότι είναι ελαφρύ, επομένως είναι ιδανικό για λειτουργία σε μικρούς μικροελεγκτές όπως το ESP8266, αλλά είναι επίσης ευρέως διαθέσιμο - έτσι μπορούμε να το τρέξουμε και σε σενάριο Python.

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

Βήμα 2: Εγκατάσταση του MQTT Broker στο Raspberry Pi

Εγκατάσταση του MQTT Broker στο Raspberry Pi
Εγκατάσταση του MQTT Broker στο Raspberry Pi
Εγκατάσταση του MQTT Broker στο Raspberry Pi
Εγκατάσταση του MQTT Broker στο Raspberry Pi
Εγκατάσταση του MQTT Broker στο Raspberry Pi
Εγκατάσταση του MQTT Broker στο Raspberry Pi

Για τη ρύθμιση του συστήματος MQTT, χρειαζόμαστε έναν μεσίτη, όπως εξηγήθηκε στο προηγούμενο βήμα. Για το Raspberry Pi, θα χρησιμοποιήσουμε τον μεσίτη MQTT "Mosquitto". Πριν εγκαταστήσουμε αυτό, είναι πάντα καλύτερο να ενημερώσουμε το Raspberry Pi.

sudo apt-get ενημέρωση

sudo apt-get αναβάθμιση

Μόλις το κάνετε αυτό, εγκαταστήστε τα κουνούπια και στη συνέχεια τα πακέτα των κουνουπιών-πελατών.

sudo apt -get install mosquitto -y

sudo apt-get install mosquitto-clients -y

Όταν ολοκληρώσετε την εγκατάσταση αυτών των δύο πακέτων, θα χρειαστεί να ρυθμίσετε τις παραμέτρους του μεσίτη. Το αρχείο διαμόρφωσης του μεσίτη mosquitto βρίσκεται στη διεύθυνση /etc/mosquitto/mosquitto.conf, οπότε ανοίξτε το με τον αγαπημένο σας επεξεργαστή κειμένου. Εάν δεν έχετε έναν αγαπημένο επεξεργαστή κειμένου ή δεν ξέρετε πώς να χρησιμοποιήσετε κανέναν από τους συντάκτες της γραμμής εντολών, θα χρησιμοποιήσω το nano, ώστε να μπορείτε να ακολουθήσετε:

sudo nano /etc/mosquitto/mosquitto.conf

Στο κάτω μέρος αυτού του αρχείου, θα πρέπει να δείτε τη γραμμή:

include_dir /etc/mosquitto/conf.d

Διαγράψτε αυτήν τη γραμμή. Προσθέστε τις ακόλουθες γραμμές στο κάτω μέρος του αρχείου.

επιτρέψτε_ανώνυμο ψευδές

password_file/etc/mosquitto/pwfile listener 1883

Πληκτρολογώντας αυτές τις γραμμές, είπαμε στο mosquitto ότι δεν θέλουμε κανέναν να συνδεθεί με τον μεσίτη μας που δεν παρέχει έγκυρο όνομα χρήστη και κωδικό πρόσβασης (θα συνεχίσουμε να τα ορίζουμε σε ένα δευτερόλεπτο) και ότι θέλουμε το κουνούπι να ακούστε μηνύματα στον αριθμό θύρας 1883.

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

Τώρα κλείστε (και αποθηκεύστε) αυτό το αρχείο. Εάν ακολουθείτε το παράδειγμα nano, πατήστε CTRL+X και πληκτρολογήστε Y όταν σας ζητηθεί.

Επειδή μόλις είπαμε στο mosquitto ότι οι χρήστες που προσπαθούν να χρησιμοποιήσουν τον μεσίτη MQTT πρέπει να πιστοποιηθούν, πρέπει τώρα να πούμε στο mosquitto ποιο είναι το όνομα χρήστη και ο κωδικός πρόσβασης! Επομένως, πληκτρολογήστε την ακόλουθη εντολή - αντικαθιστώντας το όνομα χρήστη με το όνομα χρήστη που θέλετε - και στη συνέχεια εισαγάγετε τον κωδικό πρόσβασης που θα σας ζητηθεί (Σημείωση: εάν, κατά την επεξεργασία του αρχείου διαμόρφωσης, καθορίσατε διαφορετική διαδρομή αρχείου password_, αντικαταστήστε την παρακάτω διαδρομή με το ένα που χρησιμοποιήσατε).

sudo mosquitto_passwd -c/etc/mosquitto/pwfile όνομα χρήστη

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

sudo επανεκκίνηση

Μόλις ολοκληρωθεί η επανεκκίνηση του Raspberry Pi, θα πρέπει να έχετε έναν πλήρως λειτουργικό μεσίτη MQTT! Στη συνέχεια, θα προσπαθήσουμε να αλληλεπιδράσουμε με αυτό, χρησιμοποιώντας έναν αριθμό διαφορετικών συσκευών/μεθόδων!

Βήμα 3: Δοκιμή του μεσίτη

Δοκιμή του μεσίτη
Δοκιμή του μεσίτη

Μόλις εγκαταστήσετε το κουνούπι στο Raspberry Pi, μπορείτε να το κάνετε μια γρήγορη δοκιμή - μόνο για να βεβαιωθείτε ότι όλα λειτουργούν σωστά. Για το σκοπό αυτό, υπάρχουν δύο εντολές που μπορούμε να χρησιμοποιήσουμε στη γραμμή εντολών. mosquitto_pub και mosquitto_sub. Σε αυτό το βήμα, θα σας καθοδηγήσω χρησιμοποιώντας καθένα από αυτά για να δοκιμάσετε τον μεσίτη μας.

Για να δοκιμάσετε τον μεσίτη, θα χρειαστεί να ανοίξετε δύο παράθυρα της γραμμής εντολών. Εάν χρησιμοποιείτε Putty ή άλλο πρόγραμμα -πελάτη SSH, αυτό είναι τόσο απλό όσο το άνοιγμα ενός άλλου παραθύρου SSH και η σύνδεση ως συνήθως. Εάν έχετε πρόσβαση στο Pi σας από τερματικό UNIX, αυτό είναι ακριβώς το ίδιο. Εάν χρησιμοποιείτε το Raspberry Pi απευθείας, θα χρειαστεί να ανοίξετε δύο παράθυρα τερματικών στη λειτουργία GUI (η εντολή startx μπορεί να χρησιμοποιηθεί για την εκκίνηση του GUI).

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

mosquitto_sub -d -u όνομα χρήστη -P κωδικός πρόσβασης -t δοκιμή

Εάν αποφασίσατε να μην ορίσετε όνομα χρήστη και κωδικό πρόσβασης στο προηγούμενο βήμα, τότε στο εξής αγνοήστε τις σημαίες -u και -P στις εντολές. Έτσι, ως παράδειγμα, η εντολή mosquitto_sub θα είναι τώρα:

mosquitto_sub -d -t δοκιμή

Η εντολή mosquitto_sub θα εγγραφεί σε ένα θέμα και θα εμφανίσει τυχόν μηνύματα που αποστέλλονται στο καθορισμένο θέμα στο παράθυρο τερματικού. Εδώ, -d σημαίνει λειτουργία εντοπισμού σφαλμάτων, οπότε όλα τα μηνύματα και η δραστηριότητα θα εμφανίζονται στην οθόνη. -u και -P θα πρέπει να είναι αυτονόητα. Τέλος, -t είναι το όνομα του θέματος στο οποίο θέλουμε να εγγραφούμε - σε αυτή την περίπτωση, «δοκιμή».

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

mosquitto_pub -d -u username -P password -t test -m "Hello, World!"

Όταν πατάτε το enter, θα πρέπει να δείτε το μήνυμά σας "Hello, World!" εμφανίζονται στο πρώτο παράθυρο τερματικού που χρησιμοποιήσαμε (για εγγραφή). Εάν συμβαίνει αυτό, είστε έτοιμοι να ξεκινήσετε να εργάζεστε στο ESP8266!

Βήμα 4: Ρύθμιση του ESP8266 (Adafruit HUZZAH)

Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)
Ρύθμιση του ESP8266 (Adafruit HUZZAH)

Αυτό το βήμα είναι ειδικά για το Adafruit HUZZAH (καθώς αυτό χρησιμοποιώ για να ολοκληρώσω αυτό το έργο). Εάν χρησιμοποιείτε διαφορετική συσκευή Arduino / ESP8266, μπορεί να θέλετε να παραλείψετε αυτό το βήμα. Ωστόσο, θα σας συνιστούσα να το διαβάσετε χωρίς να το διαβάσετε, σε περίπτωση που υπάρχουν κάποιες πληροφορίες που μπορεί να είναι σχετικές με εσάς.

Για αυτό το έργο, θα προγραμματίσω το HUZZAH με το λογισμικό Arduino. Έτσι, εάν δεν το έχετε κάνει ήδη, φροντίστε να εγκαταστήσετε το λογισμικό Arduino (νεότερο από 1.6.4). Μπορείτε να το κατεβάσετε εδώ.

Μόλις εγκαταστήσετε το λογισμικό Arduino, ανοίξτε το και μεταβείτε στο Αρχείο-> Προτιμήσεις. Εδώ θα πρέπει (κοντά στο κάτω μέρος του παραθύρου) να δείτε ένα πλαίσιο κειμένου με την ετικέτα: "Διευθύνσεις URL πρόσθετων διαχειριστών πινάκων". Σε αυτό το πλαίσιο κειμένου, αντιγράψτε και επικολλήστε τον ακόλουθο σύνδεσμο:

arduino.esp8266.com/stable/package_esp8266com_index.json

Κάντε κλικ στο OK για να αποθηκεύσετε τις αλλαγές σας. Τώρα ανοίξτε το Board Manager (Tools-> Board-> Board Manager) και αναζητήστε το ESP8266. Εγκαταστήστε το πακέτο κοινότητας esp8266 by ESP8266. Επανεκκινήστε το λογισμικό Arduino.

Τώρα, πριν μπορέσουμε να προγραμματίσουμε τον πίνακα, πρέπει να επιλέξουμε μερικές διαφορετικές επιλογές. Στην επιλογή μενού Εργαλεία, επιλέξτε Adafruit HUZZAH ESP8266 για πίνακα, 80 MHz για τη συχνότητα CPU (μπορείτε να χρησιμοποιήσετε 160 MHz εάν θέλετε να το κάνετε overclock, αλλά προς το παρόν θα χρησιμοποιήσω 80 MHz), 4M (3M SPIFFS) για το μέγεθος φλας και 115200 για την ταχύτητα μεταφόρτωσης. Επίσης, βεβαιωθείτε ότι έχετε επιλέξει τη θύρα COM που χρησιμοποιείτε (αυτό θα εξαρτηθεί από τη ρύθμισή σας).

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

Για να ανεβάσετε κώδικα στον μικροελεγκτή, βεβαιωθείτε πρώτα ότι το HUZZAH βρίσκεται σε λειτουργία εκκίνησης και, στη συνέχεια, απλά κάντε κλικ στο κουμπί μεταφόρτωσης στο Arduino IDE.

Αν αντιμετωπίζετε προβλήματα με τη ρύθμιση του HUZZAH, περισσότερες πληροφορίες μπορείτε να βρείτε στο σεμινάριο του Adafruit.

Βήμα 5: Προγραμματισμός του ESP8266

Προγραμματισμός του ESP8266
Προγραμματισμός του ESP8266

Τώρα θα αρχίσουμε να προγραμματίζουμε το ESP8266, αλλά πριν ξεκινήσουμε, θα χρειαστεί να εγκαταστήσετε τις ακόλουθες βιβλιοθήκες στον διαχειριστή της βιβλιοθήκης Arduino (Sketch-> Include Libraries-> Manage Libraries)

  • Αναπήδηση2
  • PubSubClient

Μόλις εγκαταστήσετε αυτές τις βιβλιοθήκες, θα μπορείτε να εκτελέσετε τον κώδικα που έχω συμπεριλάβει σε αυτό το Instructable (MQTT_Publish.zip). Φρόντισα να το σχολιάσω για να καταλάβετε τι κάνει κάθε ενότητα και αυτό ελπίζω να σας δώσει τη δυνατότητα να το προσαρμόσετε στις ανάγκες σας.

Θυμηθείτε να αλλάξετε τις σταθερές στο επάνω μέρος του κώδικα, έτσι ώστε το ESP8266 να μπορεί να συνδεθεί στο δίκτυό σας WiFi και στον μεσίτη MQTT (το Raspberry Pi).

Εάν αποφασίσατε να μην ορίσετε όνομα χρήστη και κωδικό πρόσβασης για τον μεσίτη MQTT, κάντε λήψη του αρχείου MQTT_PublishNoPassword.zip.

Βήμα 6: Εγκατάσταση Python Client (paho-mqtt)

Εγκατάσταση Python Client (paho-mqtt)
Εγκατάσταση Python Client (paho-mqtt)

Ευτυχώς, αυτό το βήμα είναι πολύ απλό! Για να εγκαταστήσετε το mosquitto python client, απλά πρέπει να πληκτρολογήσετε τα ακόλουθα στη γραμμή εντολών (Linux/Mac) ή ακόμη και στη γραμμή εντολών (Windows).

pip εγκατάσταση paho-mqtt

Σημείωση: Η γραμμή εντολών των Windows ενδέχεται να έχει πρόβλημα με την εκτέλεση της εντολής pip εάν δεν καθορίσατε ότι θέλετε να εγκατασταθεί το pip και να προσθέσετε python στη μεταβλητή PATH κατά την εγκατάσταση της Python. Υπάρχουν πολλοί τρόποι για να το διορθώσετε αυτό, αλλά νομίζω ότι η επανεγκατάσταση της Python είναι ο ευκολότερος τρόπος. Σε περίπτωση αμφιβολίας - δώστε του ένα google!

Βήμα 7: Πελάτης Python - Εγγραφή

Python Client - Εγγραφή
Python Client - Εγγραφή

Σε αυτό το βήμα, πρόκειται να ρυθμίσουμε το σενάριο Python (είτε στο ίδιο το Raspberry Pi είτε σε άλλο υπολογιστή συνδεδεμένο στο δίκτυο) για να χειριστεί όλα τα μηνύματα που αποστέλλονται (δημοσιεύονται) από το ESP8266 στο θέμα MQTT.

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

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

Βήμα 8: Επικοινωνία μεταξύ συσκευών ESP8266

Επικοινωνία μεταξύ συσκευών ESP8266
Επικοινωνία μεταξύ συσκευών ESP8266

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

Για να στείλει δεδομένα σε ένα άλλο ESP, το πρώτο ESP θα πρέπει να δημοσιεύσει στο θέμα και το δεύτερο ESP θα πρέπει να εγγραφεί σε αυτό το θέμα. Αυτή η ρύθμιση θα επιτρέψει μια μονόδρομη συνομιλία - ESP (1) σε ESP (2). Εάν θέλουμε το ESP (2) να επικοινωνήσει ξανά με το ESP (1), μπορούμε να δημιουργήσουμε ένα νέο θέμα, στο οποίο θα δημοσιεύσει το ESP (2) και το ESP (1) θα εγγραφεί. Ευτυχώς, μπορούμε να έχουμε πολλούς συνδρομητές για το ίδιο θέμα, οπότε αν θέλετε να στείλετε δεδομένα σε πολλά συστήματα, θα χρειαστείτε μόνο ένα θέμα (στο οποίο όλοι εγγράφονται, εκτός από τη συσκευή που στέλνει τα δεδομένα, όπως θα δημοσιεύεται).

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

Έχω συμπεριλάβει κάποιο παράδειγμα κώδικα παρακάτω, ο οποίος δείχνει πώς ένας ESP8266 μπορεί να εγγραφεί σε ένα θέμα και να ακούει ορισμένα μηνύματα - 1 και 0. Εάν ληφθεί 1, ενεργοποιείται η ενδεικτική λυχνία LED (για το HUZZAH - GPIO 0) Το Εάν ληφθεί 0, αυτό το LED απενεργοποιείται.

Εάν θέλετε να επεξεργαστείτε πιο πολύπλοκα δεδομένα, αυτό θα πρέπει να γίνει στη λειτουργία ReceivedMessage (δείτε τον κώδικα).

Για τα δικά σας έργα, εάν πρέπει να στείλετε και να λάβετε δεδομένα, μπορείτε να ενσωματώσετε τη λειτουργία δημοσίευσης από το προηγούμενο παράδειγμα στον κώδικα που περιλαμβάνεται σε αυτό το βήμα. Αυτό πρέπει να αντιμετωπιστεί στην κύρια συνάρτηση βρόχου Arduino ().

Θυμηθείτε να αλλάξετε τις μεταβλητές στο επάνω μέρος του κώδικα για να ταιριάζουν στο δίκτυό σας!

Συνιστάται: