Αποδοτική και ασφαλής συνδεσιμότητα IoT με MQTT και έξυπνες πύλες

  • Το MQTT προσφέρει ελαφριά, αξιόπιστη και ασφαλή ανταλλαγή μηνυμάτων βάσει δημοσίευσης/εγγραφής, ιδανική για συσκευές IoT με περιορισμένους πόρους και ασταθή δίκτυα.
  • Οι πύλες MQTT λειτουργούν ως γέφυρα μεταξύ τοπικών αισθητήρων και πλατφορμών cloud, μεταφράζοντας διάφορα πρωτόκολλα σε MQTT και ενοποιώντας δεδομένα σε έναν κεντρικό μεσίτη.
  • Η αρχιτεκτονική με έναν κεντρικό μεσίτη διευκολύνει την επεκτασιμότητα, την αποσύνδεση μεταξύ υλικού και λογισμικού και την ενσωμάτωση με αναλυτικά στοιχεία, Big Data και υπηρεσίες αυτοματισμού.
  • Το MQTT χρησιμοποιείται εκτενώς στη βιομηχανία, τα LPWAN, την εφοδιαστική, τα έξυπνα σπίτια και την αυτοκινητοβιομηχανία, αποδεικνύοντας την ωριμότητα και την ευελιξία του σε πραγματικά έργα IoT.

Διαδίκτυο των Πραγμάτων MQTT

Όταν μιλάς συνδέστε εκατομμύρια συσκευές IoT Για αξιόπιστη, ελαφριά και ασφαλή επικοινωνία, το όνομα που εμφανίζεται πάντα είναι το ίδιο: MQTT. Αυτό το πρωτόκολλο έχει γίνει βασικό στοιχείο για αισθητήρες, βιομηχανικές πύλες, συσκευές έξυπνου σπιτιού και πλατφόρμες cloud, ώστε να επικοινωνούν χωρίς υπερφόρτωση του δικτύου ή απότομη αύξηση της κατανάλωσης ενέργειας.

Μακριά από το να είναι απλώς «ένα ακόμη πρωτόκολλο», Το MQTT ταιριάζει απόλυτα με τις πραγματικές ανάγκες του Διαδικτύου των ΠραγμάτωνΑσταθή δίκτυα, εξωφρενικά χαμηλό εύρος ζώνης, πολύ περιορισμένο υλικό, απαιτητικά βιομηχανικά περιβάλλοντα ή εφαρμογές σχεδόν πραγματικού χρόνου, όπως κυβερνοεργοστάσια, ενεργειακή τηλεμετρία ή προηγμένος οικιακός αυτοματισμός. Ας ρίξουμε μια ψύχραιμη και λεπτομερή ματιά στο πώς λειτουργεί, ποιος είναι ο ρόλος του στη συνδεσιμότητα IoT, τι είναι μια πύλη MQTT και σε ποιες συγκεκριμένες περιπτώσεις είναι πιο λογικό να χρησιμοποιείται σε σύγκριση με άλλες επιλογές.

Τι είναι το MQTT και γιατί έχει γίνει τόσο δημοφιλές στο IoT;

Το MQTT (Μεταφορά Τηλεμετρίας Ουράς Μηνυμάτων) είναι ένα ελαφρύ, ανοιχτό πρότυπο πρωτόκολλο ανταλλαγής μηνυμάτων Σχεδιασμένο ειδικά για επικοινωνία μηχανής προς μηχανή (M2M) και, κατ' επέκταση, για το Διαδίκτυο των Πραγμάτων. Ο στόχος του είναι πολύ σαφής: να μπορεί να στέλνει και να λαμβάνει δεδομένα μεταξύ συσκευών ακόμη και αν το δίκτυο είναι κακό, το εύρος ζώνης είναι περιορισμένο και η συσκευή έχει πολύ μικρή μνήμη ή υπολογιστική ισχύ.

Σε αντίθεση με το κλασικό μοντέλο πελάτη-διακομιστή, το MQTT χρησιμοποιεί ένα αρχιτεκτονική δημοσίευσης/συνδρομής Βασίζεται σε έναν κεντρικό ενδιάμεσο που ονομάζεται μεσίτης. Οι συσκευές δεν επικοινωνούν απευθείας μεταξύ τους, αλλά δημοσιεύουν μηνύματα σε συγκεκριμένα θέματα και εγγράφονται σε θέματα ενδιαφέροντος. Ο μεσίτης είναι υπεύθυνος για τη λήψη όλων αυτών των μηνυμάτων, το φιλτράρισμα και την παράδοσή τους στους κατάλληλους πελάτες.

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

Βασικά τεχνικά χαρακτηριστικά του MQTT για το IoT

Ελαφρύ και αποτελεσματικό πρωτόκολλο

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

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

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

Πρότυπο δημοσίευσης/συνδρομής με θέματα

Το MQTT βασίζεται σε ένα μοντέλο δημοσίευση/συνδρομή σε θέματαΑυτές είναι συμβολοσειρές κειμένου (σε UTF-8) που οργανώνουν πληροφορίες σε επίπεδα. Για παράδειγμα, σε ένα έξυπνο σπίτι μπορεί να έχουμε:

  • σπίτι/σαλόνι/θερμοκρασία
  • σπίτι/κουζίνα/καπνός
  • σπίτι/γκαράζ/πόρτα

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

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

Ποιότητα υπηρεσίας (QoS) και αξιοπιστία

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

Το πρωτόκολλο ορίζει τρία επίπεδα ποιότητα υπηρεσίας (QoS):

  • QoS 0 – «το πολύ μία φορά»Το μήνυμα αποστέλλεται μόνο μία φορά, χωρίς επιβεβαίωση. Είναι η ταχύτερη και πιο εύκολη μέθοδος, αλλά ορισμένα μηνύματα ενδέχεται να χαθούν.
  • QoS 1 – «τουλάχιστον μία φορά»Αυτό διασφαλίζει ότι το μήνυμα θα φτάσει, αν και μπορεί να φτάσει διπλότυπο. Χρησιμοποιείται ένα σύστημα επιβεβαίωσης για να εγγυηθεί την παράδοση.
  • QoS 2 – «ακριβώς μία φορά»Αυτό είναι το πιο ισχυρό επίπεδο. Εξασφαλίζει ότι κάθε μήνυμα παραδίδεται μία και μόνο μία φορά, χρησιμοποιώντας ένα χειραψία τεσσάρων φάσεωνΕίναι λίγο βαρύτερο, αλλά απαραίτητο σε ορισμένες ευαίσθητες περιπτώσεις.

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

Διαχείριση επανασυνδέσεων και ασταθών δικτύων

Ένα άλλο πλεονέκτημα είναι ότι το MQTT έχει σχεδιαστεί για περιβάλλοντα με συχνές αποσυνδέσειςΤο πρωτόκολλο περιλαμβάνει λειτουργίες που μειώνουν τον χρόνο που χρειάζεται μια συσκευή για να επανασυνδεθεί με τον μεσίτη, κάτι που είναι απαραίτητο σε δίκτυα κινητής τηλεφωνίας ή Wi-Fi αμφίβολης ποιότητας. ασφαλής σύνδεση WiFi μπορούν να συμπληρώσουν αυτές τις δυνατότητες.

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

Ασφάλεια και κρυπτογράφηση

Στο IoT, η ασφάλεια δεν είναι προαιρετική. Το MQTT ενσωματώνει υποστήριξη για κρυπτογράφηση και έλεγχος ταυτότητας Βασιζόμενο σε σύγχρονα πρωτόκολλα: Το TLS 1.3 μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση του καναλιού, τον έλεγχο ταυτότητας μέσω πιστοποιητικών πελάτη, το OAuth και άλλες τεχνικές που είναι κοινές σε επιχειρηματικά περιβάλλοντα και περιβάλλοντα cloud.

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

Εκτεταμένη υποστήριξη σε όλες τις γλώσσες και τις πλατφόρμες

Το MQTT έχει ώριμες υλοποιήσεις μεσιτών και πελατών σε πολλές γλώσσες (Python, C, C++, Java, JavaScript, Go, κ.λπ.) και με μια πολύ ενεργή κοινότητα. Αυτό διευκολύνει τους προγραμματιστές να ενσωματώνουν συσκευές IoT με υπάρχοντα συστήματα, βάσεις δεδομένων, εργαλεία Big Data ή υπηρεσίες cloud χωρίς να επανεφεύρουν τον τροχό.

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

Ο ρόλος του MQTT broker στην αρχιτεκτονική IoT

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

Μεταξύ των βασικών λειτουργιών του είναι:

  • Λήψη πληροφοριών δημοσιεύονται από πελάτες (αισθητήρες, πύλες, εφαρμογές κ.λπ.).
  • Αποκωδικοποίηση και φιλτράρισμα μηνυμάτων ανάλογα με το θέμα, το επίπεδο QoS ή τους κανόνες ασφαλείας.
  • Προσδιορίστε ποιοι πελάτες ενδιαφέρονται σε κάθε μήνυμα (ανάλογα με τις συνδρομές σας).
  • Μεταδώστε τα μηνύματα στους πελάτες-στόχουςσεβόμενοι τις πολιτικές QoS και εξουσιοδότησης.

Υπάρχουν πολλαπλές υλοποιήσεις broker, τόσο ανοιχτού κώδικα αλλά και εμπορικού χαρακτήραΈνα από τα πιο γνωστά είναι το Mosquitto, το οποίο χρησιμοποιείται ευρέως σε οικιακά περιβάλλοντα, κατασκευαστές αλλά και σε πιο σοβαρές εφαρμογές, το οποίο επιτρέπει τη διαχείριση από μερικούς έως χιλιάδες υπολογιστές-πελάτες με σχετικά απλή διαμόρφωση.

MQTT στην πράξη: Arduino, ESP8266 και τοπικά δίκτυα

Διαδίκτυο των Πραγμάτων MQTT

Σε πολλά οικιακά ή ημιεπαγγελματικά έργα IoT, ένα αρκετά τυπικό σενάριο περιλαμβάνει την ύπαρξη ένας μεσίτης MQTT που εκτελείται σε ένα Raspberry Pi ή έναν υπολογιστή εντός του τοπικού δικτύου και διάφορες συσκευές όπως Arduino με την εφαρμογή Arduino IoT Cloud Remote ή ESP8266 συνδεδεμένοι ως πελάτες.

Για παράδειγμα, θα μπορούσατε να έχετε ένα Arduino με αισθητήρα θερμοκρασίας DHT22 που δημοσιεύει περιοδικές μετρήσεις για ένα θέμα όπως σπίτι/σαλόνι/θερμοκρασίαΕν τω μεταξύ, ένα άλλο Arduino ή μια εφαρμογή για κινητά εγγράφεται στο ίδιο θέμα για να εμφανίζει τη θερμοκρασία σε πραγματικό χρόνο. Ο μεσίτης, στην προκειμένη περίπτωση ο Mosquitto, είναι υπεύθυνος για τη λήψη μηνυμάτων από το πρώτο Arduino και την παράδοσή τους στο δεύτερο, χωρίς να χρειάζεται να γνωρίζονται μεταξύ τους ή να διαχειρίζονται μια άμεση σύνδεση.

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

Γιατί MQTT και όχι μόνο HTTP;

Μια πολύ συνηθισμένη ερώτηση είναι αν αξίζει πραγματικά να χρησιμοποιήσετε το MQTT όταν θα μπορούσατε, φαινομενικά, να λύσετε τα πάντα με άμεσα αιτήματα HTTP σε ένα ESP8266 ή παρόμοιο, ανοίγοντας μια θύρα στο δρομολογητή και αυτό είναι όλο, ή ακόμα και με WebSockets σε Android.

Η απάντηση είναι ότι, αν και τεχνικά εφικτό, το MQTT προσφέρει πολλά σημαντικά πλεονεκτήματα:

  • Χαμηλότερη μέση καθυστέρηση και λιγότερη επιβάρυνση σε συχνές επικοινωνίες, ειδικά με σύντομα μηνύματα που αποστέλλονται κάθε λίγα δευτερόλεπτα.
  • Εγγενής Pub/SubΤο κινητό τηλέφωνο δεν χρειάζεται να επικοινωνεί απευθείας με κάθε συσκευή, χρειάζεται μόνο να επικοινωνεί με τον μεσίτη.
  • Κεντρική διαχείριση ασφάλειας και ελέγχου ταυτότητας στον μεσίτη, αντί να αναπαράγει λογική σε κάθε συσκευή.
  • Ευκολία κλιμάκωσηςΑν αύριο πάτε από 5 σε 500 συσκευές, δεν χρειάζεται να ανοίξετε 500 θύρες ή να επανασχεδιάσετε ολόκληρη την τοπολογία.
  • Εγγενής υποστήριξη για επανασυνδέσεις και QoS σκεπτόμενοι τα ασταθή δίκτυα, κάτι που το HTTP δεν προσφέρει εξ ορισμού.

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

Όσον αφορά υπηρεσίες όπως το io.adafruit.com και τα διαστήματα ενεργοποίησής τους (κάθε 15 λεπτά στη δωρεάν έκδοση, κάθε 5 δευτερόλεπτα στην πληρωμένη έκδοση), είναι περιορισμοί της συγκεκριμένης υπηρεσίαςΔεν είναι το ίδιο το πρωτόκολλο MQTT το πρόβλημα. Το ίδιο το πρωτόκολλο επιτρέπει πολύ χαμηλή καθυστέρηση. Το πρόβλημα είναι ότι ο πάροχος επιβάλλει όρια συχνότητας χρήσης.

Βιντεοκλήσεις και ροή σε πραγματικό χρόνο με WebRTC και SDK
σχετικό άρθρο:
Βιντεοκλήσεις και ροή σε πραγματικό χρόνο με WebRTC και SDK

Πύλη MQTT: η πύλη μεταξύ αισθητήρων και cloud

Τι είναι μια πύλη MQTT;

Η λεγόμενη «Πύλη MQTT» ή πύλη MQTT είναι, στην ουσία, μια ενδιάμεση συσκευή μεταξύ των αισθητήρων ή των τοπικών συσκευών και της πλατφόρμας IoT ή του μεσίτη MQTTΗ κύρια λειτουργία του είναι η συλλογή δεδομένων σε διαφορετικά πρωτόκολλα (π.χ. Bluetooth, ενσύρματοι αισθητήρες, Modbus κ.λπ.), η μετατροπή τους σε MQTT και η αποστολή τους στο cloud ή σε έναν κεντρικό μεσίτη.

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

Πλεονεκτήματα μιας πύλης MQTT (συμπεριλαμβανομένου του Bluetooth MQTT)

Οι πύλες που βασίζονται στο MQTT, ειδικά αυτές που ενσωματώνουν Bluetooth, προσφέρουν πολλά ενδιαφέροντα πλεονεκτήματα:

  • Πολύ ελαφρά μηνύματαγεγονός που καθιστά την επικοινωνία αποτελεσματική ακόμη και με πολλούς αισθητήρες που στέλνουν δεδομένα ταυτόχρονα.
  • Αμφίδρομη ανταλλαγή μηνυμάτωνΕπιτρέπουν την επικοινωνία τόσο από cloud προς συσκευή όσο και από συσκευή προς cloud, όχι μόνο την τηλεμετρία uplink.
  • Αξιόπιστη παράδοση υποστηρίζεται από επίπεδα QoS, διασφαλίζοντας ότι τα μηνύματα φτάνουν σύμφωνα με το διαμορφωμένο επίπεδο εγγύησης.
  • ενσωματωμένη ασφάλειαΟι πύλες συνήθως υποστηρίζουν κρυπτογράφηση TLS και έλεγχο ταυτότητας πιστοποιητικών, επομένως τα δεδομένα που διέρχονται μέσω της πύλης αγγίζουν με ασφάλεια το cloud.

Στην περίπτωση a Πύλη Bluetooth MQTTΗ συσκευή σαρώνει και ανιχνεύει όλους τους αισθητήρες BLE εντός εμβέλειας, διαχειρίζεται την επικοινωνία μαζί τους και συγκεντρώνει τη μετάδοση δεδομένων στον μεσίτη MQTT. Από την οπτική γωνία της πλατφόρμας IoT, όλοι αυτοί οι αισθητήρες Bluetooth "μιλούν MQTT", παρόλο που στην πραγματικότητα το κάνουν μέσω της πύλης.

Πώς λειτουργεί μια πύλη MQTT και πώς να τη διαμορφώσετε

Σε γενικές γραμμές, η τυπική ροή μιας πύλης MQTT είναι:

  1. Σάρωση και ανίχνευση αισθητήρων και συσκευών εντός της εμβέλειάς του (π.χ. μέσω Bluetooth ή ενσύρματων δικτύων).
  2. Συλλέξτε τα δεδομένα από αυτούς τους αισθητήρες μέσω των αντίστοιχων πρωτοκόλλων.
  3. Μεταφράστε αυτά τα δεδομένα σε μορφή MQTT (ορίζοντας κατάλληλα θέματα και ωφέλιμα φορτία).
  4. Δημοσιεύστε τα δεδομένα στον μεσίτη ή στην επιλεγμένη πλατφόρμα IoT.

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

Στη συνέχεια, επιλέγετε τη λειτουργική μονάδα που θα εκτελέσει ο πελάτης MQTT, για παράδειγμα:

  • Μονάδα Ethernet Arduino + W5100.
  • Ενότητα ESP8266 με συνδεσιμότητα WiFi.

Το υλικολογισμικό ορίζει το Θέματα δημοσίευσης και συνδρομήςΓια παράδειγμα, ένα πρόθεμα όπως ΠΡΟΘΕΜΑ_ΘΕΜΑΤΟΣ_ΔΗΜΟΣΙΕΥΣΗΣ_MY_MQTT/ΑΝΑΓΝΩΡΙΣΤΙΚΟ_ΚΟΜΒΟΥ/ΑΝΑΓΝΩΡΙΣΤΙΚΟ_ΑΙΣΘΗΤΗΡΑ θα μπορούσε να δημιουργήσει θέματα όπως mygateway1-out/2/1/1/0/49, ενώ για την αποστολή εντολών στους αισθητήρες θα χρησιμοποιηθεί ένα πρόθεμα συνδρομής όπως ΠΡΟΘΕΜΑ_ΘΕΜΑΤΟΣ_ΕΓΓΡΑΦΗΣ_MY_MQTTδημιουργώντας θέματα του τύπου mygateway1-in/2/1/1/0/49.

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

Πύλη MQTT ως γέφυρα προς έναν κεντρικό διακομιστή

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

Η ιδέα είναι να εγκατασταθεί μια πύλη MQTT σε κάθε τοποθεσία όπου υπάρχουν συσκευές IoT. Κάθε πύλη συλλέγει πληροφορίες από το τοπικό της περιβάλλον, το Πρόσθεσέ το και προωθήστε το σε έναν κεντρικό διακομιστή (ή σε έναν cloud broker) χρησιμοποιώντας το MQTT. Με αυτόν τον τρόπο μπορείτε να έχετε μια συνολική εικόνα όλων των δεδομένων χωρίς να χάσετε τον τοπικό έλεγχο και με βελτιστοποιημένη κατανάλωση δικτύου.

Επιπλέον, αυτές οι πύλες μπορούν ασφαλές με δικά σας πιστοποιητικάΟι μηχανισμοί κρυπτογράφησης και ελέγχου ταυτότητας TLS προστατεύουν τους αισθητήρες και το IoT edge που παραμένουν «πίσω» από την πύλη. Μπορούν επίσης να αποθηκεύουν πληροφορίες τοπικά, να προσαρμόζουν τη διεπαφή χρήστη για τη διαχείριση κοντινών συσκευών και να προσθέτουν συμβατότητα με άλλα βιομηχανικά πρωτόκολλα, όπως απαιτείται.

Συμβατότητα MQTT με πλατφόρμες cloud και άλλα πρωτόκολλα

Ένα από τα μεγαλύτερα πλεονεκτήματα του MQTT είναι ότι είναι Συμβατό με τις περισσότερες μεγάλες πλατφόρμες cloud IoTΠολλές βιομηχανικές πύλες MQTT λειτουργούν ως στάνταρ με:

  • Azure IoT.
  • Google Cloud IoT.
  • AWS IoT.
  • IBM Watson IoT.

Η πύλη ερμηνεύει τα δεδομένα που λαμβάνει από τους αισθητήρες και Τα μεταδίδει στην πλατφόρμα σε μορφή MQTT.Οι χρήστες χρειάζεται μόνο να εγγραφούν στα σχετικά θέματα για να δουν ή να επεξεργαστούν τις πληροφορίες ανά πάσα στιγμή.

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

Πραγματικές περιπτώσεις χρήσης του MQTT και του IoT

Βιομηχανικά περιβάλλοντα και τηλεμετρία

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

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

Δίκτυα ευρείας περιοχής χαμηλής ισχύος (LPWAN)

Τα δίκτυα LPWAN (Low Power Wide Area Network) έχουν σχεδιαστεί για να συσκευές πολύ χαμηλής ισχύος που στέλνουν μικρά μηνύματα σε μεγάλες αποστάσειςΣυνήθως, τα δίκτυα με υψηλή καθυστέρηση και περιορισμένο εύρος ζώνης είναι προβληματικά. Το MQTT είναι ιδανικό για αυτό το περιβάλλον επειδή τα μηνύματά του είναι ελαφριά, υποστηρίζει την ποιότητα της υπηρεσίας και προσαρμόζεται σε αναξιόπιστα δίκτυα.

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

Κοινωνικά δίκτυα και μαζική ανταλλαγή μηνυμάτων

Ένα εντυπωσιακό παράδειγμα χρήσης του MQTT εκτός του κλασικού βιομηχανικού περιβάλλοντος είναι αυτό του Facebookόπου έχει χρησιμοποιηθεί ως το κύριο πρωτόκολλο επικοινωνίας για τη διαχείριση ενός τεράστιου όγκου μηνυμάτων σε πραγματικό χρόνο. Παίζει επίσης ρόλο στην ανταλλαγή μηνυμάτων σε πλατφόρμες όπως το Instagram.

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

Έξυπνα σπίτια και αυτοματισμός σπιτιού

Στον εγχώριο τομέα, το MQTT έχει γίνει ένα από τα Αγαπημένα πρωτόκολλα για την αυτοματοποίηση έξυπνων σπιτιώνΕνσωματώνεται άψογα με πλατφόρμες cloud όπως το Azure ή το IBM Watson, καθώς και με τοπικά συστήματα αυτοματισμού.

Με το MQTT μπορείτε να παρακολουθείτε το κατανάλωση ενέργειας στο σπίτιέλεγχος φωτισμού, παρακολούθηση θερμοκρασίας ή ποιότητας αέρα σε πραγματικό χρόνο και συντονισμός πολλαπλών συσκευών (θερμοστάτες, στόρια, συστήματα άρδευσης κ.λπ.), συμπεριλαμβανομένων συσκευών όπως το Xiaomi Sailingχωρίς να χρειάζεται κάθε συσκευή να επικοινωνεί απευθείας με τις άλλες. Μια πύλη Bluetooth MQTT, για παράδειγμα, μπορεί να συγκεντρώσει όλους τους αισθητήρες BLE σε ένα σπίτι και να τους συνδέσει σε έναν μόνο μεσίτη.

Τμήμα αυτοκινήτου

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

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

Μεταφορές και logistics

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

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

Κλιμακούμενες αρχιτεκτονικές και αποσύνδεση μεταξύ υλικού και λογισμικού

Ένα από τα μεγάλα οφέλη της υιοθέτησης του MQTT σε ένα έργο IoT είναι ότι επιτρέπει διαχωρίστε με σαφήνεια το επίπεδο υλικού από το επίπεδο λογισμικούΟι αισθητήρες και οι συσκευές ασχολούνται μόνο με την αποστολή δεδομένων σε έναν μεσίτη και τη λήψη εντολών από συγκεκριμένα θέματα. Όλα όσα συμβαίνουν από εκεί (αποθήκευση, ανάλυση, οπτικοποίηση) μπορούν να εξελιχθούν ανεξάρτητα.

Αυτή η προσέγγιση συχνά θυμίζει μοτίβο μικροϋπηρεσιώνόπου κάθε στοιχείο κάνει ένα πράγμα και το κάνει καλά. Στην περίπτωσή μας, η συσκευή υλικού επικεντρώνεται στη μέτρηση και τη δημοσίευση. Άλλες υπηρεσίες χειρίζονται την επεξεργασία, την αποθήκευση, την οπτικοποίηση ή την εφαρμογή τεχνητής νοημοσύνης, χωρίς ο αισθητήρας να χρειάζεται να «γνωρίζει» τίποτα γι' αυτές.

Χάρη σε αυτήν την αποσύνδεση, αν αύριο αποφασίσετε να μεταβείτε από έναν απλό ιστότοπο οπτικοποίησης σε ένα Raspberry Pi σε ένα πολύπλοκο σύστημα Μεγάλων Δεδομένων και Μηχανικής Μάθησης Στο cloud, δεν χρειάζεται να αγγίξετε τους αισθητήρες. Θα συνεχίσουν να στέλνουν δεδομένα στον μεσίτη και θα χρειαστεί να συνδέσετε μόνο νέους καταναλωτές που έχουν εγγραφεί σε υπάρχοντα θέματα.

Σε τι χρησιμεύει η εφαρμογή Arduino IoT Cloud Remote για Android;
σχετικό άρθρο:
Τι είναι η εφαρμογή Arduino IoT Cloud Remote για Android και πώς να την αξιοποιήσετε στο έπακρο;

Μαζί, το MQTT και οι σχετικές πύλες αποτελούν μια λύση πολύ ισχυρό για συνδεσιμότητα IoTΕλαφρύ, επεκτάσιμο, ασφαλές, συμβατό με τις μεγάλες πλατφόρμες cloud και υποστήριξη όλων των τύπων δικτύων, από LPWAN έως οικιακό WiFi ή βιομηχανικό Ethernet. Όλα αυτά, σε συνδυασμό με το μοντέλο δημοσίευσης/εγγραφής και τη δυνατότητα προσθήκης πυλών που γεφυρώνουν πρωτόκολλα, το καθιστούν ένα από τα βασικά στοιχεία πάνω στα οποία χτίζεται το παρόν και το μέλλον του Διαδικτύου των Πραγμάτων. Μοιραστείτε τις πληροφορίες έτσι ώστε περισσότεροι χρήστες να γνωρίζουν το θέμα.


Προσθήκη ως προτιμώμενης πηγής