General IoT Concept Design and Implementation

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2018-12-10
Department
Major/Subject
Tietoliikennetekniikka
Mcode
ELEC3029
Degree programme
CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)
Language
en
Pages
70+36
Series
Abstract
The impact of Internet of Things on business, society, manufacturing, industries and supply chain is significant. Modern technologies enable us to monitor and control things in new ways and in real-time. In addition, connecting appliances to work together has become easier than before. Although, development has only begun in the world of IoT as current implementations cover only fraction of the smart solutions visioned by future researchers. Consuming data produced by sensors connected to the Internet creates an opportunity to implement various kinds of solutions. In general, use cases consist of same kind of software components. Similarity of components forms a question: Could a general concept be designed and used as a basis to kickstart development of IoT application? This thesis proposes a general concept to advise IoT related software development and introduces a design and implementation steps of an example IoT-solution. Estimating business value of an IoT-solution might require piloting. Hence, agile software development aims to reduce cost of experimenting in the field of IoT. Furthermore, utilizing a template might also help to organize work load on any project. We begin this thesis with a background study on history of IoT, protocols and standards. Applications and trends are also discussed. Relevant communication, authentication and database technologies are reviewed. Concept components are identified by conducting case study on previous implementations and resulted concept applied to structure a system architecture, which includes a traditional REST API endpoints and modern socket connection to support real-time data streaming. Example implementation is developed using Node.js to produce software modules and test the designed concept.

Esineiden internetin (eng. Internet of Things, IoT) vaikutus liike-elämään, yhteiskuntaan, valmistamiseen, teollisuuteen ja toimitusketjuun on merkittävä. Nykyteknologian ansiosta voimme seurata ja hallita asioita uudella tavalla, reaaliajassa sekä eri laitteiden yhteiskäyttö on helpottunut huomattavasti. Olemassa olevat älykkäät ratkaisut eivät kuitenkaan kata kuin murto-osan tulevaisuuden tutkijoiden visioimista sovelluksista, joten IoT-ratkaisujen kehitys on vasta alkuvaiheessa. Sensorien tuottaman datan käyttö internetin yli luo mahdollisuuden monille eri käyttötarkoituksille. Ratkaisut koostuvat usein samankaltaisista komponenteista. Tämä herättääkin kysymyksen: olisiko mahdollista suunnitella yleinen konsepti, jota voitaisiin käyttää alustana monille eri IoT-ratkaisuille. Tässä diplomityössä esitetään yleinen konsepti, jota voidaan käyttää IoT-ohjelmistokehityksen apuna. Työ sisältää myös esimerkki-IoT -ratkaisun suunnittelun ja toteutuksen vaiheet. Usein IoT-ratkaisujen luoman hyödyn ja liiketoiminnallisen arvon arviointi vaatii pilotointia. Pyrkimyksenä onkin ketterä ja kustannustehokas ohjelmistokehitys. Tätä voidaan edesauttaa valmiilla komponenteilla ja ohjelmisto-rungolla, jolloin resurssisuunnittelukin on helpompaa. Diplomityö alkaa taustatutkimuksesta, joka kattaa IoT:n historian, protokollat ja standardit sekä sovellukset ja trendit. Tarkastelussa käydään läpi myös tähän liittyvät yleisimmät kommunikaatio-, autentikointi- ja tietokantateknologiat. Konseptin komponentit tunnistetaan aiempien toteutusten osalta tapaustutkimusmetodin keinoin. Tunnistettujen komponenttien perusteella suunnitellaan järjestelmäarkkitehtuuri, joka sisältää perinteisen REST-käsitteen mukaiset ohjelmistorajapinnat sekä modernin tavan välittää tietoa reaaliajassa. Arkkitehtuurin pohjalta kehitetyn Node.js-pohjaisen ohjelmiston tarkoitus on luoda uudelleenkäytettävät komponentit sekä testata suunnitellun konseptin käyttöä.
Description
Supervisor
Jäntti, Riku
Thesis advisor
Jumppanen, Vladislav
Keywords
Internet of Things, software development, concept design, REST, Node.js
Other note
Citation