Előfeltételek
Első lépés: Telepítse a Mosquitto Broker alkalmazást
Második lépés: Telepítse az ügyfeleket és tesztelje
Harmadik lépés: Biztonságos jelszóval
Következtetés
Az MQTT egy közzétételi/előfizetési modell alapú, „könnyű” üzenetküldési protokoll TCP/IP-n keresztül a „dolgok internete” eszközök, például az ESP8266, Raspberry Pi stb. közötti kommunikációhoz. Nagyon népszerű az alacsony erőforrásokkal és akkumulátorral működő alkalmazásokban, mint például az otthoni alkalmazások. automatizálás, biztonsági riasztórendszerek és akkumulátoros szenzorhálózatok.
A Mosquitto egy nyílt forráskódú üzenetközvetítő (vagy szerver), amely MQTT protokollokat valósít meg. Jó közösségi támogatásával, dokumentációjával és egyszerű telepítésével az egyik legnépszerűbb MQTT brókerré vált.
Előfeltételek
- Egy Ubuntu 16.04 szerver
roothozzáféréssel
- Nyissa meg a portot
TCP:1883a tűzfalon
Első lépés: Telepítse a Mosquitto Broker alkalmazást
Frissítse az Ubuntu csomaglistáját, és telepítse az onnan elérhető legújabb Mosquitto Brokert
sudo apt-get update
sudo apt-get install mosquitto
A Mosquitto szolgáltatás a telepítés után elindul.
Második lépés: Telepítse az ügyfeleket és tesztelje
Telepítse az MQTT klienseket
sudo apt-get install mosquitto-clients
A Mosquitto kliensek segítségével egyszerűen tesztelhetjük az MQTT-t egy parancssori segédprogramon keresztül. Két parancsablakot fogunk használni, az egyiket a megnevezett témára való feliratkozáshoz, a "test"másikat pedig az üzenet közzétételéhez.
A témakörök olyan címkék, amelyeket a közvetítő használ az üzenetek szűrésére minden egyes csatlakoztatott ügyfél számára. Egy témára előfizetett ügyfélprogram "Home1/BedroomTemp"csak a többi kliens által ugyanabban a témában közzétett üzeneteket hallgatja meg.
Feliratkozás a témára "test"
mosquitto_sub -t "test"
Mosquito_subegy előfizetéses kliens, amelyet az előző parancsban telepítettünk. Itt megadjuk a " -t" karakterláncot, amelyet egy témanév követ.
Üzenet közzététele a témában "test"
Második példányként jelentkezzen be a terminálba, és tegyen közzé egy üzenetet a "test"témában.
mosquitto_pub -m "message from mosquitto_pub client" -t "test"
Itt a " –m" kiegészítő paramétert a közzétenni kívánt üzenet követi. Nyomja meg a " Enter" gombot, és egy üzenetet kell látnia egy mosquitto_pub clientmásik terminálon, ahol mosquito_sub clientfut.
Harmadik lépés: Biztonságos jelszóval
A Mosquitto egy jelszófájlt generáló segédprogramot tartalmaz, melynek neve mosquitto_passwd.
sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password
Hozzon létre egy konfigurációs fájlt a Mosquitto számára, amely az imént létrehozott jelszófájlra mutat.
sudo nano /etc/mosquitto/conf.d/default.conf
Ezzel megnyílik egy üres fájl. Illessze be a következőket.
allow_anonymous false
password_file /etc/mosquitto/passwd
Mentse el, és lépjen ki a szövegszerkesztőből a következőkkel: " Ctrl+O", " Enter" és " Ctrl+X".
Most indítsa újra a Mosquitto szervert, és tesztelje a változtatásokat.
sudo systemctl restart mosquitto
Az előfizetési kliens ablakban nyomja meg a " Ctrl+C" gombot, hogy kilépjen az előfizetési kliensből, és indítsa újra a következő paranccsal.
mosquitto_sub -t "test" -u "dave" -P "password"
Jegyezze meg itt a nagy -P-t .
A közzétételi ügyfélablakban próbáljon meg jelszó nélkül közzétenni egy üzenetet.
mosquitto_pub -t "test" -m "message from mosquitto_pub client"
Az üzenet a következő hibaüzenettel elutasításra kerül.
Connection Refused: not authorised.
Error: The connection was refused.
Most tegyen közzé egy üzenetet a usernameés a segítségével password.
mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"
Nyomja meg a " Enter" gombot, és látni fogja az üzenetet az előfizetési ügyfélablakban, mint a második lépésben.
Következtetés
Most beállítottunk egy jelszóval védett MQTT szervert. Az Ubuntu-kiszolgáló nyilvános IP-címét MQTT-brókerként használhatja projektjeihez.