Συντάχθηκε 30-04-2026 14:58
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 06/05/2026 09:00
Λήξη: 06/05/2026 10:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Κωνσταντίνου Δώρα
με θέμα
Aσύγχρονος προγραμματισμός (Flow-based Programming) στον Ιστό των Πραγμάτων (Web of Things)
Asynchronous Flow-Based Programming in the Web of Things
Εξεταστική Επιτροπή
Καθηγητής Ευριπίδης Πετράκης
Επίκουρος Καθηγητής Νικόλαος Γιατράκος
Δρ Χρύσα Τσιναράκη (EU Council, ICT Application Coordinator and Analyst)
Περίληψη
Η παρούσα διπλωματική εργασία αφορά τον σχεδιασμό και την υλοποίηση ενός συστήματος προσομοίωσης έξυπνης κατοικίας, βασισμένου σε ασύγχρονη επικοινωνία. Η υλοποίηση πραγματοποιείται στην πλατφόρμα Node-RED και αξιοποιεί το πρότυπο AsyncAPI (έκδοση 3+) ως τυπικό συμβόλαιο επικοινωνίας μεταξύ των επιμέρους συνιστωσών.
Το AsyncAPI χρησιμοποιείται για τον ορισμό της δομής του επιπέδου ανταλλαγής μηνυμάτων, συμπεριλαμβανομένων των καναλιών επικοινωνίας, των σχημάτων δεδομένων και των προτύπων αλληλεπίδρασης publish–subscribe, παρέχοντας μια τυποποιημένη και μηχανικά αναγνώσιμη περιγραφή της επικοινωνίας, κατάλληλη για event-driven περιβάλλοντα του Διαδικτύου των Πραγμάτων (IoT).
Για την ενσωμάτωση του προτύπου, αναπτύχθηκε προσαρμοσμένος κόμβος στην πλατφόρμα Node-RED, ο οποίος υλοποιήθηκε ως έργο σε Node.js. Ο κόμβος αυτός είναι υπεύθυνος για τη σύνδεση με τον εξυπηρετητή MQTT, τη δημιουργία και διαχείριση των καναλιών επικοινωνίας (topics), καθώς και για την επικύρωση των ανταλλασσόμενων μηνυμάτων βάσει JSON Schema, διασφαλίζοντας τη συνέπεια και την ορθότητα των δεδομένων.
Στο πλαίσιο της προσομοίωσης, υλοποιείται ένα ολοκληρωμένο μοντέλο έξυπνης κατοικίας που περιλαμβάνει συστήματα φωτισμού, συστήματα θέρμανσης και κλιματισμού, οικιακές συσκευές, αισθητήρες περιβάλλοντος και έξυπνες πρίζες με δυνατότητες απομακρυσμένου ελέγχου και παρακολούθησης ενεργειακής κατανάλωσης. Επιπλέον, αξιοποιείται το OpenAPI για την υλοποίηση σύγχρονων λειτουργιών μέσω webhooks.
Τέλος, μέσω της χρήσης subflows στο Node-RED, το σύστημα επεκτείνεται για την προσομοίωση πολλαπλών κατοικιών, συγκροτώντας ένα εικονικό έξυπνο δίκτυο γειτονιάς. Η προσέγγιση αυτή επιτρέπει την κλιμάκωση του συστήματος και τη μελέτη της κατανεμημένης ενεργειακής κατανάλωσης, αναδεικνύοντας τα πλεονεκτήματα του specification-driven σχεδιασμού σε εφαρμογές IoT.
Abstract
This thesis focuses on the design and implementation of a smart-home simulation system based on asynchronous communication. The system is developed on the Node-RED platform and utilizes the AsyncAPI standard (version 3+) as a formal communication contract between distributed components.
AsyncAPI is used to define the structure of the messaging layer, including communication channels, data schemas, and publish–subscribe interaction patterns, providing a standardized and machine-readable description of communication, suitable for event-driven Internet of Things (IoT) environments.
To integrate this standard, a custom node was developed within Node-RED, implemented as a project in Node.js. This node is responsible for establishing the connection to the MQTT server, creating and managing communication channels (topics), and validating exchanged messages based on JSON Schema, ensuring the consistency and correctness of the exchanged data.
Within the simulation, a comprehensive smart-home model is implemented, including lighting systems, heating and cooling systems, household appliances, environmental sensors, and smart plugs that enable remote control and energy consumption monitoring. Furthermore, OpenAPI is utilized to implement synchronous operations through webhooks.
Finally, by using subflows in Node-RED, the system is extended to simulate multiple smart homes, forming a virtual smart neighborhood. This approach enables system scalability and supports the analysis of distributed energy consumption, highlighting the advantages of specification-driven design in IoT applications.