IoT Sensor Simulation for Synthetic Data Generation and Transmission using MQTT
Dahama, Ankur (2020)
Dahama, Ankur
2020
Degree Programme in Science and Engineering, BSc (Tech) - Degree Programme in Science and Engineering, BSc (Tech)
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. Only for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-03-30
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202004063093
https://urn.fi/URN:NBN:fi:tuni-202004063093
Tiivistelmä
IoT is a fast-growing field in technology world and increasing amount of developers are investing in development of new products and solutions. The key to facilitate the growth of IoT is to make the development process more efficient, quick, and cost effective. Software development for IoT differs from traditional software due to its additional hardware component. IoT software depends on the incoming data from a sensor or physical device. Development of hardware side of an IoT project can slow down the development process of software in early phases. This raises the need to simulate the sensors needed to carry on the software development process.
This thesis introduces the basic concepts in IoT such as protocols for data transmission, structuring of IoT sensor data and the generation of synthetic data itself. Each of these areas have multiple options and choice is made to use MQTT protocol for data transmission and IPSO objects for data structuring. The thesis provides in-depth reasons for the particular choices.
Additionally, a framework architecture is presented to simulate the sensor data and transmit it to the cloud to be used be software component of any IoT project. Five requirements are established for evaluating the framework. Then, the design and implementation of the framework is presented. Multiple areas of the framework such as connection to the broker, transmission and structure are divided into modules. Connection between these modules are thoroughly explained. Lastly, a prototype is developed to test the basic functionality of the framework and evaluated with a sample weather app.
The framework meets all the five requirements set in the test. In the prototype testing, synthetic data is transmitted to the MQTT broker successfully, which in turn is used by an IoT app. The received data by the test app replicates the transmission protocols and structure of real sensor data. This can help boost the development process of the app because no hardware setup is required for developing and testing the app. Furthermore, the framework can also provide data that can effectively test the boundary conditions of a software or the behaviour when data is far away from expected. These anomalies are difficult to generate with an actual sensor but can be done easily through this framework.
This thesis introduces the basic concepts in IoT such as protocols for data transmission, structuring of IoT sensor data and the generation of synthetic data itself. Each of these areas have multiple options and choice is made to use MQTT protocol for data transmission and IPSO objects for data structuring. The thesis provides in-depth reasons for the particular choices.
Additionally, a framework architecture is presented to simulate the sensor data and transmit it to the cloud to be used be software component of any IoT project. Five requirements are established for evaluating the framework. Then, the design and implementation of the framework is presented. Multiple areas of the framework such as connection to the broker, transmission and structure are divided into modules. Connection between these modules are thoroughly explained. Lastly, a prototype is developed to test the basic functionality of the framework and evaluated with a sample weather app.
The framework meets all the five requirements set in the test. In the prototype testing, synthetic data is transmitted to the MQTT broker successfully, which in turn is used by an IoT app. The received data by the test app replicates the transmission protocols and structure of real sensor data. This can help boost the development process of the app because no hardware setup is required for developing and testing the app. Furthermore, the framework can also provide data that can effectively test the boundary conditions of a software or the behaviour when data is far away from expected. These anomalies are difficult to generate with an actual sensor but can be done easily through this framework.