Preduvjeti
Prvi korak: Instalirajte Mosquitto Broker
Drugi korak: Instalirajte klijente i testirajte
Treći korak: Osigurajte lozinkom
Zaključak
MQTT je "lagani" protokol za razmjenu poruka preko TCP/IP-a zasnovan na modelu objavljivanja/pretplate za komunikaciju između uređaja "Interneta stvari" kao što su ESP8266, Raspberry Pi, itd. Vrlo je popularan kod aplikacija s malim resursima i baterijama kao što je kuća automatizacija, sigurnosni alarmni sustavi i senzorske mreže na baterije.
Mosquitto je posrednik za poruke otvorenog koda (ili poslužitelj) koji implementira MQTT protokole. Sa svojom dobrom podrškom zajednice, dokumentacijom i jednostavnošću instalacije postao je jedan od najpopularnijih MQTT brokera.
Preduvjeti
- Ubuntu 16.04 poslužitelj s
rootpristupom
- Otvorite port
TCP:1883na vatrozidu
Prvi korak: Instalirajte Mosquitto Broker
Ažurirajte Ubuntuov popis paketa i instalirajte najnoviji Mosquitto Broker dostupan s njega
sudo apt-get update
sudo apt-get install mosquitto
Usluga Mosquitto će početi nakon instalacije.
Drugi korak: Instalirajte klijente i testirajte
Instalirajte MQTT klijente
sudo apt-get install mosquitto-clients
Mosquitto klijenti nam pomažu da jednostavno testiramo MQTT putem uslužnog programa naredbenog retka. Koristit ćemo dva prozora za naredbe, jedan za pretplatu na temu s nazivom "test"i jedan za objavljivanje poruke.
Teme su oznake koje broker koristi za filtriranje poruka za svakog povezanog klijenta. Klijentski program koji je pretplaćen na temu "Home1/BedroomTemp"će samo slušati poruke koje su na istu temu objavili drugi klijenti.
Pretplatite se na temu "test"
mosquitto_sub -t "test"
Mosquito_subje pretplatnički klijent koji smo instalirali u prethodnoj naredbi. Ovdje navodimo " -t" nakon čega slijedi naziv teme.
Objavite poruku na temu "test"
Prijavite se na terminal kao druga instanca i objavite poruku na "test"temu.
mosquitto_pub -m "message from mosquitto_pub client" -t "test"
Ovdje nakon dodatnog parametra " –m" slijedi poruka koju želimo objaviti. Pritisnite " Enter" i trebali biste vidjeti poruku s mosquitto_pub clientprikazanu na drugom terminalu na kojem mosquito_sub clientje pokrenut.
Treći korak: Osigurajte lozinkom
Mosquitto dolazi s uslužnim programom za generiranje datoteke lozinki pod nazivom mosquitto_passwd.
sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password
Napravite konfiguracijsku datoteku za Mosquitto koja pokazuje na datoteku lozinke koju smo upravo stvorili.
sudo nano /etc/mosquitto/conf.d/default.conf
Ovo će otvoriti praznu datoteku. U njega zalijepite sljedeće.
allow_anonymous false
password_file /etc/mosquitto/passwd
Spremite i izađite iz uređivača teksta pomoću " Ctrl+O", " Enter" i " Ctrl+X".
Sada ponovno pokrenite Mosquitto poslužitelj i testirajte naše promjene.
sudo systemctl restart mosquitto
U prozoru pretplatničkog klijenta pritisnite " Ctrl+C" za izlaz iz pretplatničkog klijenta i ponovno ga pokrenite sljedećom naredbom.
mosquitto_sub -t "test" -u "dave" -P "password"
Ovdje zabilježite veliko -P .
U prozoru klijenta za objavljivanje pokušajte objaviti poruku bez lozinke.
mosquitto_pub -t "test" -m "message from mosquitto_pub client"
Poruka će biti odbijena sa sljedećom porukom o pogrešci.
Connection Refused: not authorised.
Error: The connection was refused.
Sada objavite poruku s usernamei password.
mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"
Pritisnite " Enter" i vidjet ćete poruku u prozoru pretplatničkog klijenta, kao u drugom koraku.
Zaključak
Sada smo postavili MQTT poslužitelj zaštićen lozinkom. Možete koristiti javni IP vašeg Ubuntu poslužitelja kao MQTT brokera za svoje projekte.