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

NodeMCU - Βασικό παράδειγμα MQTT: 4 βήματα
NodeMCU - Βασικό παράδειγμα MQTT: 4 βήματα

Βίντεο: NodeMCU - Βασικό παράδειγμα MQTT: 4 βήματα

Βίντεο: NodeMCU - Βασικό παράδειγμα MQTT: 4 βήματα
Βίντεο: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Νοέμβριος
Anonim
Image
Image

Αυτό το μάθημα θα δείξει τη βασική χρήση πρωτοκόλλου MQTT στον πίνακα NodeMCU. Χρησιμοποιούμε το MQTTBox ως πρόγραμμα -πελάτη MQTT εδώ και θα χρησιμοποιήσουμε το NodeMCU για να ολοκληρώσουμε τις ακόλουθες λειτουργίες:

Δημοσιεύστε το "hello world" στο θέμα "outTopic" κάθε δύο δευτερόλεπτα. Εγγραφείτε στο θέμα "inTopic", εκτυπώστε τυχόν ληφθέντα μηνύματα. Υποθέτει ότι τα λαμβανόμενα ωφέλιμα φορτία είναι συμβολοσειρές και όχι δυαδικές. Εάν το εγγεγραμμένο μήνυμα είναι "1", ανάψτε το ενσωματωμένο LED. Απενεργοποιήστε το ενσωματωμένο LED εάν το μήνυμα για εγγραφή είναι "0".

Προετοιμασία: Osoyoo NodeMCU x1

Καλώδιο USB x1

PC x1

Arduino IDE (Versin 1.6.4+)

Συνδέστε το NodeMCU στον υπολογιστή μέσω καλωδίου USB.

Βήμα 1: Εγκατάσταση βιβλιοθήκης

Εγκατάσταση Βιβλιοθήκης
Εγκατάσταση Βιβλιοθήκης
Εγκατάσταση Βιβλιοθήκης
Εγκατάσταση Βιβλιοθήκης

Εγκαταστήστε το PubSubClientlibrary

Πρέπει να εγκαταστήσουμε τη βιβλιοθήκη τελικού σημείου MQTT (PubSubClient) για να επικοινωνήσουμε με τον μεσίτη MQTT, κάντε λήψη της βιβλιοθήκης από τον ακόλουθο σύνδεσμο:

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

Ανοίξτε το IED Arduino, μπορείτε να βρείτε το "pubsubclient" στη στήλη "Παραδείγματα".

Εγκατάσταση προγράμματος -πελάτη MQTT:

θα χρησιμοποιήσουμε το MQTTBox ως πρόγραμμα -πελάτη MQTT. κάντε λήψη από:

Βήμα 2: Κωδικός

Κώδικας
Κώδικας
Κώδικας
Κώδικας

ανοίξτε το Arduino IDE–> Αρχείο–> Παράδειγμα–> pubsubclient–> mqtt esp8266, θα λάβετε δείγμα κώδικα.

Επεξεργαστείτε τον κώδικα ώστε να ταιριάζει στις δικές σας ρυθμίσεις WiFi και MQTT ως εξής: 1) Διαμόρφωση Hotspot: Βρείτε την παρακάτω γραμμή κώδικα, τοποθετήστε το δικό σας ssid και κωδικό πρόσβασης εκεί.

const char* ssid = "your_hotspot_ssid"; const char* password = "your_hotspot_password"?

2) Ρύθμιση διεύθυνσης διακομιστή MQTT, εδώ χρησιμοποιούμε δωρεάν μεσίτη MQTT "broker.mqtt-dashboard.com". Μπορείτε να χρησιμοποιήσετε τη δική σας διεύθυνση URL μεσίτη MQTT ή διεύθυνση IP για να ορίσετε πάνω από την τιμή του διακομιστή mqtt_server. Μπορείτε επίσης να χρησιμοποιήσετε κάποιο διάσημο δωρεάν διακομιστή MQTT για να δοκιμάσετε το έργο, όπως "broker.mqtt-dashboard.com", "iot.eclipse.org" κ.λπ.

const char* mqtt_server = "broker.mqtt-dashboard.com";

3) Ρυθμίσεις πελάτη MQTT Εάν ο μεσίτης MQTT απαιτεί πιστοποίηση πελάτη, όνομα χρήστη και κωδικό πρόσβασης, θα πρέπει να

αλλαγή

εάν (client.connect (clientId.c_str ()))

Προς το

if (client.connect (clientId, userName, passWord)) // βάλτε το clientId/userName/passWord σας εδώ

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

  • Πίνακας: "NodeMCU 0.9 (μονάδα ESP-12)"
  • Συχνότητα CPU: "80MHz" Μέγεθος φλας: "4M (3M SPIFFS)"
  • Ταχύτητα μεταφόρτωσης:”115200
  • Θύρα: Επιλέξτε τη δική σας σειριακή θύρα για το NodeMCU

Βήμα 3: Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)

Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)
Διαμόρφωση προγράμματος -πελάτη MQTT (MQTTBOX)

Σε αυτό το βήμα, θα δείξουμε πώς να δημιουργήσετε ένα πρόγραμμα -πελάτη MQTT στο MQTTBox.

Ανοίξτε το MQTTBox και κάντε κλικ στο μπλε κουμπί για να προσθέσετε ένα νέο πρόγραμμα -πελάτη MQTT.

Διαμορφώστε τις ρυθμίσεις πελατών MQTT όπως παρακάτω:

  • Όνομα πελάτη MQTT - Επιλέξτε όποιο όνομα σας αρέσει
  • Πρωτόκολλο - Επιλέξτε "mqtt/tcp"
  • Host - Πληκτρολογήστε τον "mqtt_server" σας σε αυτήν τη στήλη, βεβαιωθείτε ότι είναι ίδιο με το σκίτσο σας. (Χρησιμοποιούμε εδώ το "broker.mqtt-dashboard.com")
  • Διατηρήστε άλλες ρυθμίσεις ως προεπιλογή
  • Κάντε κλικ για να αποθηκεύσετε τις αλλαγές σας.

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

Ρύθμιση θέματος: Βεβαιωθείτε ότι το θέμα δημοσίευσης του προγράμματος -πελάτη MQTT είναι ίδιο με το θέμα εγγραφής σκίτσων Arduino (inTopic εδώ. Βεβαιωθείτε ότι το θέμα εγγραφής πελάτη MQTT είναι ίδιο με το θέμα δημοσίευσης του σκίτσου Arduino (outTopic εδώ.

Βήμα 4: Αποτέλεσμα εκτέλεσης προγράμματος

Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος
Αποτέλεσμα εκτέλεσης προγράμματος

Μόλις ολοκληρωθεί η μεταφόρτωση, εάν το όνομα και ο κωδικός πρόσβασης wifi hotspot είναι εντάξει και ο μεσίτης MQTT είναι συνδεδεμένος, ανοίξτε το Serial Monitor, θα δείτε το μήνυμα δημοσίευσης "hello world" στην σειριακή οθόνη.

Στη συνέχεια, ανοίξτε το πρόγραμμα -πελάτη MQTT και δημοσιεύστε το ωφέλιμο φορτίο "1" στο θέμα, αυτό το NodeMCU θα λάβει αυτά τα μηνύματα με την εγγραφή σας στο "inTopic" και το LED θα ανάψει.

Δημοσιεύστε το ωφέλιμο φορτίο "0" σε αυτό το θέμα, το LED NodeMCU θα απενεργοποιηθεί.

Συνιστάται: