Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Konfiguracja wstępna (w zależności od systemu operacyjnego)
- Krok 2: Konfiguracja Mosquitto:
- Krok 3: Podsumuj
Wideo: Komunikacja bezprzewodowa SmartHome: ekstremalne podstawy MQTT: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Podstawy MQTT:
**Będę robił serię Home Automation, będę przechodził przez kroki, które podjąłem, aby nauczyć się wszystkiego, co robiłem w przyszłości. Ten Instructable jest podstawą konfiguracji MQTT do użytku w moich przyszłych Instructables. Jednak nauki zawarte w tej treści będą miały zastosowanie do każdego projektu, który chciałbyś podjąć.**
Internet przedmiotów:
Internet rzeczy przejmuje świat, a zwłaszcza w społecznościach takich jak nasza w Instructables. Odkąd dołączyłem do tej społeczności, jest ona zakorzeniona w budowaniu ludzi
Urządzenia podłączone i kontrolowane przez internet. Przy pracy z Internetem Rzeczy trudno nie spotkać się z protokołem MQTT. Jest to protokół komunikacyjny, podobnie jak inne używane obecnie w Internecie, takie jak HTTP lub FTP, jednak sposób jego działania jest inny, co czyni go idealnym do zastosowań Internetu rzeczy.
Co to jest MQTT:
MQTT (Message Queuing Telemetry Transport to lekki protokół komunikacyjny wykorzystujący architekturę publikowania/subskrybowania. HTTP, z którego korzysta większość Internetu, jest zbudowany na systemie żądania/odpowiedzi. Oznacza to, że otrzymuje żądanie od klienta i wysyła odpowiedzi na tego klienta. MQTT posiada również serwer (tzw. broker) oraz wielu klientów. W przeciwieństwie do HTTP, MQTT pozwala klientom na publikowanie lub subskrypcję określonych „tematów”. Pozwala to na szerszą komunikację poprzez punkt scentralizowany, broker. Każdy węzeł może publikować w temacie w brokerze, a każdy węzeł zasubskrybowany do tego tematu otrzyma wiadomość. Klienci mogą również subskrybować wiele tematów, a następnie mogą otrzymywać wiele dyrektyw lub aktualizacji.
Cały system jest sterowany zdarzeniami i umożliwia przekazywanie komunikatów od brokera do każdego subskrybowanego klienta. Tak więc zamiast HTTP, gdzie klient żąda informacji, klient jest przesyłany bezpośrednio od brokera po otrzymaniu. Wbudowane są również usługi pozwalające na różne zabezpieczenia, takie jak specyfikacje QOS. Specyfikacja QOS pozwala brokerowi określić, czy wiadomość musi zostać dostarczona co najwyżej raz, co najmniej raz lub dokładnie raz. Gwarantuje to, że dane są dostarczane w wymagany sposób do każdego klienta. Klienci mogą również zażądać, aby opublikowane wiadomości dotyczące ich tematu były buforowane w brokerze w przypadku, gdy z jakiegokolwiek powodu zostaną od niego odłączeni. Gdy wróci do trybu online, dane zostaną przesłane do klienta.
Temat nie jest niczym specjalnym, to po prostu różne ciągi, które są połączone i oddzielone ukośnikami. Format w przykładzie, który zostanie użyty poniżej, jest następujący: dom/sypialnia/oświetlenie_sufitu. Każdy ukośnik jest umieszczany po temacie, aby wskazać podtemat. Tak więc wiadomość mogłaby zostać opublikowana w domu, gdzie wszystkie urządzenia w domu ją otrzymają. Można go opublikować bezpośrednio w domu/sypialni, gdzie wszystkie urządzenia w sypialni otrzymają wiadomość. I może zejść do konkretnego urządzenia, jak pokazano po raz pierwszy w domu/sypialni/oświetleniu sufitu, gdzie tylko światło sufitowe w sypialni otrzyma wiadomość. Sposób, w jaki możemy wyodrębnić pojedyncze urządzenia, aż do całego ekosystemu, jest niezwykle przydatny, zwłaszcza jeśli chodzi o automatykę domową. Istnieją dalsze sposoby dzielenia tematów i omówię je dalej w przyszłych Instructables, w których aplikacja ma największy sens.
Kieszonkowe dzieci
Potrzebne jest tylko jedno z poniższych:
Ubuntu:
Podsystem Windows dla systemu Linux: https://ubuntu.com/wsl (Tylko jeśli nie masz systemu Linux/MacOS)
MacOS: wymaga MacBooka
Jest to wymagane:
Mosquitto MQTT Broker - Pobrane za pomocą apt-get (dokumentacja:
Krok 1: Konfiguracja wstępna (w zależności od systemu operacyjnego)
MacOS/Linux:
Konfiguracja nie jest konieczna, wystarczy otworzyć terminal i przejść do konfiguracji Mosquitto!
Okna:
Jeśli korzystasz z systemu Windows, musisz zainstalować podsystem Windows dla systemu Linux. Jest to bardzo łatwe w użyciu i niezwykle cenne narzędzie, które pozwala uruchomić terminal Ubuntu w systemie Windows. Nie ma potrzeby instalowania i podwójnego uruchamiania Ubuntu tylko po to, aby przetestować programowanie w terminalu!
Kroki instalacji:
1. Przejdź do Sklepu Windows i wyszukaj ubuntu
2. Pobierz i zainstaluj podsystem Windows dla systemu Linux
3. Otwórz aplikację i postępuj zgodnie z instrukcjami, aby zakończyć konfigurację i możesz kontynuować!
Krok 2: Konfiguracja Mosquitto:
Tak jak omówiono we wstępie o MQTT, protokół wymaga brokera (serwera). Ten broker jest punktem bazowym wszystkich nawiązanych połączeń z każdym klientem. Wszystkie komunikaty są przekazywane i umieszczane w kolejce w tym brokerze. Istnieje wiele opcji do wyboru dla brokera i można je znaleźć w Internecie, ale ta, z której będziemy korzystać, jest prawdopodobnie najbardziej popularna: Mosquitto.
Mosquitto to oparty na Linuksie broker MQTT z mnóstwem funkcjonalności. Nie będę teraz zagłębiał się w szczegóły tej funkcjonalności, ale kilka podstawowych wymagań, które spełnia, to uwierzytelnianie użytkownika/hasła i obsługa szyfrowania TLS, z których wszystkie są przydatne w rozwoju urządzeń Internetu Rzeczy.
Kroki:
Wszystkie te kroki należy wykonać w oknie terminala.
1. Zainstaluj klientów Mosquitto i MQTT
sudo apt-get install mosquitto mosquitto-klienci
2. Subskrybuj temat
mosquitto_sub -t "test"
To, co robi, to subskrybowanie tematu. Ten temat jest oznaczony przez „-t”, a wartość tematu to „test”. Ta wartość po „-t” może być dowolną wartością, z wyjątkiem kilku specjalnych rezerwacji.
3. Otwórz nowe okno terminala i opublikuj wiadomość w temacie "test"
mosquitto_pub -t "test" -m "Witaj świecie z MQTT!"
Spowoduje to opublikowanie komunikatu w temacie „test”, umożliwiając naszej drugiej instancji terminala odebranie komunikatu po stronie subskrypcji. Opublikowana wiadomość jest oznaczona „-m”, a wartość wiadomości to „Hello World With MQTT”. Ta wiadomość, podobnie jak temat, może zostać zmieniona na co tylko zechcesz!
4. Przejdź do pierwszego okna terminala, aby zobaczyć swoje wyniki! Powinieneś otrzymać komunikat „Hello World With MQTT”. Jeśli tego nie widzisz, upewnij się, że wpisałeś właściwy temat. Jeśli udało Ci się to zrobić, baw się dalej. Wypróbuj różne tematy, z podtematami i różnymi wiadomościami!
Krok 3: Podsumuj
Otóż to! Kiedy już to wszystko skończysz, zrozumiesz podstawy działania MQTT. Jest to bardzo podstawowy samouczek, który pokazuje jedynie minimum protokołu MQTT. Future Instructables omówi bardziej szczegółowo, jak protokół działa w praktyce z Internetem Rzeczy, w szczególności z modułami ESP8266 z Arduino. Moim pierwszym praktycznym zastosowaniem będzie inteligentny ekspres do kawy, który aktualnie mam w swoim pokoju. Jeśli chcesz dowiedzieć się, jak zrobić ekspres do kawy, którym można sterować zarówno za pomocą telefonu, jak i Alexy, śledź mnie, aby uzyskać więcej samouczków.
Zalecana:
Komunikacja bezprzewodowa LoRa 3Km do 8Km z tanim urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: 15 kroków
LoRa 3Km do 8Km Bezprzewodowa komunikacja z niskokosztowym urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: Tworzę bibliotekę do zarządzania EBYTE E32 opartą na urządzeniu LoRa serii Semtech, bardzo wydajne, proste i tanie urządzenie. Wersja 3Km tutaj, wersja 8Km tutaj Mogą pracować na dystansie od 3000m do 8000m i mają wiele funkcji i
Szyfrowana komunikacja bezprzewodowa Arduino: 5 kroków
Szyfrowana komunikacja bezprzewodowa Arduino: Witam wszystkich, W tym drugim artykule wyjaśnię, jak korzystać z układu Atecc608a, aby zabezpieczyć komunikację bezprzewodową. W tym celu użyję NRF24L01+ dla części bezprzewodowej i Arduino UNO. Mikroukład ATECC608A został zaprojektowany przez
Daleki zasięg, 1,8 km, bezprzewodowa komunikacja Arduino z Arduino z HC-12.: 6 kroków (ze zdjęciami)
Daleki zasięg, 1,8 km, komunikacja bezprzewodowa Arduino z Arduino z HC-12.: W tej instrukcji dowiesz się, jak komunikować się między Arduino na duże odległości do 1,8 km na świeżym powietrzu. HC-12 to bezprzewodowy port szeregowy moduł komunikacyjny, który jest bardzo przydatny, niezwykle wydajny i łatwy w użyciu. Najpierw opuścisz
Komunikacja bezprzewodowa przy użyciu tanich modułów RF 433 MHz i mikrokontrolerów Pic. Część 2: 4 kroki (ze zdjęciami)
Komunikacja bezprzewodowa przy użyciu tanich modułów RF 433 MHz i mikrokontrolerów Pic. Część 2: W pierwszej części tej instrukcji zademonstrowałem, jak zaprogramować PIC12F1822 za pomocą kompilatora MPLAB IDE i XC8, aby wysłać prosty ciąg bezprzewodowo za pomocą tanich modułów TX/RX 433 MHz. Moduł odbiornika został podłączony przez USB do UART TTL reklama kabla
Bezprzewodowa komunikacja szeregowa za pomocą Bluefruit: 4 kroki
Bezprzewodowa komunikacja szeregowa przy użyciu Bluefruit: Oto prosty przewodnik krok po kroku, jak wymienić przewody na połączenie Bluetooth o niskim zużyciu energii: zajęło mi trochę czasu, aby to zrozumieć, ponieważ nie ma prawie żadnej dokumentacji na ten temat za pomocą nowoczesnej technologii Bluetooth o niskim zużyciu energii. jak Bluefrui