Integrated System for Smart Space Management.
Study, design, and development of a distributed IoT system for remote, real-time microcontroller management. A complete implementation, from physically wiring sensors to building a Cloud infrastructure and publishing at PCI 2018.

Research Objective
The primary goal of the research was not merely home automation, but creating a practical, low-cost system for independent living, aimed at assisting the elderly and patients.
Construction of a smart mechanism (Pillbox) for medication reminders via visual and auditory cues.
Hazard detection system (e.g., fire, motion) with immediate notifications sent to relatives.
Remote control of electrical appliances and real-time monitoring of the environment.
Hardware & Prototyping
From circuit design on breadboards to the final physical implementation of the smart mechanisms.

Smart Home Miniature

Microcontroller & Bluetooth

Circuit Management (Relay)

Internal Circuitry (Pillbox)

Reminder Operation (Pillbox)

Smart Pillbox Construction

Smart Pillbox (Open)

Communication (Dual Clients)

Fire Detection Module

Motion Sensor (PIR)

Light Sensor (LDR)

Distance Sensor (Sonar)

Temperature & Humidity Sensor

Flame Detection Test

Analog Thermometer

8-Channel Relay Module

Digital Switch (Button)

Sound Sensor (Microphone)
User Interfaces
Application design for Desktop, Web, and Mobile, ensuring easy monitoring from anywhere.

Desktop User Client
Java desktop application. It provides an interactive floor plan of the house, allowing the user to visually monitor and control the space's units in real time.

Android User Client
The mobile version of the system. It enables remote management (switches, sliders) and live monitoring of the device directly from a smartphone.

Notifications (Alarms)
When a significant event occurs in the home (e.g., smoke detection), users receive immediate notifications on their electronic devices, regardless of whether they are actively monitoring at the time.

Web Application (Angular)
A dynamic website for account management (User/Device), handling access rights, and scheduling reminders.
Use Cases
How the system responds in real-world conditions, bridging Hardware with user applications.

Scenario 1: Event Recognition
When a sensor detects, for example, a fire, the Arduino sends a signal to the Device Client. The event is recorded in the database via the Web Service, which in turn immediately alerts (alarms) the connected users.

Scenario 2: Reminder Registration
The user schedules a medication reminder via the website. The Web Service stores it and forwards it to the Device Client at the specified time, which instructs the Arduino to turn on the corresponding LED.
Distributed System Architecture
Microcontrollers & Units

Control Software (Clients)

System Core & API

Technical Challenges & Implementation
Key highlights from the software and hardware design.

Communication Protocol Design
To achieve automated communication among applications (Hardware, Clients, Server), a custom string-based message exchange protocol via TCP Sockets was designed from scratch.

Concurrent Connection Management
Development of a multi-threaded Java Server. The server simultaneously handles requests from devices (Device Clients) and supervisors (User Clients), synchronizing their real-time communication.

Microcontroller Programming
Writing C++ code for Arduino microcontrollers. Routines were developed to filter analog sensor noise, transmitting data to the computer only when significant changes were recorded.
Project Evolution
Bachelor's Thesis (2016)
The foundation of the system. A Java Client-Server application was developed to manage Arduino devices over a network, utilizing Sockets and a MySQL database.
Master's Thesis (2018)
Transitioning to a distributed architecture. The system was upgraded with Web Services (Node.js), a NoSQL database (MongoDB), and a Web App, deploying the software components in Docker containers.
Publication (PCI 2018)
The final results of the research were officially presented at the 22nd Pan-Hellenic Conference on Informatics (PCI) under the title 'A low-cost Smart Home for the assistance of elderly persons and patients'.
Technologies & Tools
Microcontrollers
Arduino IDE, Wiring (C++), Electronic Circuits (Breadboards, Relays, Sensors).
Software & Networking
Java (Desktop & Server), Multi-threading, Sockets (TCP/IP), Android SDK.
Web & Databases
Node.js (Express), AngularJS, MongoDB, MySQL, Docker, HTML/CSS.