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.

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.

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

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.

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.

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 ! 🙂