IoT-järjestelmän suunnittelu ja toteutus
Palomäki, Pasi (2023)
Palomäki, Pasi
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023121437161
https://urn.fi/URN:NBN:fi:amk-2023121437161
Tiivistelmä
Opinnäytetyössä tutkittiin IoT-järjestelmän suunnittelua ja toteutusta KajaPro Oy:lle. KajaPro Oy on Kajaanissa sijaitseva IT-yritys, joka tarjoaa ohjelmistotuotannon alihankintapalveluja ohjelmistojen kehittämiseen. Opinnäytetyön aihe syntyi, kun tahdottiin toteuttaa IoT-järjestelmä koe- ja opetuskäyttöön. Työn tarkoituksena oli suunnitella toimiva arkkitehtuurimalli IoT-laitteille ja pilvipalveluille, jotta on mahdollista korvata pilvipalvelut omilla palvelimilla.
Arkkitehtuurimallin suunnittelua lähdettiin tutkimaan käyttäen konstruktiivista tutkimusmenetelmää. Suunnittelu aloitettiin perehtymällä kahteen eri arkkitehtuurimalliin, joiden ideologioita käytettiin soveltaen järjestelmän arkkitehtuurisuunnittelussa, jolle oli vaatimusmäärittelyssä asetettu rajoitteita sekä esivalittu ESP32-pohjainen mikrokontrolleri IoT-laitteeksi. Tietoa kerättiin internetistä, kirjoista ja artikkeleista. Näiden pohjalta lähdettiin toteuttamaan järjestelmän suunnittelua.
Suunnittelun toteutuksessa yhdistettiin IoT-laite pilvessä olevaan palveluun ja ohjelmoitiin palvelinohjelma. Palvelinohjelma mahdollisti verkkosivuna internetissä olevalta käyttöliittymältä käskyjen lähettämisen IoT-laitteelle. Tässä oli käytetty hyödyksi REST API -kutsuja ja MQTT-protokollaa. Näiden kahden eri kutsujen kohtaamispisteenä toimi palvelinohjelma, joka oli pystytettynä Azure-pilvipalvelussa. Pilvipalveluissa olevista palveluista saatiin tehtyä hyvä dokumentointi ja ne olivat skaalattavissa tarpeen mukaan.
Opinnäytetyössä saatiin suunniteltua järjestelmä, joka vastasi toimeksiantajan vaatimuksia. Suunnitellun järjestelmän toteutus onnistui vastaamaan näitä vaatimuksia ja samalla saatiin hyvin dokumentoitu toteutus, jossa on käytetty moderneja ohjelmistokehitysperiaatteita sekä automatisoitu testausta.
Arkkitehtuurimallin suunnittelua lähdettiin tutkimaan käyttäen konstruktiivista tutkimusmenetelmää. Suunnittelu aloitettiin perehtymällä kahteen eri arkkitehtuurimalliin, joiden ideologioita käytettiin soveltaen järjestelmän arkkitehtuurisuunnittelussa, jolle oli vaatimusmäärittelyssä asetettu rajoitteita sekä esivalittu ESP32-pohjainen mikrokontrolleri IoT-laitteeksi. Tietoa kerättiin internetistä, kirjoista ja artikkeleista. Näiden pohjalta lähdettiin toteuttamaan järjestelmän suunnittelua.
Suunnittelun toteutuksessa yhdistettiin IoT-laite pilvessä olevaan palveluun ja ohjelmoitiin palvelinohjelma. Palvelinohjelma mahdollisti verkkosivuna internetissä olevalta käyttöliittymältä käskyjen lähettämisen IoT-laitteelle. Tässä oli käytetty hyödyksi REST API -kutsuja ja MQTT-protokollaa. Näiden kahden eri kutsujen kohtaamispisteenä toimi palvelinohjelma, joka oli pystytettynä Azure-pilvipalvelussa. Pilvipalveluissa olevista palveluista saatiin tehtyä hyvä dokumentointi ja ne olivat skaalattavissa tarpeen mukaan.
Opinnäytetyössä saatiin suunniteltua järjestelmä, joka vastasi toimeksiantajan vaatimuksia. Suunnitellun järjestelmän toteutus onnistui vastaamaan näitä vaatimuksia ja samalla saatiin hyvin dokumentoitu toteutus, jossa on käytetty moderneja ohjelmistokehitysperiaatteita sekä automatisoitu testausta.