MQTT IoT-protokolla : Toiminta ja toteutus
Ojala, Rami (2017)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017121821866
https://urn.fi/URN:NBN:fi:amk-2017121821866
Tiivistelmä
Opinnäytetyössä perehdyttiin IoT-laitteiden kommunikointiin, tehokkaan kommunikoinnin merkitykseen ja lähitulevaisuuden haasteisiin kommunikoinnissa. Toteuttavana osuutena opinnäytetyössä suunniteltiin ja toteutettiin MQTT-protokollan mukainen avoimen lähdekoodin asiakasohjelmisto.
IoT-laitteiden määrän ennustettu räjähdysmäinen kasvu asettaa erityisiä vaatimuksia kommunikointiin tarkoitetulle protokollalle. Osa vaatimuksista on esitelty ja kuvailtu yksityiskohtaisesti tässä opinnäytetyössä. Erityisesti protokollien vaatimien eri otsakkeiden suhde hyötykuormaan on tärkeässä roolissa IoT-laitteiden suhteellisen pienissä tietomäärissä. Opinnäytetyö esitteli protokollan otsakkeen tyypillisessä IoT-laitteen käyttötapauksessa.
IoT-laitteiden kommunikointiin yleisesti käytetyistä protokollista esitettiin opinnäytetyössä perustoiminnallisuuksien kuvaus. Tutkimusajankohtana yleisesti käytössä olevia protokollia olivat: AMQP, CoAP, HTTP, MQTT ja XMPP. Opinnäytetyössä kuvailtiin protokollien otsakkeita sekä sitä, millaisen alemman kerroksen protokollat vaativat. Lisäksi kerrottiin protokollan toiminnasta ja siitä, minkälaista hyötykuormaa sillä voi siirtää. Lisäksi opinnäytetyössä kuvailtiin IoT-laitteiden tietoturvaa TCP/IP-protokollapinon kuljetuskerroksen ja verkkokerroksen osalta.
Protokollista MQTT-protokollan viestirakenne, toiminta ja siihen liittyvät ohjelmistot esitettiin yksityiskohtaisesti. Esityksen perusteella määriteltiin MQTT-asiakasohjelmiston arkkitehtuuri ja testitapaukset. Näiden pohjalta toteutettiin MQTT versiota 3.1.1 noudattava asiakasohjelmisto. Ohjelmistoon on valittavissa joko dynaaminen tai staattinen muistinvaraus. IoT-laitteet suosivat staattista muistinvarausta, joka mahdollistaa ohjelmiston käytön kevyissä ympäristöissä.
IoT-laitteiden määrän ennustettu räjähdysmäinen kasvu asettaa erityisiä vaatimuksia kommunikointiin tarkoitetulle protokollalle. Osa vaatimuksista on esitelty ja kuvailtu yksityiskohtaisesti tässä opinnäytetyössä. Erityisesti protokollien vaatimien eri otsakkeiden suhde hyötykuormaan on tärkeässä roolissa IoT-laitteiden suhteellisen pienissä tietomäärissä. Opinnäytetyö esitteli protokollan otsakkeen tyypillisessä IoT-laitteen käyttötapauksessa.
IoT-laitteiden kommunikointiin yleisesti käytetyistä protokollista esitettiin opinnäytetyössä perustoiminnallisuuksien kuvaus. Tutkimusajankohtana yleisesti käytössä olevia protokollia olivat: AMQP, CoAP, HTTP, MQTT ja XMPP. Opinnäytetyössä kuvailtiin protokollien otsakkeita sekä sitä, millaisen alemman kerroksen protokollat vaativat. Lisäksi kerrottiin protokollan toiminnasta ja siitä, minkälaista hyötykuormaa sillä voi siirtää. Lisäksi opinnäytetyössä kuvailtiin IoT-laitteiden tietoturvaa TCP/IP-protokollapinon kuljetuskerroksen ja verkkokerroksen osalta.
Protokollista MQTT-protokollan viestirakenne, toiminta ja siihen liittyvät ohjelmistot esitettiin yksityiskohtaisesti. Esityksen perusteella määriteltiin MQTT-asiakasohjelmiston arkkitehtuuri ja testitapaukset. Näiden pohjalta toteutettiin MQTT versiota 3.1.1 noudattava asiakasohjelmisto. Ohjelmistoon on valittavissa joko dynaaminen tai staattinen muistinvaraus. IoT-laitteet suosivat staattista muistinvarausta, joka mahdollistaa ohjelmiston käytön kevyissä ympäristöissä.