M. Galliakis
B.Sc. & M.Sc. Thesis | 2016 - 2018

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.

Smart pill dispenser prototype

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.

User Interfaces

Application design for Desktop, Web, and Mobile, ensuring easy monitoring from anywhere.

Desktop UI Floorplan

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 UI Screens

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.

Emergency Notification UI

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 UI

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.

Event recognition data flow

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.

Reminder execution data flow

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

Hardware Level

Microcontrollers & Units

Physical interfacing of units (sensors, LEDs, buttons) with an Arduino Uno. Using relays for circuit isolation and controlling electrical appliances.
Communication flow
Application Level

Control Software (Clients)

Development of Desktop and Android applications for user monitoring, along with the Device Client that coordinates the microcontrollers in the space.
Distributed architecture
Core & Database

System Core & API

The heart of the system. It includes a Java Server managing Sockets, a RESTful API serving HTTP requests, and the database (MongoDB) storing the data.
Core DB architecture

Technical Challenges & Implementation

Key highlights from the software and hardware design.

Java Chat Simulation

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.

Server Terminal

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.

Arduino Setup

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

2016

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.

2018

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.

PCI

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.