KEYWORD |
DAUIN - GR-16 - SOFTWARE ENGINEERING GROUP - SOFTENG
Development of a Home Automation Simulator
keywords DOMOTICS, IOT, SIMULATION, TESTING, WEB PLATFORMS
Reference persons LUCA ARDITO
External reference persons Domenico De Guglielmo
Research Groups DAUIN - GR-16 - SOFTWARE ENGINEERING GROUP - SOFTENG
Thesis type EXPERIMENTAL
Description The thesis aims to design and implement a simulation environment for home automation systems. This simulator will be responsible for emulating the behavior of IoT (Internet of Things) devices within a home automation context, supporting communication protocols such as HTTP, MQTT, and BLE (Bluetooth Low Energy). The goal is to provide developers of home automation systems with a tool to test and validate functionalities and use scenarios without the need to physically have all the hardware devices.
Introduction
The introduction will discuss the growing importance of IoT in home automation, highlighting how the ability to simulate devices and use scenarios represents a significant advantage in the development of such systems. The objective of the thesis and a brief description of the adopted research methodology will also be defined. State of the Art This section will provide an overview of IoT technologies applied to home automation, with particular attention to the HTTP, MQTT, and BLE communication protocols. It will also analyze the current state of available simulation tools, highlighting limits and opportunities.
Simulator Design
In this part, the design of the simulator will be described, including:
System Architecture: The software structure of the simulator, with details on the main modules, communication interfaces, and data flow.
Mocking of IoT Devices: Methodologies for emulating IoT devices, including sensors and actuators, communicating via HTTP, MQTT, and BLE.
Programmatic Interaction API with the Simulator: Implementation of an API that allows for the implementation of automated E2E test cases.
Implementation
This section will illustrate the implementation of the simulator, covering:
Choice of Technologies: Justification of the software technologies used for the development of the simulator.
Implementation Details: Explanation of the code and main data structures, along with examples of interaction between software modules.
Validation and Testing
In this phase, the methods and results of the simulator's test phase will be described, including the execution of use scenarios to validate the simulated functionalities. The effectiveness of the simulator in emulating the behavior of IoT devices and in facilitating the development of home automation systems will be discussed. Particular emphasis will be placed on the possibility of using the tool in the context of continuous integration and continuous deployment (CI/CD). Conclusions and Future Developments Finally, conclusions will be drawn, reflecting on the impact of the simulator in the development of home automation systems and suggesting possible improvements and future research directions, such as integration with cloud-based development platforms or support for emerging communication protocols.
Technologies, Environments, and Languages Used
Linux OpenWrt
Docker
Python
JavaScript
HTTP/Rest
Websocket
MQTT
Required skills Python
Deadline 05/02/2025
PROPONI LA TUA CANDIDATURA