Home/MQTT (Message Queing Telemetry Transport)

MQTT

Message Queuing Telemetry Transport

MQTT je vodilni ultra lahek, odprtokodni publish/subscribe, TCP/IP machine-to-machine/IoT komunikacijski protokol za Industrijo 4.0 , ki je izredno enostaven za uporabo.

Izkoristite ga lahko predvsem pri aplikacijah, kjer sta pomembna nizek odtis kode in majhna poraba pasovne širine.

Želite naš katalog IPC-jev in mrežne opreme?

    Potrebujete pomoč? Dovolite, da vam pomagamo.

    Publish/subscribe komunikacijska metoda

    Zanimiv je tudi za mobilne aplikacije, pri katerih so majhnost, nizka poraba energije in zanesljivost pri distribuciji podatkov ključnega pomena za uporabnike. Publish/subscribe je alternativa tradicionalnemu HTTP modelu klient-server, kjer klient komunicira neposredno s končno točko.

    Razlika je v tem, da pri publish/subscribe modelu klient ne črpa podatkov s serverja, temveč jih  v primeru spremembe server pošilja klientu. Za komunikacijo je potrebna zanesljiva TCP povezava. Če se ta prekine, lahko server podatke skladišči v bufferju in jih ob ponovni vzpostavitvi povezave pošlje klientom.

    Želite kupiti našo Mrežno opremo?

    Obiščite našo B2B trgovino

    Prenos podatkov na podlagi dogodkov

    Centralna komunikacijska točka je t.i. MQTT broker, ki poskrbi za prenašanja sporočil pošiljateljev prejemnikom. Ustrezne prejemnike izbere glede na naslov sporočil. Pošiljatelji (“publishers”) pošiljajo sporočila brokerju.

    Pošiljanje poteka na osnovi dogodkov (je “event-driven”), kar pomeni, da se podatki prenašajo ob spremembah (ali v časovnih intervalih). Prejemniki (“subscribers”) od brokerja prejemajo sporočila le za naslove (teme), na katere so prijavljeni.

    Kot standardna praksa morajo teme slediti hierarhiji, ki omogoča logično združevanje/ureditev mreže senzorjev.

    MQTT

    Spoznajte prednosti MQTT

    MQTT architecture

    MQTT omogoča visok nivo varnosti. Čeprav uporablja TCP protokol, je možno podatke enkriptirati z uporabo TLS/SSL certifikatov. Na voljo vam je delna ali popolna enkripcija, med katerima lahko izbirate odvisno od lastnosti aplikacije in želje po zmogljivosti sistema.

    Kontrolni paketi so zelo majhni in vsak vsebuje tri dele: fiksni “header” (2-5 bajte), variabilni “header” ter “payload”. Prenos le nujnih komponent zmanjša količino prenešenih podatkov, hkrati pa ni nujno, da vsak paket vsebuje še variabilni header in payload. Tako so paketi primerni za nizke hitrosti prenosa, visoke odzivne čase, omejitve prenosov in nestabilne povezave.

    Sporočila so poslana asinhrono (“push”) z uporabo pub/sub arhitekture. Vsak poslan paket ima svoj namen, vsak bit je pazljivo kreiran tako, da je poraba podatkov čim manjša.

    Vsako MQTT omrežje vključuje vsaj:

    • 1 x MQTT broker,
    • 1 x MQTT publisher,
    • 1 x MQTT subscriber.

    Ko se klient poveže na broker, definira naslov in sporočilo, ki mora biti objavljeno, če se povezava nepričakovano prekine (koncept »Last will and testament—LWM«). Če klient izgubi povezavo, “keep alive” časovnik ugotovi, da klient ni poslal sporočila ali PINREQ. Broker nato takoj objavi LWM sporočilo.

    MQTT je odprt, OASIS technical Committee-standardiziran protokol, ki omogoča integracijo v IoT, platforme in operacijske sisteme. Za večino MQTT aplikacij je dovolj že uporaba osnovnih ukazov (CONNECT, PUBLISH, SUBSCRIBE, DISCONNECT). Mnogo knjižnic je na voljo tudi preko Eclipse Paho projekta.

    Quality of Service (QoS) nivo je treba določiti za vsako poslano sporočilo, ker z njim določimo, kako broker in klient komunicirata. Obstaja preprosto pravilo, da se z višanjem QoS, niža učinkovitost prenosa. Ločimo 3 QoS nivoje:

    • QoS 0 – sporočila so poslana po najboljših zmožnostih. Lahko pride do izgube podatkov.
    • QoS 1 – zagotovljeno je, da sporočila prispejo. Lahko pride do podvajanja sporočil.
    • QoS 2 – zagotovljeno je, da sporočila prispejo samo enkrat.

    Preberite najnovejše novice o Mrežni opremi