MQTT
Viestin Queuing Telemetria Liikenne ( MQTT ) on avoin protokolla varten kone-to-kone viestintä (M2M), joka mahdollistaa lähetyksen telemetrian tietojen muodossa viestien laitteiden välillä, huolimatta korkeasta viiveitä tai rajoittaa verkoissa. Vastaavat laitteet vaihtelevat antureista ja toimilaitteista , matkapuhelimista, ajoneuvojen tai kannettavien tietokoneiden sulautetuista järjestelmistä täysin kehittyneisiin tietokoneisiin.
MQTT -protokolla tunnetaan myös vanhemmilla nimillä, kuten ” WebSphere MQTT” (WMQTT), “ SCADA -protokolla” tai “MQ Integrator SCADA Device Protocol” (MQIsdp).
IANA (IANA) varaukset portteja 1883 ja 8883 varten MQTT. MQTT viestit voidaan salata käyttämällä TLS -protokollaa.
On mielenkiintoista, että MQTT -palvelin ("välittäjä") pitää viestintäkumppaneidensa koko datatilanteen ja sitä voidaan siten käyttää tilatietokantana. Tämä mahdollistaa pienien, ei-suorituskykyisten MQTT-laitteiden yhdistämisen MQTT-välittäjään, jolloin laitteet keräävät tietoja ja / tai vastaanottavat komentoja, kun taas monimutkainen kuva tilanteesta luodaan vain MQTT-välittäjällä, ja se voidaan arvioida täällä tai korkean suorituskyvyn viestintäkumppani. Ohjaustoimenpiteet voidaan siten siirtää yhdestä tai useammasta tehokkaasta ilmentymästä MQTT -välittäjälle ja jakaa yksittäisille laitteille. Tämä tekee MQTT: stä erittäin sopivan automaatioratkaisuihin ja sitä käytetään laajalti IoT -alueella sen yksinkertaisen käytön vuoksi.
tarina
Protokollan kehittivät vuonna 1999 Andy Stanford-Clark IBM: ltä ja Arlen Nipper Cirrus Link Solutionsilta. Protokolla kehitettiin alun perin mahdollistamaan tiedonsiirto yksinkertaisista laitteista SCADA -järjestelmiin satelliittiviestinnän kautta.
Vuodesta 2013 lähtien MQTT on standardoitu esineiden Internet -protokollaksi Organisation for the Advancement of Structured Information Standards (OASIS) -järjestössä .
erittely
MQTT -spesifikaatiossa erotetaan TCP / IP -pohjaiset ja muut kuin TCP / IP -verkot.
- Tärkein erittely
- Protokolla mahdollistaa tarkkailijan käyttäytymismallin hyvin yksinkertaisella tavalla . Se sopii erityisesti yhteyksille, jotka sallivat vain pienen määrän hallinnollisia tietoja. OASIS -standardointiprosessi perustuu MQTT -spesifikaation versioon 3.1. Versio 5 julkaistiin tammikuussa 2018, ja sen on tarkoitus helpottaa kehittäjien käyttöä.
- MQTT-SN (aiemmin MQTT-S), versio 1.2 (MQTT anturilaitteille)
- Suunniteltu sulautetuille laitteille muissa kuin TCP / IP-verkoissa, kuten ZigBee . MQTT-SN on viestiprotokolla , joka perustuu anturiverkkojen tarkkailukuvioon . Se laajentaa MQTT: n TCP / IP -infrastruktuurin ulkopuolelle ja on erityisesti optimoitu käytettäväksi anturi- ja toimilaiteratkaisujen kanssa. Alkuperäinen nimi oli MQTT-S. Tämä aiheutti kuitenkin väärinkäsityksiä (suojattava?), Joten vuonna 2013 aloitettiin uudelleennimeäminen MQTT-SN: ksi (SN Sensor Networks).
protokollaa
MQTT on asiakas-palvelin-protokolla . Kun yhteys on muodostettu, asiakkaat lähettävät palvelimelle (välittäjälle) viestejä aiheella, joka luokittelee viestin hierarkisesti; esimerkiksi Küche/Kühlschrank/Temperatur
tai Auto/Rad/3/Luftdruck
. Asiakkaat voivat tilata näitä aiheita, ja palvelin välittää vastaanotetut viestit asianmukaisille tilaajille.
Viestit koostuvat aina aiheesta ja viestin sisällöstä. Viestit lähetetään määritellyllä palvelunlaadulla : korkeintaan kerran (viesti lähetetään kerran eikä se ehkä saavu, jos yhteys katkeaa), vähintään kerran (viesti lähetetään, kunnes kuitti on vahvistettu ja se voidaan lähettää useita kertoja vastaanottaja saapuu) ja täsmälleen kerran (tämä varmistaa, että viesti saapuu täsmälleen kerran, vaikka yhteys katkeaa). Lisäksi säilytyslippua voidaan käyttää ohjaamaan palvelinta tallentamaan tämän aiheen viesti tilapäisesti. Asiakkaat, jotka tilaavat tämän aiheen ensimmäistä kertaa, saavat ensin välimuistissa olevan viestin.
Yhteyttä muodostettaessa asiakkaat voivat määritellä "viimeisen tahdon" viestin muodossa. Jos yhteys asiakkaan kanssa katkeaa, tämä viesti julkaistaan ja lähetetään asianomaisille tilaajille.
MQTT: tä käytetään yleensä TCP: n kautta ja sillä on 2-tavuinen otsikko. Ensimmäinen tavu sisältää viestityypin (4 bittiä), palvelun laadun (2 bittiä) ja säilytyslipun.
On olemassa seuraavanlaisia viestejä:
- KYTKEÄ
- CONNACK
- JULKAISTA
- PUBACK
- PUBREC
- PUBREL
- PUBCOMP
- Tilaa
- SUBACK
- LOPETA TILAUS
- UNSUBACK
- PINGREQ
- PINGRESP
- KATKAISTA
Toinen tavu sisältää muun MQTT -paketin pituuden.
Tätä seuraa muuttuva osa, joka sisältää MQTT -aiheen eli aiheen. Lopuksi tulee hyötykuorma eli aiheen alla julkaistu tietosisältö.
Aiheet on järjestetty hierarkkisesti. Esimerkiksi:
Neujahrsansprache/1984/audio/ogg Neujahrsansprache/1984/audio/mp3 Neujahrsansprache/1984/video Neujahrsansprache/1984/text/ascii Neujahrsansprache/1984/text/odt
# -Merkillä kaikki ja alla oleva voidaan vastaanottaa hierarkiatasolta.
Hierarkiataso voidaan asettaa yleismerkiksi + -merkillä .
Esimerkiksi:
Uudenvuodenpuhe / 1984 / # | Kaikki vuoden 1984 uudenvuoden puhe |
Uudenvuoden osoite / + / text / ascii | Kaikkien uudenvuoden osoitteiden ASCII -tekstit |
Uudenvuoden osoite / + / audio / # | Kaikkien uudenvuodenpuheiden kaikki äänimuodot |
Toteutukset
nettilinkit
- MQTT -määritys 3.1.1
- MQTT -määritys 5
- mqtt.org - virallinen sivusto
- heise.de / ... - Artikkeli "MQTT: Protocol for Things of Internet - Once for the oil pipe, now a open standard" 15. huhtikuuta 2014 (luettu 23. huhtikuuta 2015)
- Mosquitto - avoimen lähdekoodin MQTT -välittäjä ja osa Eclipse - IoT -projektia ( iot.eclipse.org )
- MQTT Explorer - avoimen lähdekoodin työkalu MQTT -aiheiden kehittämiseen, integrointiin ja visualisointiin.
- https://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt-MQTT Introduction by HiveMQ (käytetty 14. kesäkuuta 2018)
- https://github.com/hobbyquaker/awesome-mqtt - jatkuvasti päivitetty yleiskatsaus MQTT -tekniikasta
Yksilöllisiä todisteita
- ↑ http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html
- ↑ MQTT: n usein kysytyt kysymykset: "Miten MQTT liittyy SCADA -protokollaan ja MQIsdp: hen?" (Käytetty 21. huhtikuuta 2015)
- ↑ Dominik Obermaier: Mikä on MQTT. Julkaisussa: sulautettu ohjelmistosuunnittelija. 19. kesäkuuta 2018, katsottu 5. elokuuta 2020 .
- ↑ M2M -protokolla MQTT: stä tulee Internet -standardi - iX
- ↑ http://dennisseidel.de/mqtt-eine-einfuhrung/
- ↑ https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=mqtt
- ↑ MQTT V3.1 -protokollan määritys. Haettu 29. huhtikuuta 2019 .
- ↑ IoT -viestinnän kehitys: MQTT 5. In: heise.de . 16. tammikuuta 2018, käytetty 29. huhtikuuta 2019 .
- ↑ MQTT -versio 5.0. Haettu 29. huhtikuuta 2019 .
- ↑ MQTT for Sensor Networks - MQTT -SN . Haettu 3. heinäkuuta 2020.