Ten przewodnik wyjaśnia, jak zainstalować Broker Mosquitto do komunikacji MQTT na płytce Raspberry Pi. Jest to instalacja brokera bezpośrednio na Raspbian’ie do HomeAssistanta zainstalowanego jako kontener dockerowy. Nie jako wtyczka do supervisora czy hassio. Miałem od początku potrzebę mieć pełny dostęp do Linuxa na jakim pracuje malina. Ma ona docelowo służyć do kilku innych tematów, nie tylko HA.

Mosquitto - MQTT

Co to jest MQTT?

MQ Telemetry Transport (MQTT) to ekstremalnie prosty, lekki protokół transmisji danych. MQTT jest oparty o wzorzec publikacja/subskrypcja,. Przeznaczony jest do transmisji danych dla urządzeń niewymagających dużej przepustowości np. odczyt z czujnika. Poprzez ograniczenie prędkości transmisji protokół zapewnia większą niezawodność. MQTTten idealnie sprawdza się przy połączeniach w IoT czy w urządzeniach mobilnych.

Broker MQTT

Broker jest przede wszystkim odpowiedzialny za pośredniczenie w przesyłaniu wiadomości między urządzeniami. Odbiera wiadomości, filtruje je oraz sprawdza, kto jest tym zainteresowany, a następnie publikuje wiadomości dla wszystkich subskrybowanych klientów.

Mosquitto - MQTT - Architektura

Wymagania wstępne

Możemy zaczynać. Tak jak pisałem we wstępie powinieneś mieć zainstalowany system operacyjny Raspbian z dostępem do SSH. Będziemy stawiać brokera „obok” home assistanta nie jako wtyczka czy dodatek. Powinieneś też mieć komputer podłączonym do tej samej sieci co malina. Na komputerze niezbędzny będzie klient do zalogowania się do SSH. Najpopularniejszym softem tego typu jest putty. Rekomenduje zainstalować właśnie ten program.

Łączenie się z Raspberry Pi

Mosquitto - MQTT - Putty

Odpalamy putty na komputerze podłączonym do tej samej sieci lokalnej co nasze Raspberry. Uruchamiamy Putty. Jako host podajemy pi@ADRES_IP_MALINY. Standardowy port SSH 22 i odpowiedni dla trybu połączenia typ połączenia. Otwieramy połączenie.

Naszym oczom powinien się ukazać terminal Raspberry z mrugającym znakiem zachęty. Będziemy musieli się zalogować przy użyciu standardowego hasła czyli raspberry. Kiedy się prawidłowo zalogujemy ujrzymy taki oto ekran.

Mosquitto - MQTT - SSH

Instalowanie Brokera MQTT Mosquitto na Raspbian

Aby zainstalować Brokera Mosquitto, wprowadź następujące polecenia:

pi@raspberry:~ $ sudo apt update
pi@raspberry:~ $ sudo apt install -y mosquitto mosquitto-clients

Będziesz musiał wpisać Y i nacisnąć Enter, aby potwierdzić instalację. Aby Mosquitto automatycznie uruchamiał się przy starcie, wprowadź:

pi@raspberry:~ $ sudo systemctl on mosquitto.service

Testowanie instalacji

Wyślij polecenie:

pi@raspberry:~ $ mosquitto -v

Spowoduje to zwrócenie wersji Mosquitto, która jest obecnie uruchomiona w twoim Raspberry Pi. 

Mosquitto - MQTT

Uwaga: czasami polecenie mosquitto -v wyświetla ostrzeżenie o treści „Error: Address already in use”. Ten komunikat ostrzegawczy oznacza, że ​​Twój Broker Mosquitto już działa, więc nie martw się tym.

Użytkownik MQTT

Przy integracjach oprócz adresu ip na którym znajduję się twój broker i portu (standardowo 1883) będziesz musiał podać nazwę użytkownika i hasło. Skąd je wziąć ? Trzeba go stworzyć. Najprościej:

pi@raspberry:~ $ mosquitto_passwd -b passwordfile username password

paswordfile – plik z zaszyfrowanymi hasłami
username i password – raczej nie trzeba tłumaczyć 🙂

pi@raspberrypi:~ $ sudo service mosquitto restart

Po dodaniu użytkownika resetujemy serwis mosquitto. Gotowe! możemy się cieszyć naszym brokerem MQTT.

Podsumowanie

Jak widać zainstalowanie brokera MQTT jest banalnie proste i nie wymaga żadnej wiedzy tajemnej i niewiadomo jakich umiejętności. Wystarczy delikatne obycie z terminalem i już można działać. Dodam od siebie jedynie, że odkąd zacząłem używać MQTT, automatyzacja mieszkania stała się jeszcze przyjemniejsza. Można dzięki temu protokołowi zmniejszyć ilość wymaganych w Home Assistant integracji. Można pobierać dane z czujników z telefonów czy komputerów. Mnóstwo możliwości ! 🙂

Author : m4rlb0r0

Aktualnie siedzę we frontendzie. Na co dzień koduję HTML5, CSS3 (SASS) i JavaScript na potrzeby PrestaShop. Gdy zajdzie potrzeba nurkuję w backend do PHP i MySQL gdzie zaczynałem swoją przygodę z zaawansowaną developerką. Ciągły rozwój :)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Profesjonalny Hosting