MQTT

Message Queuing Telemetry Transport

MQTT je vodeći TCP/IP komunikacijski protokol „machine-to-machine“/IoT za industriju 4.0 koji omogućuje razmjenu podataka unutar mreže uređaja. To je lagani, otvoreni izvor, objavi/prijavi komunikacijski model s brzim vremenom odaziva.

Pokretanje i rad s MQTT -om brzo je i jednostavno. Dobar je izbor za uređaje male veličine s niskom potrošnjom energije. Njegov minimalan opseg osigurava nesmetan prijenos podataka uz nisku propusnost.

Imate li pitanja za nas?

Objavi/prijavi komunikacijska metoda 

Zahvaljujući laganoj metodi objavi/prijavi MQTT je zanimljiv za upotrebu u mobilnim aplikacijama, gdje je energetski učinkovit i pouzdan prijenos podataka ključan. Objavi/prijavi je alternativa tradicionalnom modelu HTTP „client-server“, gdje klijent (eng. client) izravno komunicira s krajnjom točkom.

Razlika je u tome što u modelu Objavi/prijavi klijent ne izvlači podatke s poslužitelja (eng. server), već prima poruke relevantne za temu na koju je pretplaćen od poslužitelja. Za komunikaciju je potrebna pouzdana TCP veza. Ako se to prekine, poslužitelj može pohraniti podatke u međuspremnik podataka i poslati ih klijentima kada se veza ponovno uspostavi.

Želite kupiti našu opremu?

Prijenos podataka na temelju događaja 

Središnja komunikacijska točka je takozvani MQTT „broker“, koji komunicira s klijentima („publishers“ i „subscribers“) putem internetske veze ili lokalne mreže. Izdavač (eng. Publisher) stvara poruke i objavljuje ih na određenu temu.

Prijenos podataka je vođen događajima, što znači da se podaci prenose kad dođe do promjene (ili u vremenskim intervalima). Pretplatnik (eng. subscriber) prima poruke relevantne za temu na koju je pretplaćen.

Kao standardna praksa, teme bi trebale slijediti hijerarhiju koja omogućuje logičko grupiranje/raspored za mrežu senzora.

MQTT

Upoznajte prednosti MQTT-a 

MQTT arhitektura

MQTT pruža visoku razinu sigurnosti. Iako koristi TCP protokol, podaci se mogu šifrirati pomoću kriptografskih protokola TLS/SSL. Dostupna je djelomična ili potpuna enkripcija – odabire se ovisno o karakteristikama aplikacije i mogućnostima sustava. 

Kontrolni paketi su vrlo mali, svaki se sastoji od fiksnog zaglavlja (2–5 bajtova), promjenjivog zaglavlja i korisnog tereta. Preuzimanje samo bitnih komponenti smanjuje količinu podataka, a istovremeno svaki paket ne mora nužno sadržavati promjenjivo zaglavlje i korisni teret. Stoga je MQTT protokol prikladan u slučajevima niske brzine prijenosa, velikog vremena odziva, ograničenja prijenosa i nestabilne veze. 

Poruke se šalju asinkrono (“push”) pomoću pub/sub arhitekture. Svaki poslani paket ima svoju namjenu, svaki je bit pažljivo kreiran tako da je potrošnja podataka svedena na minimum. 

Svaka MQTT mreža sastoji se od najmanje: 

  • 1 x MQTT „broker“(posrednik)
  • 1 x MQTT izdavač,
  • 1 x MQTT pretplatnik.

Kad se klijent poveže s posrednikom (eng. broker), on definira adresu i poruku koje se moraju objaviti ako se veza neočekivano prekine (koncept Last will and testament-LWM”). Ako klijent izgubi vezu, mjerač vremena održavanja utvrđuje da klijent nije poslao poruku ili PINREQ. Posrednik tada odmah objavljuje LWM poruku. 

MQTT je otvoreni standardizirani protokol OASIS Tehničkog odbora koji omogućuje integraciju u IoT, platforme i operacijske sustave. Za većinu MQTT aplikacija dovoljna je implementacija osnovnih naredbi (CONNECT, PUBLISH, SUBSCRIBE, DISCONNECT). Mnoge su biblioteke dostupne i kroz projekt Eclipse Paho. 

Za svaku poslanu poruku mora se odrediti razina QoS -a jer određuje način na koji poslužitelj i klijent komuniciraju. Postoji jednostavno pravilo, što je veći QoS, niža je učinkovitost. Razlikuju se tri razine: 

  • QoS 0 – Izdavač šalje poruku bez traženja zajamčene dostave. Može doći do gubitka podataka. 
  • QoS 1 – Izdavač šalje poruku dok ne dobije potvrdu isporuke. Mogu se pojaviti duplikati. 
  • QoS 2 – Izdavač šalje poruku samo jednom s zajamčenom isporukom. 

Pročitajte najnovije vijesti o mrežama.

Pretplatite se na naš newsletter!