Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι το MQTT;
- Βήμα 2: Εγκατάσταση του MQTT Broker στο Raspberry Pi
- Βήμα 3: Συνδέστε το IOT Cricket στο RaspberryPi Over MQTT
- Βήμα 4: Ελέγξτε τα μηνύματα MQTT
- Βήμα 5: Περίληψη
- Βήμα 6: Σχετικά με εμάς
Βίντεο: Σύστημα αυτοματισμού οικιακού WiFi εξαιρετικά χαμηλής ισχύος: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:31
Σε αυτό το έργο δείχνουμε πώς μπορείτε να δημιουργήσετε ένα βασικό τοπικό σύστημα αυτοματισμού σπιτιού σε λίγα βήματα. Θα χρησιμοποιήσουμε ένα Raspberry Pi το οποίο θα λειτουργεί ως κεντρική συσκευή WiFi. Ενώ για τους τελικούς κόμβους πρόκειται να χρησιμοποιήσουμε το IOT Cricket για να φτιάξουμε συσκευές WiFi με μπαταρία π.χ. αισθητήρα θερμοκρασίας και συνδέστε τον στο RPi χωρίς να γράψετε ούτε μία γραμμή κώδικα.
Το σύστημά μας θα βασιστεί στο πρωτόκολλο επικοινωνίας MQTT, το οποίο υιοθετείται εξαιρετικά στα περισσότερα συστήματα αυτοματισμού σπιτιού. Για να το ρυθμίσουμε επιλέγουμε Mosquitto MQTT broker (διακομιστή) και το εγκαθιστούμε στο Raspberry Pi (ο κεντρικός μας κόμβος).
Το IOT Cricket έρχεται επίσης με υποστήριξη πρωτοκόλλων HTTP (S) και MQTT. Το διαμορφώνουμε ώστε να χρησιμοποιεί το MQTT για άμεση επικοινωνία με τον μεσίτη RPi MQTT.
Αυτό το έργο μπορεί να υλοποιηθεί από κατασκευαστές σε όλα τα επίπεδα δεξιοτήτων. Μπορεί να απαιτεί κάποια βασική συγκόλληση, ωστόσο δεν απαιτεί κωδικοποίηση ή προγραμματισμό. Στο τέλος αυτού του έργου θα πάρετε μια σταθερή ιδέα πώς μπορείτε εύκολα να δημιουργήσετε το δικό σας σύστημα και να επεκταθείτε γρήγορα προσθέτοντας τους δικούς σας τελικούς κόμβους IOT στο σύστημα.
Προμήθειες:
- Raspberry Pi (χρησιμοποιήσαμε την έκδοση 3 για αυτό το έργο)
- Ενότητα IOT Cricket WiFi
- Υποδοχή μπαταρίας 2xAAA
- 2xAAA μπαταρίες
Βήμα 1: Τι είναι το MQTT;
Το πρωτόκολλο MQTT παρέχει μια ελαφριά μέθοδο εκτέλεσης μηνυμάτων χρησιμοποιώντας μοντέλο δημοσίευσης/εγγραφής. Αυτό το καθιστά κατάλληλο για μηνύματα στο Internet of Things, όπως αισθητήρες χαμηλής ισχύος ή κινητές συσκευές όπως τηλέφωνα, ενσωματωμένους υπολογιστές ή μικροελεγκτές. (πηγή: mosquitto.org)
Μπορούμε να χρησιμοποιήσουμε όσες συσκευές θέλουμε να εγγραφούμε σε θέματα και να ακούμε μηνύματα που φτάνουν. Εάν κάποια συσκευή (ες) δημοσιεύσει ένα μήνυμα για το συγκεκριμένο θέμα, τότε όλες οι συσκευές, οι οποίες έχουν εγγραφεί στο θέμα, λαμβάνουν αυτό το μήνυμα αμέσως. Το θέμα μπορεί να είναι οποιαδήποτε αυθαίρετη συμβολοσειρά που συνήθως συνδέεται με / χαρακτήρες για να επιτρέψει τη δημιουργία ιεραρχικών θεμάτων. Η πιο τυπική χρήση του MQTT είναι να υπάρχει ένας κεντρικός διακομιστής στον οποίο οι συσκευές μπορούν να εγγραφούν και να δημοσιεύουν μηνύματα. Διευκολύνει κάθε επικοινωνία μεταξύ συσκευών που είναι συνδεδεμένες με αυτόν τον διακομιστή. Σε αυτό το έργο θα χρησιμοποιήσουμε το RPi για να ενεργήσουμε ως κεντρικός μεσίτης MQTT και όλες οι άλλες συσκευές θα στέλνουν μηνύματα μέσω αυτού του μεσίτη. Ο καλύτερος τρόπος για να το μάθουμε είναι προφανώς να το κάνουμε μόνοι μας. Υπάρχουν πολλοί πόροι που διατίθενται στο διαδίκτυο στο MQTT. Ωστόσο, για αυτό το έργο θα πρέπει να είστε εντάξει με μια βασική εισαγωγή, την οποία δώσαμε παραπάνω.
Βήμα 2: Εγκατάσταση του MQTT Broker στο Raspberry Pi
Για αυτό το έργο χρησιμοποιούμε έναν μεσίτη ανοιχτού κώδικα Mosquitto MQTT. Είναι ελαφρύ και είναι κατάλληλο για χρήση σε όλες τις συσκευές από υπολογιστές μικρής ισχύος σε πίνακες έως πλήρεις διακομιστές.
Πριν ξεκινήσουμε την εγκατάσταση, είναι καλή πρακτική να ενημερώσουμε πρώτα τα στοιχεία του συστήματος:
$ sudo apt-get ενημέρωση $ sudo apt-get αναβάθμιση
Εγκαταστήστε τον μεσίτη Mosquitto. Ανοίξτε ένα τερματικό και πληκτρολογήστε την ακόλουθη εντολή:
$ sudo apt -get install mosquitto -y
Διαμόρφωση μεσίτη Mosquitto. Επεξεργασία αρχείου διαμόρφωσης:
$ sudo vi /etc/mosquitto/mosquitto.conf
και προσθέστε τις ακόλουθες γραμμές στο επάνω μέρος:
θύρα 1883allow_anonymous true
Επανεκκινήστε το RPi για να εφαρμόσετε αλλαγές:
$ sudo επανεκκίνηση
Αυτό είναι! Ο μεσίτης MQTT είναι σε λειτουργία τώρα!
ΣΗΜΕΙΩΣΗ: Για λόγους απλότητας αυτού του έργου δεν δημιουργούμε λογαριασμούς. Έτσι, οποιοσδήποτε εντός του τοπικού μας δικτύου μπορεί να συνδεθεί σε αυτόν τον μεσίτη MQTT χωρίς διαπιστευτήρια. Εάν θέλετε να προσθέσετε έλεγχο ταυτότητας χρήστη και να τον κάνετε πιο ασφαλή, υπάρχουν πολλά μαθήματα στο Διαδίκτυο πώς να το κάνετε.
Τώρα, πρέπει απλώς να λάβουμε διεύθυνση IP, ώστε να μπορούμε να στείλουμε μηνύματα στον μεσίτη Mosquitto από άλλες συσκευές στο δίκτυο:
Λήψη διεύθυνσης IP:
$ hostname -I
your_RPi_IP_address (π.χ. 192.168.1.10)
Βήμα 3: Συνδέστε το IOT Cricket στο RaspberryPi Over MQTT
Σε αυτό το έργο χρησιμοποιούμε τη μονάδα IOT Cricket WiFi για έναν απλό αισθητήρα για να αναφέρουμε μια θερμοκρασία κάθε 30 δευτερόλεπτα στο σύστημά μας. Θα λειτουργεί με μπαταρία, ώστε να μπορούμε να το κολλήσουμε οπουδήποτε στο σπίτι ή στον κήπο. Αργότερα, μπορείτε να χρησιμοποιήσετε το IOT Cricket για να δημιουργήσετε διάφορους αισθητήρες, συναγερμούς, κουμπιά, διακόπτες που τροφοδοτούνται από μπαταρία και να τους συνδέσετε επίσης με τον μεσίτη RPi MQTT.
Στο πρώτο βήμα συνδέστε τις μπαταρίες στο Cricket.
Το κρίκετ διαθέτει ενσωματωμένο αισθητήρα θερμοκρασίας. Απλώς πρέπει να το διαμορφώσουμε ώστε να στέλνει τιμή θερμοκρασίας στον μεσίτη MQTT, ορίζοντας τη διεύθυνση IP RPi. Για να το κάνετε αυτό, ανοίξτε τον πίνακα διαμόρφωσης του Cricket (δείτε τα βήματα εδώ) και εφαρμόστε τις ακόλουθες ρυθμίσεις (όπως φαίνεται στην παρακάτω εικόνα, παρακαλώ προσαρμόστε τη διεύθυνση IP στο πλαίσιο "url" στο RPi σας)
Τώρα μπορούμε να βγούμε από τη λειτουργία διαμόρφωσης. Η συσκευή είναι έτοιμη! Το Cricket στέλνει ήδη δεδομένα στον μεσίτη MQTT μας κάθε 30 δευτερόλεπτα.
Βήμα 4: Ελέγξτε τα μηνύματα MQTT
Για την προβολή / λήψη μηνυμάτων που αποστέλλονται στον μεσίτη MQTT, μπορούμε να χρησιμοποιήσουμε διάφορα εργαλεία.
Το πιο εύκολο μπορεί να είναι ένα εργαλείο γραμμής εντολών mosquitto_sub. Μπορούμε να το εγκαταστήσουμε είτε σε οποιονδήποτε υπολογιστή στο δίκτυό μας είτε στο RPi μας με αυτήν την εντολή:
$ sudo apt-get install mosquitto-clients -y
Τώρα μπορούμε να εκτελέσουμε την ακόλουθη εντολή για να ακούσουμε ΟΛΑ τα θέματα και τα μηνύματα που αποστέλλονται μέσω του μεσίτη MQTT:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / DEVICE_NAME MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Τα παραπάνω είναι ένα παράδειγμα εξόδου αυτού που στέλνει το IOT Cricket στον μεσίτη μας. Μεταξύ των άλλων δεδομένων που μπορούμε να δούμε υπάρχει μια θερμοκρασία:
/59A98F494C/θερμοκρασία 26.0
Η ομορφιά του MQTT είναι ότι μας επιτρέπει να εγγραφούμε μόνο σε θέματα που μας ενδιαφέρουν. Εάν θέλουμε να λαμβάνουμε μόνο μια θερμοκρασία, μπορούμε να εγγραφούμε στο /59A98F494C /temp θέμα χρησιμοποιώντας την ακόλουθη εντολή:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
Βήμα 5: Περίληψη
Έχουμε δείξει σε αυτό το έργο ένα απαραίτητο υλικό και λογισμικό για την έναρξη της κατασκευής συστημάτων αυτοματισμού οικιακής αυτοματισμού χαμηλής κατανάλωσης ενέργειας, με βάση το WiFi. Το MQTT είναι η ουσία που πρέπει να βασιστεί για πιο εξελιγμένα συστήματα.
Το οικοσύστημα λογισμικού και υπηρεσιών που μπορούν να ενσωματωθούν με το MQTT είναι ΤΕΡΑΣΤΙΟ! Υπάρχουν πολλά υπέροχα συστήματα όπως το Home Assistant, το Node RED, το Grafana κ.λπ. για να σας επιτρέψουν να καταλήξετε σε μια εξαιρετική εμπειρία χρήστη του δικού σας συστήματος. Όχι μόνο μπορούμε να κάνουμε μια απλή εκτύπωση θερμοκρασίας, αλλά μπορούμε να έχουμε υπέροχους πίνακες ελέγχου που απεικονίζουν τα δεδομένα και διαχειρίζονται τις συσκευές σας.
Τώρα που έχουμε αυτή τη βασική υποδομή συστήματος, ο ουρανός είναι το όριο μας για το τι άλλες συσκευές WiFi μπορούμε να κατασκευάσουμε χρησιμοποιώντας ενότητες IOT Cricket και να προσθέσουμε στο οικιακό μας σύστημα αυτοματισμού.
Ευχαριστώ που φτάσατε εδώ. Ελπίζουμε να σας άρεσε αυτό το σεμινάριο!
Ομάδα Things On Edge
Βήμα 6: Σχετικά με εμάς
Το Things On Edge είναι μια εταιρεία με έδρα το Κέιμπριτζ του Ηνωμένου Βασιλείου. Σχεδιάζουμε μονάδα Cricket Wi-Fi με εξαιρετικά χαμηλή μπαταρία για να μπορείτε να συνδέετε διάφορες ηλεκτρονικές συσκευές με smartphone ή άλλες υπηρεσίες διαδικτύου κυριολεκτικά μέσα σε λίγα λεπτά. Δεν απαιτεί προγραμματισμό και κωδικοποίηση. Σας επιτρέπει να ενσωματώσετε τις συσκευές σας σε μια τεράστια υπηρεσία οικοσυστημάτων IOT μέσω MQTT και HTTP apis.
Συνιστάται:
Ένας εξαιρετικά χαμηλής ισχύος, ενισχυτής σωλήνων υψηλής απόδοσης: 13 βήματα (με εικόνες)
Ένας εξαιρετικά χαμηλής ισχύος, ενισχυτής σωλήνων υψηλής απόδοσης: Για rockers υπνοδωματίων όπως εγώ, δεν υπάρχει τίποτα χειρότερο από παράπονα θορύβου. Από την άλλη πλευρά, είναι κρίμα να έχουμε έναν ενισχυτή 50W συνδεδεμένο σε φορτίο που διαχέει σχεδόν τα πάντα στη θερμότητα. Ως εκ τούτου, προσπάθησα να δημιουργήσω έναν προενισχυτή υψηλού κέρδους, βασισμένος σε μια φήμη
Σχεδιασμός ενός συστήματος αυτοματισμού οικιακού αυτοματισμού: 12 βήματα
Σχεδιασμός ενός συστήματος αυτοματισμού οικιακού αυτοματισμού: Ο σκοπός αυτού του οδηγού δεν είναι να σας πει πώς μπορείτε να κάνετε ό, τι θέλετε να κάνει το σπίτι σας. Αντίθετα, έχει γραφτεί για να γίνει μια ιδέα πραγματικότητα, αλλά και να μετατραπεί η τρέλα σε λογική κατανοώντας τα όρια (τεχνολογία, κόστος, απαιτούμενος χρόνος
Συναγερμός πλημμύρας Υπόγειο εξαιρετικά χαμηλής ισχύος με ESP8266: 3 βήματα
Συναγερμός πλημμυρών Υπόγειο εξαιρετικά χαμηλής ισχύος Με ESP8266: Γεια σας, καλώς ήλθατε στο πρώτο μου διδακτικό. Το υπόγειο του σπιτιού μου πλημμυρίζει κάθε λίγα χρόνια για διάφορους λόγους, όπως έντονες καλοκαιρινές καταιγίδες, υψηλά υπόγεια νερά ή ακόμη και σκάσιμο σωλήνα. Αν και δεν είναι ωραίο μέρος, αλλά η κεντρική θέρμανση μου
Πώς να φτιάξετε σύστημα αυτοματισμού οικιακού Firebase χρησιμοποιώντας το NodeMCU - στην πλατφόρμα IOT: 14 βήματα
Πώς να φτιάξετε σύστημα αυτοματισμού οικιακού Firebase χρησιμοποιώντας το NodeMCU | στην πλατφόρμα IOT: ΣΤΟΧΟΣ ΑΥΤΟΥ ΤΟΥ ΕΡΓΟΥΣ Αυτό το έργο στοχεύει στην ανάπτυξη ενός συστήματος αυτοματισμού σπιτιού που δίνει στον χρήστη πλήρη έλεγχο σε όλες τις απομακρυσμένα ελεγχόμενες συσκευές του σπιτιού του χρησιμοποιώντας την εφαρμογή IOT Android. Υπάρχουν πολλοί διαδικτυακοί διακομιστές και πλατφόρμες
Φτηνό, εύκολο, σύστημα ελεγχόμενου από το Διαδίκτυο οικιακού αυτοματισμού: 5 βήματα (με εικόνες)
Φτηνό, εύκολο, Διαδικτυακό σύστημα αυτοματοποίησης σπιτιού: Εάν έχετε κατοικίδια ζώα/παιδιά και πρέπει να τα ταΐσετε ή να τα χτυπήσετε μέσω διαδικτύου, αυτό το σύστημα μπορεί να σας χρησιμεύσει. Είναι ένας πολύ εύκολος και φθηνός τρόπος ελέγχου μοτέρ, LED, κ.λπ. στο σπίτι από οποιονδήποτε υπολογιστή συνδεδεμένο στο διαδίκτυο. Το μόνο που χρειάζεται είναι ένα Webc