Emulation of IoT Devices

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2016-12-12
Department
Major/Subject
Communications Engineering
Mcode
ELEC3029
Degree programme
CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)
Language
en
Pages
69 + 10
Series
Abstract
Internet of Things (IoT) connects real life objects to the Internet. In this concept, devices, such as sensors and actuators, control the physical environment generating a large amount of data that can be used in applications and services. As they are typically constrained in memory and power, lightweight implementations are needed. Moreover, the number of Internet-connected devices is continually growing and thus, the technical solutions need to be scalable too. This introduces a problem; managing such a large amount of devices as well as testing the different IoT scenarios may be cumbersome with existing physical testbeds, which require a lot of configuring and lack scalability. This thesis proposes the design and implementation of emulated virtual devices using IoT specific protocols and data models, such as CoAP, LWM2M and IPSO objects. As device management is an important aspect of IoT, these devices are implemented to communicate with the management server through LWM2M interfaces in addition to communicating with each other. The emulated devices consist of virtual sensors and actuators represented as IPSO objects, which can be used to sense the simulated environment or control it with simple operations. Moreover, two use cases are defined and presented to create appropriate device logic. The virtualization of the devices is implemented by using Docker containers. They enable scaling to hundreds of devices, which is a key feature of the emulator. The design of the emualor follows CoAP and LWM2M specifications, which define the set of necessary functionalities and rules for the implementation. At the end of this thesis, the emulator is evaluated by comparing it to the initial design requirements along with scalability and bandwidth usage tests. Finally, future work for improving the emulator is presented.

Internet-verkko on nopeasti laajentunut laitteisiin, jotka voivat mitata ja ohjata ympäristöään Internet-yhteyden välityksellä muodostaen Esineiden Internetin (eng. Internet of Things, IoT). Tällaisilla laitteilla, kuten sensoreilla, on yleensä rajallisesti muistia, tehoa ja kapasiteettia tiedonkäsittelyyn. Tästä syystä onkin tärkeää, että ne ovat tekniseltä toteutukseltaan mahdollisimman kevyitä. Lisäksi IoT-laitteiden määrä kasvaa jatkuvasti, mikä tarkoittaa sitä, että teknisten toteutusten on oltava myös skaalautuvia. Valtavan laitemäärän hallinta sekä erilaisten IoT-skenaarioiden testaaminen on kuitenkin hyvin vaivalloista fyysisessä testiympäristössä, erityisesti heikon skaalautuvuuden takia. Tämä diplomityö esittää ja toteuttaa ratkaisuksi emulaattorin, jolla voi emuloida useita virtuaalisia laitteita käyttäen IoT-protokollia ja datamalleja, kuten CoAP- ja LWM2M-protokollia sekä IPSO-objekteja. Koska laitehallinta on olennainen osa IoT-konseptia, virtuaaliset laitteet on toteutettu niin, että ne voivat paitsi kommunikoida keskenään, niitä voi myös hallita hallintapalvelimen kautta LWM2M-operaatioita käyttäen. Laitteet koostuvat virtuaalisista sensoreista ja kytkimistä, joita mallinnetaan IPSO-objekteilla. Niiden avulla dataa voidaan kerätä ja lähettää simuloidussa ympäristössä. Lisäksi, työssä esitellään kaksi testitapausta, joihin toteutettu laitelogiikka pohjautuu. Virtualisointi tapahtuu Docker-platformin avulla, joka mahdollistaa skaalaamisen satoihin laitteisiin. Emulaattorin toteutus pohjautuu CoAP- ja LWM2M-standardeihin, jotka määrittävät sallitut toiminnallisuudet ja operaatiot. Diplomityön lopussa emulaattori arvioidaan toteutuneiden suunnitteluvaatimusten sekä tehtyjen skaalautuvuustestien ja taajuuskaistan käyttöä tarkastelevien testien perusteella.
Description
Supervisor
Kantola, Raimo
Thesis advisor
Jiménez, Jaime
Keywords
internet of things, CoAP, LWM2M, emulation, IPSO objects, virtual devices
Other note
Citation