H συνολική λύση συνίσταται από τα δύο επιμέρους συστήματα τα οποία ολοκληρώνονται μεταξύ τους μέσω καλά ορισμένων διεπαφών, αλλά το καθένα επιτελεί αυτόνομες λειτουργίες με αδιαφανή τρόπο. Το σύστημα συλλογής – καταγραφής κρίσιμων περιβαλλοντικών παραμέτρων (θερμοκρασία, υγρασία κ.α.) και καταγραφής της θέσης του προϊόντος και το σύστημα της κεντρικής πλατφόρμας αποθήκευσης, επεξεργασίας δεδομένων και παροχής υπηρεσιών.
Η ιχνηλασιμότητα της εφοδιαστικής αλυσίδας ξεκινάει από τους αποθηκευτικούς χώρους του διανομέα και συνεχίζεται αδιαλείπτως μέχρι τα προϊόντα να παραληφθούν από τα τελικά σημεία πώλησής τους. Εντός των αποθηκευτικών χώρων και των οχημάτων τα δύο συστήματα καταγράφουν και αποστέλλουν συνεχώς τα δεδομένα στην κεντρική πλατφόρμα η οποία είναι υπεύθυνη για την συλλογή, αποθήκευση, συσχέτιση των παραμέτρων με το προϊόν και τη θέση, για την περαιτέρω επεξεργασία καθώς και την παροχή υπηρεσιών.

Η αρχιτεκτονική του συστήματος με βάση την ροή της πληροφορίας παρουσιάζεται στην Εικόνα 1, όπου απεικονίζεται τόσο η πορεία μετασχηματισμού των πρωτογενών δεδομένων σε πληροφορία όσο και οι βασικές τεχνολογικές λύσεις που υιοθετήθηκαν.

Συστήματα συλλογής και καταγραφής δεδομένων

Το σύστημα συλλογής και καταγραφής κρίσιμων περιβαλλοντικών παραμέτρων (θερμοκρασία, υγρασία κ.α.) αποτελείται από δυο κόμβους, τον κόμβο καταγραφής των δεδομένων (Data Col-lector Node – DCN) και τον κόμβο συλλογής και αποστολής των δεδομένων (Edge Node – EN).
Ο DCN διαθέτει τους κατάλληλους αισθητήρες για την καταγραφή των περιβαλλοντικών παραμέτρων της θερμοκρασίας και της υγρασίας και με την χρήση ασύρματου δικτύου LoRa αποστέλλει τα δεδομένα στον κόμβο συλλογής και αποστολής. Ο EN αποτελείται από δύο διακριτά μέρη και είναι υπεύθυνος για τη λήψη και την τοπική αποθήκευση των δεδομένων από τον DCN καθώς και για την κατάλληλη επεξεργασία τους πριν αυτά προωθηθούν στην κεντρική πλατφόρμα μέσω WiFi.

H μέθοδος αλληλεπίδρασης του EN με την κεντρική πλατφόρμα είναι το HTTP POST καθώς η POST είναι μια αξιόπιστη και αποτελεσματική μέθοδος αιτήματος που υποστηρίζεται από HTTP η οποία χρησιμοποιείται από το World Wide Web. Αυτή η μέθοδος, η οποία συνήθως χρησιμοποιείται για την μεταφορά μικρών φορτίων δεδομένων, επιτρέπει την αποστολή δεδομένων ως πακέτο σε ξεχωριστή επικοινωνία όπου αυτό σημαίνει ότι τα δεδομένα που αποστέλλονται μέσω της μεθόδου POST δεν είναι ορατά στη διεύθυνση URL, καθώς οι παράμετροι δεν αποστέλλονται μαζί με το URL. Οι προδιαγραφές αυτές του HTTP POST το καθιστούν ιδανικό για την διασύνδεση συσκευών χαμηλών πόρων και κατανάλωσης ενέργειας με το διαδίκτυο ειδικά όταν υπάρχει άμεση ανάγκη αποστολής δεδομένων σε έναν αξιόπιστο εξυπηρετητή.

Το σύστημα καταγραφής της θέσης του προϊόντος αξιοποιεί την τεχνολογία RFID για να συλλέξει για κάθε προϊόν τον Ηλεκτρονικό Κωδικό Προϊόντος (EPC, Electronic Product Code) ο οποίος είναι ο μοναδικός αριθμός ταυτοποίησης προϊόντος σε επίπεδο τεμαχίου , αλλά και την θέση στην οποία βρίσκεται (αποθήκη, όχημα, κα).
Το EPC είναι ένας μοναδικός αριθμός ο οποίος αποτελείται από 64 – 256 bits και περιλαμβάνει τέσσερα (4) πεδία: Header, EPC manager, Object Class, Serial number. Για τη θέση χρησιμοποιούνται 16 – 32 bits και περιλαμβάνει δύο (2) πεδία: Header, Type.
Το συγκεκριμένο σύστημα, για την ανάγνωση του EPC και για την καταγραφή της θέσης του προϊόντος περιλαμβάνει φορετές συσκευές οι οποίες προωθούν τα δεδομένα απευθείας στην κεντρική πλατφόρμα.

Οι φορετές συσκευές βασίζονται σε ένα ESP-WROOM-02 board η οποία είναι μια μονάδα MCU Wi-Fi 32-bit χαμηλής ισχύος, βασισμένη στο τσιπ ESP8266 στο οποίο ενσωματώνονται οι στοίβες δικτύου TCP / IP, 10-bit ADC και οι διεπαφές HSPI / UART / PWM / I2C / I2S. Το ESP-WROOM-S2 χρησιμοποιεί 2 MB SPI flash συνδεδεμένο με HSPI, το οποίο λειτουργεί ως SDIO / SPI slave, με την ταχύτητα του SPI να είναι έως 8 Mbps. Φέρουν, επίσης, τον RFID αναγνώστη MFRC 522, ο οποίος λειτουργεί στα 13.56Mhz με κάρτα IC και SPI διεπαφή και έχει την ικανότητα να διαβάζει τις πληροφορίες που είναι αποθηκευμένες μέσα στα RFID tags από απόσταση έως 5 cm, διασφαλίζοντας με αυτόν τον τρόπο ότι η πληροφορία προέρχεται από το προϊόν αναφοράς και όχι από κάποιο άλλο σε κοντινή απόσταση.
Η τροφοδοσία των συσκευών επιτυγχάνεται μέσα από μια μπαταριά Li-Po 2000 mAh 3.7V παρέχοντας μεγάλη αυτονομία. Η ενεργοποίηση και απενεργοποίηση της συσκευής πραγματοποιείτε μέσω εξωτερικού διακόπτη ο οποίος έχει προστεθεί στην πλακέτα. Το περίβλημα των συσκευών σχεδιάστηκε στο πρόγραμμα Autodesk Fusion 360 και κατασκευάστηκε σε 3D εκτυπωτή από υλικό PLA

Στους χώρους των αποθηκών γίνεται χρήση του δικτύου WiFi ενώ στα οχήματα γίνεται χρήση GPRS για άμεση αποστολή των δεδομένων.

Σύστημα κεντρικής πλατφόρμας αποθήκευσης, επεξεργασίας δεδομένων και παροχής υπηρεσιών

Η εικονικοποίηση (Virtualization) είναι τεχνολογία που επιτρέπει την δημιουργία υπηρεσιών χρησιμοποιώντας πόρους που παραδοσιακά συνδέονται με υλικό. Επιτρέπει την χρησιμοποίηση της πλήρους χωρητικότητας ενός φυσικού μηχανήματος, κατανέμοντας τις δυνατότητές του σε πολλούς χρήστες ή περιβάλλοντα.


Ένα σύστημα εικονικού υπολογιστή είναι γνωστό ως «εικονική μηχανή» (VM) και αποτελεί ένα. Η τοποθέτηση πολλαπλών VM σε έναν μόνο υπολογιστή επιτρέπει σε πολλά λειτουργικά συστήματα και εφαρμογές να εκτελούνται σε έναν μόνο διακομιστή. απομονωμένο σύστημα λογισμικού με λειτουργικό σύστημα και εσωτερική εφαρμογή. Κάθε αυτόνομο VM είναι εντελώς ανεξάρτητο.

Στο χαμηλότερο επίπεδο βρίσκεται ένα λειτουργικό σύστημα που ονομάζεται «hypervisor (επόπτης)», το οποίο αποσυνδέει τις εικονικές μηχανές από τον κεντρικό υπολογιστή και κατανέμει δυναμικά υπολογιστικούς πόρους σε κάθε εικονική μηχανή όπως απαιτείται.

Ένας υπολογιστής στον οποίο ένας επόπτης εκτελεί μία ή περισσότερες εικονικές μηχανές ονομάζεται κεντρικός υπολογιστής (Host) και κάθε εικονική μηχανή ονομάζεται «Επισκέπτης» (Guest).
Ο επόπτης παρουσιάζει στα λειτουργικά συστήματα των επισκεπτών μια εικονική λειτουργική πλατφόρμα και διαχειρίζεται την εκτέλεση των λειτουργικών συστημάτων των επισκεπτών. Πολλές παρουσίες μιας ποικιλίας λειτουργικών συστημάτων ενδέχεται να μοιράζονται τους εικονικοποιημένους πόρους υλικού: για παράδειγμα, οι παρουσίες Linux, Windows και macOS μπορούν όλες να εκτελούνται σε έναν φυσικό υπολογιστή x86. Αυτό έρχεται σε αντίθεση με την εικονικοποίηση σε επίπεδο λειτουρ-γικού συστήματος,


Οι βασικές ιδιότητες εικονικών μηχανών είναι:

  • Διαμέριση (Partitioning)
    – Εκτέλεση πολλαπλών λειτουργικών συστημάτων σε ένα φυσικό μηχάνημα.
    – Διαίρεση πόρων συστήματος μεταξύ εικονικών μηχανών.
  • Απομόνωση (Isolation).
    – Απομόνωση σφάλματος και ασφάλειας σε επίπεδο υλικού.
    – Διατηρήση της απόδοσης με προηγμένους ελέγχους πόρων.
  • Ενθυλάκωση (Encapsulation)
    – Αποθήκευση ολόκληρης της κατάστασης μιας εικονικής μηχανής σε αρχεία.
    – Μετακίνηση και αντιγραφή εικονικών μηχανών τόσο εύκολα όσο η μετακίνηση και αντιγραφή αρχείων.
  • Ανεξαρτησία υλικού (Hardware Independence).
    – Παροχή ή μετεγκατάσταση οποιασδήποτε εικονικής μηχανής σε οποιονδήποτε φυσικό διακομιστή.
    – Προηγμένες δυνατότητες Scale Out και Scale Up.
  • Πρόληψη και Αποκατάσταση προβλημάτων (Disaster Recovery).
    – Διασφαλίζεται υψηλό ποσοστό διαθεσιμότητας σε ένα ευρύ φάσμα καταστάσεων που διαταράσσουν τις κανονικές επιχειρηματικές δραστηριότητες. Σε περιπτώσεις όπου η συνέχιση των λειτουργιών των πλατφορμών εικονικοποίησης υλικού είναι σημαντική, ένα σχέδιο αποκατάστασης καταστροφών μπορεί να διασφαλίσει ότι πληρούνται οι απαιτήσεις απόδοσης υλικού και συντήρησης.

Υποσύστημα Ομογενοποίησης Δεδομένων

Όπως γίνεται αντιληπτό, το σύστημα δύναται να συλλέξει πλέον πληθώρα δεδομένων με όγκο που μεταβάλλεται όσο μεταβάλλεται και η έκταση της εγκατάστασης. Τα δεδομένα αυτά μπορούν να συλλέγονται από πολλές διαφορετικές συσκευές με μεγάλη ετερογένεια.
Η ετερογένεια αυτή οφείλεται σε πολλές παραμέτρους όπως τις διαφορετικές μετρικές, τους διαφορετικοί κατασκευαστές και κατ’ επέκταση τεχνολογίες που αυτοί υιοθετούν. Έτσι, καθίσταται αναγκαίο, τα δεδομένα αυτά να έρθουν σε μία κοινή μορφή για να μπορεί να μετά το σύστημα να τα διαχειριστεί όσο το δυνατόν πιο ενιαία.
Συνεπώς, προέκυψε η απαίτηση για ομογένεια των δεδομένων και περιγραφή τους από σαφώς ορισμένα μοντέλα. Προς αυτή την κατεύθυνση, το σύστημα ορίζει όλα τα δεδομένα που διακινεί και επεξεργάζεται όπως τα περιγράφουν τα FIWARE Data Models.
Τα FIWARE Data Models σχήματα περιγράφουν οντότητες και αποτελούν μέρος από ένα σύνολο τεχνολογιών και αρχιτεκτονικών που προτάθηκαν μέσα από το FIWARE έργο της Ευρωπαϊκής Ένωσης έχοντας ως στόχο την ανάπτυξη και τη δια λειτουργικότητα δομών ΙοΤ.

Το έργο ΠΑΝΟΠΤΗΣ, υιοθετεί αυτές τις λύσεις τόσο για να αντιμετωπίσει την ετερογένεια των δεδομένων, όσο και για να καταστήσει το σύστημα όσο γίνεται πιο συμβατό με ανοιχτά πρότυπα και πρωτοβουλίες διαλειτουργικότητας όπως αυτές του FIWARE. Τα μοντέλα του αυτά στηρίζονται στο πρότυπο NGSIv2.

Υποσύστημα Συμβουλευτικής

Στο πλαίσιο του παρόντος έργου θα γίνει υλοποίηση υποσυστήματος το οποίο θα είναι υπεύθυνο για την υποστήριξη των χρηστών στη λήψη αποφάσεων για την εκτέλεση εργασιών. Το υποσύστημα αυτό θα πρέπει να αξιοποιεί τα δεδομένα που συγκεντρώνονται από διάφορες πηγές με σκοπό την υποστήριξη συμβουλών.

Προς την κατεύθυνση αυτή, η πλατφόρμα ενσωματώνει αλγορίθμους μηχανικής μάθησης. Μέχρι σήμερα έχουν αναπτυχθεί και προταθεί στη βιβλιογραφία πληθώρα αλγορίθμων μηχανικής μάθησης που μπορούν να διακριθούν σε 3 μεγάλες κατηγορίες:

  • τους αλγόριθμους επιτηρούμενης μάθησης
  • τους αλγόριθμους μη επιτηρούμενης μάθησης
  • τους αλγόριθμους ενισχυτική μάθησης

Οι αλγόριθμοι επιτηρούμενης μάθησης (supervised learning) χτίζουν το μαθηματικό μοντέλο τους εκπαιδευόμενοι πάνω σε σύνολα δεδομένων που εμπεριέχουν τόσο τα διανύσματα εισόδου όσο και τα αναμενόμενα διανύσματα εξόδου (δεδομένα εκπαίδευσης). Μέσα από έναν κύκλο συνεχών βελτιστοποιήσεων οι αλγόριθμοι αυτοί καταλήγουν σε μία συνάρτηση που δύναται να προβλέπει την έξοδο νέων δεδομένων εισόδου βασισμένοι στα δεδομένα εκπαίδευσης τους


Στους αλγορίθμους μη επιτηρούμενης μάθησης δεν υπάρχει κάποιο αναμενόμενο αποτέλεσμα βάση του οποίου οι αλγόριθμοι αυτοί εκπαιδεύονται. Στόχος των αλγορίθμων αυτών αποτελεί πολλές φορές η ανακάλυψη κρυμμένων μοτίβων και κανόνων στα δεδομένα εισόδου.

Σε αντίθεση με τις προηγούμενες τεχνικές οι αλγόριθμοι ενισχυτικής μάθησης βρίσκονται σε συνεχή αλληλεπίδραση με το περιβάλλον και προσπαθούν να βελτιώνονται και να προσαρμόζονται μέσα από αυτή την ανάδραση. Στόχος των αλγορίθμων αυτών είναι να μεγιστοποιήσουν μια συνάρτηση του αριθμητικού σήματος ενίσχυσης (ανταμοιβή) (π.χ. την αναμενόμενη τιμή του σήματος ενίσχυσης στο επόμενο βήμα). Το σύστημα δεν καθοδηγείται από κάποιον εξωτερικό επιβλέποντα για το ποια ενέργεια θα πρέπει να ακολουθήσει αλλά πρέπει να ανακαλύψει μόνο του ποιες ενέργειες είναι αυτές που θα του αποφέρουν το μεγαλύτερο κέρδος

Στα πλαίσια του έργου θα αξιολογηθούν και οι 3 κατηγορίες τεχνικών μηχανικής μάθησης μέσω των δημοφιλέστερων εκπροσώπων για την διαμόρφωση της τελικής προσέγγισης που θα καλύπτει τις λειτουργικές ανάγκες του συστήματος όπως αυτές καθορίστηκαν παραπάνω.

Υποσύστημα Διεπαφών

Το τελευταίο επίπεδο της ροής της πληροφορίας αφορά τις διεπαφές του συστήματος με τον εξωτερικό κόσμο. Οι διεπαφές αυτές έχουν τον ρόλο να παρέχουν τα πρωτογενή δεδομένα (π.χ. τις μετρήσεις αισθητήρων, τις θέσεις των προϊόντων) αλλά και δευτερογενή πληροφορία (προ-βλέψεις αποθήκευσης), γραφικό περιβάλλον βασισμένο σε διαδικτυακές τεχνολογίες μέσω του οποίου ο χρήστης θα μπορεί να έχει την πλήρη εποπτεία του συστήματος με εύχρηστο τρόπο. Επίσης, άλλες διεπαφές θα μπορούν να διαθέσουν τα δεδομένα με ασφαλή τρόπο σε 3α συστήματα που πιθανόν να τα χρειάζονται. Οι διεπαφές αυτές θα στηριχθούν σε τεχνολογίες όπως REST, CoAP, MQTT. Τέλος, το σύστημα θα δύναται να διασυνδεθεί με 3ες υπηρεσίες υπολογιστικού νέ-φους με στόχο να καλύψει τις διάφορες ανάγκες των χρηστών. Ενδεικτικές τέτοιες υπηρεσίες είναι το Microsoft Flow, Yodiwo Cyan αλλά και εργαλεία όπως το NodeRED.