Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α"

Transcript

1 Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΟΤΤΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΟΣ ΒΡΑΚΑΣ, ΛΕΚΤΟΡΑΣ ΘΕΣΣΑΛΟΝΙΚΗ 2012

2

3

4

5

6

7 ΠΕΡΙΛΗΨΗ Π Ε Ρ Ι Λ Η Ψ Η Αντικείμενο της παρούσας εργασίας είναι η διερεύνηση και η επέκταση μιας εφαρμογής Διάχυτης Νοημοσύνης με τη χρήση Υπηρεσιών Ιστού. Η πρόοδο της τεχνολογίας έχει φέρει αλλαγές στον τρόπο ζωής του ανθρώπου, περικυκλώνοντάς τον με διάχυτες υπολογιστικές συσκευές που έχουν ως σκοπό να βελτιώσουν την άνεση και την ασφάλεια στην καθημερινότητα και να αυξήσουν το βιοτικό του επίπεδο. Με την εγκατάσταση δικτύων έξυπνων συσκευών είναι δυνατή η διαμόρφωση ευφυών περιβαλλόντων με κέντρο τον χρήστη και τις ανάγκες του. Σκοπός της παρούσας εργασίας είναι η επέκταση ενός προϋπάρχοντος λογισμικού που εκθέτει τα δεδομένα και τις λειτουργίες των ετερογενών συστημάτων, τα οποία αποτελούνται από ασύρματα δίκτυα έξυπνων συσκευών και αισθητήρων, με ομοιογενή τρόπο. Το ενδιάμεσο λογισμικό awesome αναβαθμίζεται και επεκτείνεται για να παρέχει πρόσβαση στα δεδομένα περισσότερων πακέτων συσκευών μέσω Υπηρεσιών Ιστού. Για λόγους ευελιξίας αναπτύχθηκαν νέες βοηθητικές εφαρμογές που μεσολαβούν ανάμεσα στο ενδιάμεσο λογισμικό και στις συσκευές, ενώ η εγκατάσταση του πακέτου οργανώθηκε και απλοποιήθηκε. Το σύστημα αυτό ανήκει σε ένα ευρύτερο ερευνητικό πρόγραμμα Διάχυτης Νοημοσύνης με χρήση δικτύων αισθητήρων για το περιβάλλον ενός έξυπνου πανεπιστημίου. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ VII

8

9 ABSTRACT A B S T R A C T The objective of this thesis is to investigate and extend an Ambient Intelligence application using Web Services. Technological advancements have brought changes in the life of man, by surrounding him with pervasive computing devices that are designed to improve comfort and safety in daily life and to raise the standard of living. Installing smart device networks enables development of intelligent environments centered on the user s needs. This work aims to extend previous software that exposes the data and functions of heterogeneous systems, which consists of wireless networks for smart devices and sensors, in a universal manner. awesome middleware is upgraded and extended to provide access to the data of additional device packets through Web Services. For flexibility reasons, new driver applications were developed that intermediate between middleware and devices while the package installation process was organized and simplified. The proposed system is part of a wider Ambient Intelligence research project using sensor networks for an intelligent university environment. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ IX

10

11 ΕΥΧΑΡΙΣΤΙΕΣ Ε Υ Χ Α Ρ Ι Σ Τ Ι Ε Σ Πριν την παρουσίαση των αποτελεσμάτων της παρούσας εργασίας, αισθάνομαι την υποχρέωση να ευχαριστήσω ορισμένους από τους ανθρώπους που γνώρισα, συνεργάστηκα μαζί τους και έπαιξαν πολύ σημαντικό ρόλο στην πραγματοποίησή της. Θα ήθελα να ευχαριστήσω, πρώτα απ όλα, τον επιβλέποντά μου, λέκτορα, κύριο Δημήτρη Βράκα για την ευκαιρία που μου έδωσε να ασχοληθώ με ένα τόσο ενδιαφέρον θέμα, και για τον χώρο και την ελευθερία που μου έδωσε να πραγματοποιήσω το όραμα μου όπως το φανταζόμουν. Επίσης, ευχαριστώ τον κ. Ιωάννη Βλαχάβα, διευθυντή της ομάδας LPIS για την φιλοξενία στο εργαστήριο. Θα ήθελα να ευχαριστήσω και τους υπόλοιπους προπτυχιακούς φοιτητές με τους οποίους ήμασταν στην ίδια ομάδα εργασίας, καθώς οι διπλωματικές μας εργασίες ανήκαν στο ίδιο πεδίο έρευνας. Πιο συγκεκριμένα, θα ήθελα να ευχαριστήσω τους: Αργυρίου Γιάννη, Μυλωνίδη Θοδωρή, Τσομπανίδη Θοδωρή και Πηλικίδη Γιώργο για την ευχάριστη και εποικοδομητική συνεργασία. Τέλος, αισθάνομαι την υποχρέωση, αλλά κυρίως την ανάγκη, να ευχαριστήσω τον υποψήφιο διδάκτορα Σταυρόπουλο Θάνο για την διαρκή και πολύτιμη βοήθειά του, αλλά και την υπομονή που έδειξε κατά την εκπόνηση αυτής της διπλωματικής εργασίας. 29/6/2012 Γόττης Κωνσταντίνος ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ XI

12

13 ΠΕΡΙΕΧΟΜΕΝΑ Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΠΕΡΙΛΗΨΗ... VII ABSTRACT... IX ΕΥΧΑΡΙΣΤΙΕΣ... XI ΠΕΡΙΕΧΟΜΕΝΑ... XIII ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ... XV ΛΙΣΤΑ ΠΙΝΑΚΩΝ... XVII ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ ΕΠΙΣΚΟΠΗΣΗ ΣΥΜΒΑΛΛΟΜΕΝΕΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΦΑΡΜΟΓΕΣ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ SOA ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΣΚΟΠΗΣΗ ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ΣΥΣΚΕΥΕΣ ΣΥΣΚΕΥΕΣ PLUGWISE ΣΥΣΚΕΥΕΣ PRISMASENSE ΣΥΣΚΕΥΕΣ CURRENT COST ΣΥΣΚΕΥΕΣ Z-WAVE ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME ΤΟ ΛΟΓΙΣΜΙΚΟ AWESOME ΟΙ ΕΦΑΡΜΟΓΕΣ ΟΔΗΓΟΙ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ XIII

14 ΠΕΡΙΕΧΟΜΕΝΑ Η EΦΑΡΜΟΓΗ CCDRIVER Η EΦΑΡΜΟΓΗ PRISMADRIVER Η EΦΑΡΜΟΓΗ ZWDRIVER ΟΙ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ AWESOME ΥΠΗΡΕΣΙΑ ΙΣΤΟΥ SMART PLUG ΥΠΗΡΕΣΙΑ ΙΣΤΟΥ SMART CLAMPER ΥΠΗΡΕΣΙΑ ΙΣΤΟΥ SENSOR BOARD ΥΠΗΡΕΣΙΑ ΙΣΤΟΥ ZWAVE ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ ΑΡΧΕΙΑ ΠΕΡΙΓΡΑΦΩΝ WSDL ΥΛΟΠΟΙΗΣΗ ΟΔΗΓΩΝ CCDRIVER PRISMADRIVER ZWDRIVER SCRIPT ΕΓΚΑΤΑΣΤΑΣΗΣ ΤΗΣ ΒΙΒΛΙΟΘΗΚΗΣ RXTX ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΡΑΡΤΗΜΑ I: ΑΝΑΦΟΡΕΣ ΠΑΡΑΡΤΗΜΑ II: ΑΚΡΩΝΥΜΑ ΠΑΡΑΡΤΗΜΑ III: ΓΛΩΣΣΑΡΙΟ ΠΑΡΑΡΤΗΜΑ IV: ΕΥΡΕΤΗΡΙΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ XIV

15 ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ Λ Ι Σ Τ Α Σ Χ Η Μ ΑΤ Ω Ν ΕΙΚΟΝΑ 1: ΈΝΑ ΣΥΣΤΗΜΑ ΔΙΑΧΥΤΗΣ ΝΟΗΜΟΣΥΝΗΣ ΠΕΡΙΒΑΛΛΕΙ ΤΟΝ ΧΡΗΣΤΗ ΕΙΚΟΝΑ 2: ΟΙ ΣΥΜΒΑΛΛΟΜΕΝΕΣ ΤΕΧΝΟΛΟΓΙΕΣ ΤΗΣ ΔΙΑΧΥΤΗΣ ΝΟΗΜΟΣΥΝΗΣ ΕΙΚΟΝΑ 3: ΑΡΙΣΤΕΡΑ: Η ΜΕΛΕΤΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ PEIS - ECOLOGIES ΒΡΙΣΚΕΤΑΙ ΣΤΗΝ ΤΟΜΗ ΠΟΛΛΩΝ ΔΙΑΦΟΡΕΤΙΚΩΝ ΠΕΔΙΩΝ, ΔΕΞΙΑ: ΤΟ ΛΟΓΟΤΥΠΟ ΤΟΥ PEIS ECOLOGY ΕΙΚΟΝΑ 4: ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΕΚΦΡΑΣΕΩΝ ΤΟΥ ICAT ΕΙΚΟΝΑ 5: ΑΡΙΣΤΕΡΑ: ΔΙΑΔΡΑΣΤΙΚΟ ΤΡΑΠΕΖΙ, ΔΕΞΙΑ: ΈΞΥΠΝΟΣ ΚΑΘΡΕΦΤΗΣ ΕΙΚΟΝΑ 6: ΒΑΣΙΚΟΙ ΘΕΜΑΤΙΚΟΙ ΤΟΜΕΙΣ ΤΩΝ ΕΦΑΡΜΟΓΩΝ ΔΙΑΧΥΤΗΣ ΝΟΗΜΟΣΥΝΗΣ ΕΙΚΟΝΑ 7: ΤΟ ΣΑΛΟΝΙ ΤΟΥ HOMELAB ΚΑΙ ΤΟ ΔΩΜΑΤΙΟ ΠΑΡΑΤΗΡΗΣΗΣ ΕΙΚΟΝΑ 8: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΕ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΣΕ ΣΥΣΤΗΜΑ ΔΝ ΕΙΚΟΝΑ 9: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ HYDRA ΕΙΚΟΝΑ 11: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΕΡΓΑΛΕΙΑ ΤΩΝ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΕΙΚΟΝΑ 12: ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΕΝΝΟΙΩΝ ΠΟΥ ΟΡΙΖΟΝΤΑΙ ΑΠΟ ΤΑ WSDL 1.1 ΚΑΙ WSDL ΕΙΚΟΝΑ 13: ΔΙΚΤΥΑ ΑΣΥΡΜΑΤΩΝ ΣΥΣΚΕΥΩΝ ΕΛΕΓΧΟΥ ΚΑΙ ΑΙΣΘΗΣΗΣ ΣΕ ΕΝΑ ΕΥΦΥΪΕΣ ΟΙΚΙΑΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΙΚΟΝΑ 14: ΟΙ ΤΟΠΟΛΟΓΙΕΣ ΑΣΤΕΡΑ (STAR), ΣΥΜΠΛΕΓΜΑΤΟΣ (CLUSTER) ΚΑΙ ΚΑΤΑΝΕΜΗΜΕΝΟΥ (MESH) ΔΙΚΤΥΟΥ ΕΙΚΟΝΑ 15: Η ΣΤΟΙΒΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ZIGBEE ΕΙΚΟΝΑ 16: ΤΑ ΛΟΓΟΤΥΠΑ ΤΩΝ X10, INSTEON, ZIGBEE ΚΑΙ Z-WAVE ΕΙΚΟΝΑ 17: Η ΣΤΟΙΒΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ Z-WAVE ΕΝΣΩΜΑΤΩΜΕΝΗ ΣΕ ΕΦΑΡΜΟΓΗ ΕΙΚΟΝΑ 18: ΤΑ CIRCLE, SWITCH, STEALTH ΚΑΙ STICK ΕΙΚΟΝΑ 19: ΈΝΑ ΔΙΚΤΥO PLUGWISE ΕΙΚΟΝΑ 20: ΤΟ ΛΟΓΙΣΜΙΚΟ SOURCE ΕΙΚΟΝΑ 21: ΤΟ ΔΙΚΤΥΟ PRISMASENSE ΕΙΚΟΝΑ 22: ΑΡΙΣΤΕΡΑ: QUAX-DT, ΔΕΞΙΑ: WIFI GATEWAY ΕΙΚΟΝΑ 23: Ο ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ ΤΗΣ TEXAS INSTRUMENTS ΕΙΚΟΝΑ 24: Η ΟΘΟΝΗ ENVIR, ΕΝΑΣ ΠΟΜΠΟΣ ΚΑΙ Η ΓΕΦΥΡΑ NETSMART ΕΙΚΟΝΑ 25: ΑΡΙΣΤΕΡΑ: ΣΦΙΓΚΤΗΡΕΣ ΣΤΑ ΚΑΛΩΔΙΑ ΗΛΕΚΤΡΟΔΟΤΗΣΗΣ, ΔΕΞΙΑ: Ο ΠΟΜΠΟΣ ENVI ΕΙΚΟΝΑ 26: ΕΠΙΚΟΙΝΩΝΙΑ ΤΩΝ ΣΥΣΚΕΥΩΝ CURRENT COST ΜΕΣΩ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ C ΕΙΚΟΝΑ 27: ΤΟ Z-WAVE ΠΡΟΣΑΡΜΟΣΜΕΝΟ ΣΤΟ ΟΙΚΙΑΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΙΚΟΝΑ 28: ΤΟ Z-STICK SERIES 2, Ο ΑΝΙΧΝΕΥΤΗΣ ΚΑΠΝΟΥ SF812, Ο ΑΙΣΘΗΤΗΡΑΣ ΚΙΝΗΣΗΣ ZIR010 ΚΑΙ Ο ΠΟΛΥΑΙΣΘΗΤΗΡΑΣ EZMOTION ΕΙΚΟΝΑ 29: Η VERA 2 ΚΑΙ Η ΓΡΑΦΙΚΗ ΔΙΕΠΑΦΗ ΤΗΣ ΕΙΚΟΝΑ 30: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ AWESOME ΕΙΚΟΝΑ 32: ΛΙΣΤΑ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΚΑΘΕ ΟΜΑΔΑ ΣΥΣΚΕΥΩΝ ΕΙΚΟΝΑ 33: ΓΕΝΙΚΗ ΤΟΠΟΛΟΓΙΑ ΤΟΥ ΈΞΥΠΝΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΕΙΚΟΝΑ 34: ΜΕΤΡΗΣΕΙΣ ΚΑΤΑΝΑΛΩΣΗΣ ΣΤΗ ΓΡΑΜΜΗ ΕΝΤΟΛΩΝ ΤΟΥ CCDRIVER ΕΙΚΟΝΑ 35: Η ΓΡΑΦΙΚΗ ΔΙΕΠΑΦΗ ΡΥΘΜΙΣΕΩΝ ΤΟΥ PRISMA GATEWAY ΕΙΚΟΝΑ 36: ΕΙΔΟΠΟΙΗΣΕΙΣ ΣΤΗ ΓΡΑΜΜΗ ΕΝΤΟΛΩΝ ΤΟΥ ZWAVEDRIVER ΕΙΚΟΝΑ 37: ΠΑΚΕΤΟ ΕΠΙΚΟΙΝΩΝΙΑΣ PLUGWISE ΕΙΚΟΝΑ 38: ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΤΩΝ ΕΝΤΟΛΩΝ ΚΑΙ ΑΠΟΚΡΙΣΕΩΝ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ PLUGWISE ΕΙΚΟΝΑ 39: ΠΑΚΕΤΟ ΕΠΙΚΟΙΝΩΝΙΑΣ PRISMA ΕΙΚΟΝΑ 40: ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ ΤΟΥ ZWDRIVER ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ XV

16

17 ΛΙΣΤΑ ΠΙΝΑΚΩΝ Λ Ι Σ Τ Α Π Ι Ν Α Κ Ω Ν ΠΙΝΑΚΑΣ 1: ΣΥΓΚΡΙΣΗ ΠΡΩΤΟΚΟΛΛΩΝ ZIGBEE ΚΑΙ Z-WAVE ΠΙΝΑΚΑΣ 2: ΥΠΟΣΤΗΡΙΖΟΜΕΝΟΙ ΚΑΙ ΜΗ ΕΛΕΓΚΤΕΣ ΑΠΟ ΤΟ OPEN-ZWAVE ΠΙΝΑΚΑΣ 3: ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ ΤΗΣ ΥΠΗΡΕΣΙΑΣ SMART PLUG ΠΙΝΑΚΑΣ 4: ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ ΤΗΣ ΥΠΗΡΕΣΙΑΣ SMART CLAMPER ΠΙΝΑΚΑΣ 5: ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ ΤΗΣ ΥΠΗΡΕΣΙΑΣ SENSOR BOARD ΠΙΝΑΚΑΣ 6: : ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ ΤΗΣ ΥΠΗΡΕΣΙΑΣ ZWAVE ΠΙΝΑΚΑΣ 7: ΑΠΛΟ ΜΗΝΥΜΑ ΔΕΔΟΜΕΝΩΝ ΣΕ XML ΑΠΟ ΕΝΑ CURRENT COST ΚΑΙ ΜΗΝΥΜΑ ΙΣΤΟΡΙΚΟΥ 98 ΠΙΝΑΚΑΣ 8: ΚΛΑΣΕΙΣ ΕΝΤΟΛΩΝ ΤΟΥ Z-WAVE ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ XVII

18

19 Κ Ε Φ Α Λ Α Ι Ο 1 : Ε Ι Σ Α Γ Ω Γ Η

20

21 ΛΙΣΤΑ ΠΙΝΑΚΩΝ ΕΙΣΑΓΩΓΗ Αντικείμενο της παρούσας εργασίας είναι η διερεύνηση και η επέκταση ενός πακέτου λογισμικού Διάχυτης Νοημοσύνης με τη χρήση Υπηρεσιών Ιστού. Αρχικά, γίνεται μία επισκόπηση του επιστημονικού πεδίου της Διάχυτης Νοημοσύνης και των εφαρμογών της. Μέσω αυτής της επισκόπησης διακρίνεται η εκτεταμένη χρήση των Υπηρεσιών Ιστού για την ανάπτυξη διάχυτων εφαρμογών. Στη συνέχεια παρουσιάζονται τα πακέτα συσκευών που χρησιμοποιήθηκαν για τη διαμόρφωση ευφυούς περιβάλλοντος και τα πρωτόκολλα με τα οποία γίνεται εφικτή η ασύρματη επικοινωνία μεταξύ τους. Η διαχείριση αυτών των συσκευών γίνεται μέσω μιας εποπτικής εφαρμογής που χρησιμοποιεί τις Υπηρεσίες Ιστού. Αυτή η εφαρμογή αποτελείται κυρίως από το ενδιάμεσο λογισμικό awesome, ενώ περιλαμβάνει και βοηθητικές εφαρμογές που παρεμβάλλονται στη διασύνδεση των συσκευών και του ενδιάμεσου λογισμικού. Μέσω της παροχής υπηρεσιών ο χρήστης μπορεί να έχει πρόσβαση στα δεδομένα και τις λειτουργίες των δικτύων έξυπνων συσκευών και αισθητήρων με απομακρυσμένο τρόπο. Η εκπόνηση της εργασίας έγινε στο Εργαστήριο Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού του Τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης και σε συνεργασία με την ομάδα Λογικού Προγραμματισμού και Ευφυών Συστημάτων LPIS ( του τμήματος. Η εργασία δομείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 2 γίνεται μία επισκόπηση του επιστημονικού πεδίου της Διάχυτης Νοημοσύνης και των Υπηρεσιών Ιστού που αποτελούν το υπόβαθρο της εργασίας. Στο Κεφάλαιο 3, παρουσιάζονται οι τεχνολογίες που εμπλέκονται στην ανάπτυξη εφαρμογών Διάχυτης Νοημοσύνης και γίνεται μία παρουσίαση των πακέτων συσκευών που χρησιμοποιήθηκαν στην εργασία και των πρωτοκόλλων επικοινωνίας που ενσωματώνουν. Στο Κεφάλαιο 4, γίνεται η παρουσίαση του ενδιάμεσου λογισμικού awesome και των βοηθητικών εφαρμογών. Στο Κεφάλαιο 5, παρουσιάζεται ο τρόπος υλοποίησης του λογισμικού awesome και των βοηθητικών εφαρμογών. Στο Κεφάλαιο 6, παρουσιάζονται τα συμπεράσματα της εργασίας και πιθανές μελλοντικές επεκτάσεις. Στο Παράρτημα I παρουσιάζονται αλφαβητικά η βιβλιογραφία και οι δικτυακοί τόποι που αναφέρονται στην εργασία. Στο Παράρτημα IΙ παρουσιάζονται τα ακρωνύμια τα οποία χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IIΙ παρουσιάζεται το γλωσσάριο ξενικών όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IV παρουσιάζεται το ευρετήριο των όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 21

22 ΕΙΣΑΓΩΓΗ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 22

23 Κ Ε Φ Α Λ Α Ι Ο 2 : Δ Ι Α Χ Υ Τ Η Ν Ο Η Μ Ο Σ Υ Ν Η

24

25 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Σε αυτό το κεφάλαιο παρουσιάζονται οι τεχνολογίες που σχετίζονται με την εργασία. Γίνεται μία επισκόπηση του αντικειμένου της Διάχυτης Νοημοσύνης (Ambient Intelligence), των Υπηρεσιών Ιστού (Web Services) και γίνεται φανερή η σύνδεσή τους μέσω της Αρχιτεκτονικής Προσανατολισμένης σε Υπηρεσίες (SOA) για την ανάπτυξη συστημάτων ΔΝ. 2.1 ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Επισκόπηση Η Διάχυτη ή Περιβάλλουσα Νοημοσύνη (Ambient Intelligence - AmI) είναι η εξέλιξη του επιστημονικού πεδίου του διάχυτου ή πανταχού παρών υπολογισμού (ubiquitous ή pervasive computing - ubicomp). O διάχυτος υπολογισμός παρουσιάστηκε στα τεχνολογικά δρώμενα στις αρχές της δεκαετίας του 90 από τον Mark Weiser και περιγράφει το όραμα ενός περιβάλλοντος γεμάτου υπολογιστικών μηχανών που περιτριγυρίζουν τον άνθρωπο [1]. Ενώ εκείνη την εποχή η ιδέα φάνταζε φουτουριστική, σήμερα η ενσωμάτωση στην καθημερινότητα έξυπνων μικροσυσκευών με υπολογιστική ισχύ όπως τα έξυπνα τηλέφωνα και οι διάφορες εξελιγμένες συσκευές ψυχαγωγίας που χρησιμοποιούν ασύρματες τεχνολογίες και πρόσβαση στο Διαδίκτυο καθιστούν το διάχυτο υπολογισμό πραγματικότητα. Η διάκριση μεταξύ της ΔΝ και του διάχυτου υπολογισμού έγκειται στην κατηγορία των χρηστών που στοχεύουν τα δύο πεδία. Τα συστήματα ΔΝ απευθύνονται κυρίως σε καταναλωτές που χρησιμοποιούν την τεχνολογία για εφαρμογές ενημέρωσης και ψυχαγωγίας με φιλικές διεπαφές προς αυτούς, ενώ τα συστήματα διάχυτου υπολογισμού απευθύνονται σε πιο προχωρημένους χρήστες με διαφορετικές απαιτήσεις. Η επιστημονική περιοχή της Διάχυτης Νοημοσύνης έχει ως αφετηρία τα σεμινάρια της Philips το 1998, όπου μελετήθηκαν σενάρια για την εξέλιξη ενός καταναλωτή της ηλεκτρονικής βιομηχανίας εκείνης της εποχής, στη μετάβαση σε μία κοινωνία του 2020 όπου πλήρως ενσωματωμένες συσκευές φιλικές προς τον χρήστη υποστηρίζουν διάχυτη πληροφορία, επικοινωνία και ψυχαγωγία. Στη συνέχεια, το 2000, υπήρξαν σχέδια για τη δημιουργία μιας εγκατάστασης αφιερωμένη στη Διάχυτη Νοημοσύνη. Αυτή η εγκατάσταση εγκαινιάστηκε το 2001 με την ονομασία HomeLab. Παράλληλα, το 2001, το ISTAG (IST Programme Advisory Group) έδωσε ώθηση στο όραμα της ΔΝ μέσω ενός κειμένου με τίτλο Σενάρια για τη Διάχυτη Νοημοσύνη το 2010, στα πλαίσια ενός ευρωπαϊκού προγράμματος. Από τότε, η έρευνα πάνω στη ΔΝ έχει εξαπλωθεί σε παγκόσμιο επίπεδο εμπνέοντας ερευνητικά προγράμματα, όπως το Oxygen Project, to GIT Aware Home και το εργαστήριο αλληλεπίδρασης της SONY [2]. Η Διάχυτη Νοημοσύνη αναφέρεται σε ηλεκτρονικά περιβάλλοντα τα οποία διαισθάνονται και αντιδρούν στην παρουσία ανθρώπων. Περιλαμβάνει δύο βασικά χαρακτηριστικά, τη νοημοσύνη και την ενσωμάτωση [3]. Ο όρος νοημοσύνη αναφέρεται στη δυνατότητα του περιβάλλοντος να αναλύει το περιεχόμενο, να προσαρμόζεται στα εσωτερικά του στοιχεία, να μαθαίνει από τη συμπεριφορά τους και εν τέλει να παρουσιάζει ευφυή συμπεριφορά προς αυτά. Ο όρος ενσωμάτωση ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 25

26 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ σημαίνει ότι οι συσκευές σταδιακά θα γίνονται μέρος του παρασκηνίου της ανθρώπινης δραστηριότητας, ενώ η κοινωνικότητα και λειτουργικότητα θα προωθούνται στο προσκήνιο με αποτέλεσμα να μην γίνεται απλή χρήση της τεχνολογίας αλλά ενσωμάτωσής της στην καθημερινή ζωή. Ένα τέτοιο παράδειγμα φαίνεται στην Εικόνα 1. Ο χρήστης περιτριγυρίζεται από έξυπνες συσκευές οι οποίες είναι ενσωματωμένες σε συσκευές καθημερινής χρήσης. Μπορεί μέσω του έξυπνου κινητού του τηλεφώνου ή κάποιας άλλης μικροσυσκευής που κουβαλά μαζί του να παρακολουθεί το περιβάλλον του σπιτιού και εκτελεί ενέργειες σε αυτό, να ελέγχει το αυτοκίνητο του ή να κάνει κάποια εργασία στο γραφείο του απομακρυσμένα. Αισθητήρες μπορούν να παρακολουθούν τη θέση του χρήστη στο χώρο και να χειρίζονται το φωτισμό ή να αλλάζουν κάποια κατάσταση του περιβάλλοντος. Κατά αυτόν τον τρόπο, το περιβάλλον του χρήστη παρουσιάζει νοήμων συμπεριφορά ως προς τις ενέργειες του με την τεχνολογία να έχει ενσωματωθεί διακριτικά στην καθημερινότητα του. Εικόνα 1: Ένα σύστημα Διάχυτης Νοημοσύνης περιβάλλει τον χρήστη Συμβαλλόμενες Τεχνολογίες Η Διάχυτη Νοημοσύνη αποτελεί κομβικό σημείο διάφορων συμβαλλόμενων τεχνολογιών που συνδυάζονται για την παραγωγή ολοκληρωμένων συστημάτων με ευφυή συμπεριφορά. Μία καλή οργάνωση αυτών των τεχνολογιών είναι ο διαχωρισμός τους σε πέντε πεδία (Εικόνα 2), την αίσθηση (sensing), τη συλλογιστική (reasoning), τη δράση (acting), την αλληλεπίδραση ανθρώπου υπολογιστή (human - computer interaction) και την ασφάλεια (security) [3]. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 26

27 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Αίσθηση Εικόνα 2: Οι συμβαλλόμενες τεχνολογίες της Διάχυτης Νοημοσύνης Επειδή το αντικείμενο της Διάχυτης Νοημοσύνης αποσκοπεί στην πρακτική εφαρμογή της σε πραγματικά περιβάλλοντα, η χρήση αισθητήρων ως μέσου αλληλεπίδρασης με το περιβάλλον είναι ζωτικής σημασίας. Οι αισθητήρες είναι μηχανικά εξαρτήματα τα οποία δίνουν τη δυνατότητα σε έναν υπολογιστή να αντιλαμβάνεται το περιβάλλον και μέσω της ροής ψηφιακών δεδομένων και της χρήσης υπολογιστικής δύναμης και αλγορίθμων να το αναλύει ώστε να αποφασίσει για το πώς θα επιδράσει με αυτό. Η σύνθεση μιας ευρείας αντίληψης επιτυγχάνεται με τη χρήση μιας μεγάλης ποικιλίας αισθητήρων. Υπάρχουν αισθητήρες προσδιορισμού θέσης, ανίχνευσης καπνού και χημικών και μέτρησης υγρασίας, φωτισμού, ηλεκτρικού ρεύματος, ακτινοβολίας, θερμοκρασίας, ήχου, πίεσης, αντοχής, ταχύτητας και κατεύθυνσης καθώς και αισθητήρες ανθρώπινων λειτουργιών που χρησιμοποιούνται στις υπηρεσίες Υγείας. Γενικά, οι αισθητήρες έχουν μικρό μέγεθος και μπορούν να ενσωματωθούν σε οποιαδήποτε ΔΝ εφαρμογή. Τα ασύρματα δίκτυα αισθητήρων έχουν γίνει ένα αρκετά δημοφιλές αντικείμενο έρευνας τα τελευταία χρόνια. Οι αισθητήρες των ασύρματων δικτύων έχουν πρακτική χρήση στην παρακολούθηση του περιβάλλοντος, στην ανάλυση καταστάσεων και τον έλεγχο κτιρίων. Οι ασύρματοι αισθητήρες χρειάζονται ρεύμα από μπαταρίες. Αυτό απαιτεί την συχνή αλλαγή τους, που στις περισσότερες περιπτώσεις είναι άβολο. Η επεξεργασία των δεδομένων που ρέουν από τους αισθητήρες είναι μια πολύπλοκη διαδικασία. Παρέχουν μεγάλες ποσότητες διαφορετικών δεδομένων, τα οποία μπορεί να προέρχονται από ετερογενή δίκτυα, να περιέχουν θόρυβο και πολλές φορές πρέπει να αναλύονται σε πραγματικό χρόνο. Τα δεδομένα μπορούν να συλλέγονται και να επεξεργάζονται από έναν κεντρικό εξυπηρετητή, είτε να επεξεργάζονται σταδιακά σε τοπικό επίπεδο πριν προωθηθούν στο δίκτυο, ενώ πάγια τακτική είναι η αποθήκευσή τους σε βάσεις δεδομένων για την εξαγωγή συμπερασμάτων και στατιστικών. Συλλογιστική Οι ικανότητες της αίσθησης και της δράσης των συστημάτων ΔΝ είναι οι συνδετικοί κρίκοι μεταξύ του περιβάλλοντος και των χρηστών, με το έξυπνο λογισμικό που χρησιμοποιεί ευφυείς αλγόριθμους. Αυτοί οι αλγόριθμοι προσδίδουν νοημοσύνη στο σύστημα και για να επιτευχτεί αυτό πρέπει να αξιοποιούνται κάποια μοντέλα συλλογιστικής. Αυτά τα μοντέλα περιλαμβάνουν τη μοντελοποίηση χρηστών, την πρόβλεψη και αναγνώριση δραστηριότητας, τη λήψη αποφάσεων και τη χωρική-χρονική συλλογιστική. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 27

28 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Ένα πετυχημένο λογισμικό Διάχυτης Νοημοσύνης πρέπει να είναι σε θέση να ανταποκρίνεται με αποδοτικό τρόπο στις ανάγκες του χρήστη. Γι αυτό είναι απαραίτητο να περιλαμβάνει ευφυείς αλγόριθμους που μοντελοποιούν τη συμπεριφορά του με ακριβή τρόπο ώστε να είναι σε θέση να ανταποκρίνεται αποτελεσματικά στις ανάγκες του. Μία σωστή μοντελοποίηση μπορεί να αποδώσει μεγάλο βαθμό προσαρμοστικότητας στο περιβάλλον και τυχόν αλλαγές στο σύστημα πρέπει να προβλέπονται και να ανιχνεύονται αποτελεσματικά. Επί προσθέτως, το τεράστιο πλήθος δεδομένων που προέρχεται από τους αισθητήρες αποτελεί μεγάλη πρόκληση για τους υπολογιστικές ικανότητες ενός τέτοιου συστήματος. Οι μεγάλες ροές τέτοιων δεδομένων επεξεργάζονται από συστήματα εξόρυξης δεδομένων για την αναγνώριση προτύπων ώστε να δημιουργηθούν κανόνες που μοντελοποιούν τη συμπεριφορά του συστήματος. Μία ικανότητα των αλγορίθμων συλλογιστικής είναι η παρακολούθηση και η πρόβλεψη των δραστηριοτήτων του περιβάλλοντος. Αυτή η έρευνα περιλαμβάνει κυρίως έξυπνα οικιακά περιβάλλοντα που περιλαμβάνουν δίκτυα αισθητήρων που καταγράφουν δεδομένα σχετικά με τη θέση και τις δραστηριότητες των κατοίκων. Με βάση το μοντέλο χρήσης το σύστημα θα πρέπει να είναι σε θέση να προβλέπει τη θέση και τις ενέργειες ενός κατοίκου ώστε να ανταποκρίνεται στις ανάγκες του με αυτοματισμένες διαδικασίες. Χρησιμοποιώντας τα συλλεγμένα δεδομένα και κάποιες τεχνικές μάθησης μπορεί να σχεδιαστεί ένα μοντέλο δραστηριοτήτων που βοηθάει τον κάτοικο στις δραστηριότητες του ή του τις υπενθυμίζει αν είναι σημαντικές. Για την κατασκευή ενός αυτοματοποιημένου συστήματος είναι απαραίτητο να χρησιμοποιηθούν κατάλληλες τεχνικές λήψης απόφασης. Οι αποφάσεις κυρίως αφορούν την εκτέλεση ενεργειών χωρίς την παρεμβολή του χρήστη. Για το σχεδιασμό τέτοιων αλγορίθμων μπορούν να χρησιμοποιηθούν συστήματα σχεδιασμού της τεχνητής νοημοσύνης, όπως ευφυείς πράκτορες, νευρωνικά δίκτυα και συστήματα κανόνων. Η σημαντικότερη παράμετρος ενός συστήματος ΔΝ είναι ο χρήστης. Συνεπώς, οποιαδήποτε λήψη απόφασης γίνεται με βάση αυτόν, και για να επιτευχτεί αυτό, πληροφορίες όπως η θέση του στο χώρο και οι ενέργειές του σε κάποια χρονική περίοδο είναι ζωτικής σημασίας για την σκιαγράφηση του προφίλ του χρήστη. Ο σχεδιασμός μιας συλλογιστικής στο χώρο και τον χρόνο χρησιμοποιεί πολλούς αλγορίθμους της τεχνητής νοημοσύνης για να αναλύει την κίνηση των ανθρώπων και να βγάλει συμπεράσματα για τη συμπεριφορά τους σε ένα δωμάτιο. Πληροφορίες για τη θέση και τη χρονική στιγμή μπορούν να πυροδοτήσουν σενάρια περιπτώσεων και να εμποδίσουν επικίνδυνες καταστάσεις. Ένα χαρακτηριστικό σενάριο έχει ως εξής. Κάποιος βάζει σε λειτουργία το φούρνο. Το σύστημα ΔΝ ανιχνεύει τον αναμμένο φούρνο, το άτομο να εξέρχεται από το δωμάτιο και εν τέλει ο αισθητήρας πίεσης στο κρεβάτι να ανιχνεύει ότι το άτομο έχει ξαπλώσει. Μετά από μία περίοδο κάποιων χρονικών μονάδων, ενεργοποιείται μία συνθήκη όπου το άτομο δεν έχει επιστρέψει καμία στιγμή στην κουζίνα και ο αισθητήρας του κρεβατιού είναι ακόμα ενεργοποιημένος. Η συνθήκη στέλνει μία προειδοποίηση, είτε δρα με βάση κάποια συλλογιστική και κλείνει το φούρνο. Δράση Τα συστήματα ΔΝ αλληλεπιδρούν με το εξωτερικό περιβάλλον μέσω της αίσθησης και της δράσης. Οι έξυπνες συσκευές αποτελούν ένα μέσο δράσης και ανάδρασης με το εξωτερικό περιβάλλον και τους χρήστες. Μία άλλη προσέγγιση είναι μέσω της ρομποτικής. Μία προσέγγιση σύνδεσης της ΔΝ με τις ρομποτικές ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 28

29 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ τεχνολογίες αποτελούν τα συστήματα PEIS (Physically Embedded Intelligence Systems) [4]. Τα συστήματα PEIS ενώνουν τα πεδία της ΔΝ και των αυτόνομων ρομποτικών συστημάτων (Εικόνα 3), με σκοπό να δημιουργήσουν προσωπικά ρομπότ που υπηρετούν ανθρώπους σε οικιακά περιβάλλοντα. Τέτοια συστήματα περιλαμβάνουν αυτόνομους καθαριστές, έξυπνες συσκευές, έξυπνες διεπαφές χρήστη και εξειδικευμένα ρομπότ που μετακινούν αντικείμενα και εκτελούν βοηθητικές λειτουργίες. Εικόνα 3: Αριστερά: Η μελέτη των συστημάτων PEIS - Ecologies βρίσκεται στην τομή πολλών διαφορετικών πεδίων, Δεξιά: Το λογότυπο του PEIS Ecology Ένα ακόμη ρομποτικό μοντέλο είναι το icat. Κύρια χαρακτηριστικά του είναι η αναγνώριση φωνής και οι σερβοκινητήρες που κινούν τα μηχανικά μέρη του προσώπου του, ώστε να ανταποκρίνονται στην έκφραση συνθημάτων (Εικόνα 4). Το icat παρουσιάζει την καινοτομία της δράσης με βάση τα συναισθήματα του ανθρώπου, σε αντίθεση με τα περισσότερα έξυπνα συστήματα που βασίζουν τη συμπεριφορά τους σε σενάρια περιπτώσεων και σε λογικούς κανόνες. Εικόνα 4: Απεικόνιση των εκφράσεων του icat ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 29

30 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Αλληλεπίδραση Ανθρώπου Υπολογιστή Η σημαντικότερη ίσως ειδοποιός διαφορά της ΔΝ, από το πεδίο του διάχυτου υπολογισμού είναι ο τρόπος που αλληλεπιδρούν ο άνθρωπος με τον υπολογιστή. Στη ΔΝ δίνεται μεγάλη έμφαση σε ανθρωποκεντρικές διεπαφές που είναι φυσικές και έχουν επίγνωση του περιεχομένου τους. Ο όρος επίγνωση περιεχομένου (context awareness), αποδίδεται στην ικανότητα της συσκευής, στην οποία έχει υλοποιηθεί η διεπαφή, να γνωρίζει πληροφορίες σχετικά με τη θέσης της και την κατάσταση της, δηλαδή μία μορφή συνείδησης της κατάστασης της συσκευής. Τέτοιες εφαρμογές χρησιμοποιούνται σε συσκευές που εξοπλίζουν δωμάτια και γραφεία, όπως καθρέφτες, τραπέζια, τοίχοι και οθόνες σε συσκευές ή έπιπλα που απεικονίζουν πληροφορίες για το φωτισμό, τη θερμοκρασία και άλλες καταστάσεις, είτε προσφέρουν κάποια μορφή διάδρασης για ταυτόχρονη παρακολούθηση και έλεγχο (Εικόνα 5). Η μεγάλη μελέτη πάνω στις διεπαφές χρήστη έχει ωθήσει τη χρήση τους και εκτός των αποκλειστικά οικιακών και γραφειακών εφαρμογών. Πλέον, μελετούνται και σχεδιάζονται διεπαφές που ενσωματώνονται σε διαφόρου τύπου κτίρια, όπως σχολεία και νοσοκομεία, ενώ υπάρχουν σχέδια ακόμα και για ολόκληρες πόλεις με τέτοιες εφαρμογές. Εικόνα 5: Αριστερά: Διαδραστικό τραπέζι, Δεξιά: Έξυπνος καθρέφτης Ασφάλεια και Προστασία της Ιδιωτικότητας Η Διάχυτη Νοημοσύνη προσφέρει ένα πλήθος πλεονεκτημάτων στους χρήστες, όπως ο έλεγχος του περιβάλλοντος τους και μείωση της προσπάθειας που απαιτείται για την εκτέλεση διάφορων ενεργειών. Από την άλλη άκρη όμως, ο προσφερόμενος έλεγχος μπορεί να χαθεί ή να παραβεί από κάποια λάθος ενέργεια του υπολογιστή ή από κάποια κακόβουλη ενέργεια ενός τρίτου προσώπου. Επίσης, εξίσου επικίνδυνο σενάριο είναι η υποκλοπή πληροφοριών από τρίτους. Η συλλογή τεράστιου πλήθους πληροφοριών πολλές φορές είναι ανεπιθύμητη από πολλούς χρήστες γιατί δημιουργεί το συναίσθημα της καταπάτησης της ιδιωτικότητας. Ένα ακόμη ενδεχόμενο ρίσκο, είναι και η λήψη λανθασμένων ή αλλοιωμένων δεδομένων από τους αισθητήρες. Οι λύσεις που δίνονται σε αυτές τις περιπτώσεις περιλαμβάνουν κρυπτογράφηση των δεδομένων, περιορισμένη πρόσβαση και ιεραρχία χρηστών, καθώς και χαρακτηρισμό της πληροφορίας ως δημόσια ή προσωπική. Τέλος, ο σχεδιαστής του συστήματος έχει να προβλέψει την αξιοπιστία των δεδομένων, το χειρισμό των λαθών, τα προβλήματα εγκατάστασης και τα λάθη του λογισμικού. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 30

31 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Εφαρμογές Υπάρχουν πολλοί τομείς της καθημερινότητας και της εργασίας που μπορεί να βελτιώσει ή να επεκτείνει η διάχυτη νοημοσύνη. Πολλές εφαρμογές της μελετούνται και δοκιμάζονται σε πραγματικά περιβάλλοντα με ρεαλιστικούς στόχους. Πολλές από αυτές επιτυγχάνουν στην βελτίωση της ποιότητας της ζωής μας και νέες κάνουν την εμφάνιση τους στο προσκήνιο. Μπορούμε να κατηγοριοποιήσουμε τα είδη των εφαρμογών σε θεματικούς τομείς της καθημερινότητας, ανάλογα με τη λειτουργίες και τους σκοπούς που εκπληρώνουν. Αυτοί οι τομείς είναι τα κτίρια και οι κατοικίες, η εργασία και οι επιχειρήσεις, η εκπαίδευση, η περίθαλψη, το εμπόριο, οι μεταφορές (Εικόνα 6), ενώ νέοι τομείς προστίθενται με την ανακάλυψη και εξέλιξη των διάχυτων τεχνολογιών. Στη συνέχεια αναλύονται μερικοί από αυτούς τους τομείς. Εικόνα 6: Βασικοί θεματικοί τομείς των εφαρμογών Διάχυτης Νοημοσύνης Έξυπνα Σπίτια Ένα από τα σημαντικότερα πεδία εφαρμογής των τεχνολογιών της διάχυτης νοημοσύνης είναι τα έξυπνα σπίτια και οι οικιακοί αυτοματισμοί. Υπάρχουν πολλά μέρη και αντικείμενα σε ένα σπίτι τα οποία μπορούν να εμπλουτιστούν με αισθητήρες. Μερικά από αυτά είναι μπορεί να είναι ηλεκτρικές συσκευές όπως φούρνοι και πλυντήρια, έπιπλα όπως καναπέδες και κρεβάτια, συσκευές κλιματισμού και εξαερισμού ή άλλες ηλεκτρονικές συσκευές. Οι στόχοι που επιδιώκονται αφορούν την αύξηση της ασφάλειας, της άνεσης και της ευκολίας και την οικονομία στην κατανάλωση ενέργειας. Στη συνέχεια παρουσιάζονται μερικά παραδείγματα έξυπνων σπιτιών και χώρων που ενσωματώνουν πλήθος διάχυτων τεχνολογιών. Η Google δραστηριοποιείται στον τομέα της παρακολούθησης και της εξοικονόμησης ενέργειας με το έργο Google PowerMeter 1. Το Google PowerMeter 1 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 31

32 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ προσπάθησε να αφυπνίσει την συνείδηση των καταναλωτών σχετικά με την ενεργειακή τους συμπεριφορά. Αυτό επιτυγχανόταν μέσω της συλλογής ενεργειακών δεδομένων και της παρουσίασής τους στους κατοίκους του σπιτιού. Επιπλέον δυνατότητες της εγκατάστασης, εκτός από την οπτικοποίηση των δεδομένων, ήταν ο διαμοιρασμός αυτών δεδομένων και η διάδραση με τη μορφή συμβουλών προς τους ενοίκους, με σκοπό την ενεργειακή εξοικονόμηση. Το πρόγραμμα πετύχαινε εξοικονόμηση ενέργειας μέχρι και 11%, ενώ έληξε το Σεπτέμβριο του Ένα παράδειγμα οικιακού περιβάλλοντος με ευφυή συμπεριφορά είναι το Gator Tech Smart House (GTSH) 2. Ουσιαστικά, πρόκειται για ένα πειραματικό εργαστήριο στο οποίο δοκιμάζονται κινητές και διάχυτες τεχνολογίες. Το GTSH επικεντρώνεται στη διαμόρφωση συνθηκών στο σπίτι που βοηθούν και υποστηρίζουν ηλικιωμένους και άτομα με κινητικά προβλήματα. Το σπίτι έχει εξοπλιστεί πλήρως με αισθητήρες και συσκευές δράσης και παράγει ένα μεγάλο αριθμό δεδομένων, τα οποία διοχετεύονται μέσω μίας δέσμης υπηρεσιών OSGi. Ένα άλλο φιλόδοξο έργο, το οποίο προαναφέρθηκε, είναι το HomeLab της Philips [5]. Περιλαμβάνει τους βασικούς χώρους ενός σπιτιού (σαλόνι, κουζίνα, υπνοδωμάτια, τουαλέτα, αναγνωστήριο) και εξ αρχής δεν φαίνεται να είναι διαφορετικό από οποιοδήποτε άλλο σπίτι. Παρόλα αυτά, είναι εξοπλισμένο με κάμερες και μικρόφωνα, τα οποία διοχετεύουν βίντεο και ήχο σε τερματικούς σταθμούς σε ένα γειτονικό δωμάτιο παρατήρησης. Αυτά τα δεδομένα επεξεργάζονται με τεχνικές ανάλυσης συμπεριφοράς και εξόρυξης δεδομένων και μπορούν διατεθούν μέσω ενσύρματης ή ασύρματης σύνδεσης στον εξωτερικό κόσμο. Επιπλέον, υπάρχει ένα σύστημα ελέγχου που επιτρέπει τον έλεγχο του φωτισμού και των πριζών μέσω απομακρυσμένης σύνδεσης. Ο σκοπός αυτού του προγράμματος εστιάζεται προς τρεις κατευθύνσεις, το διαμοιρασμό εμπειριών, την ανάγκη για ενδιαφέροντες δραστηριότητες και χαλάρωση και την ανάγκη εξισορρόπησης και οργάνωσης της καθημερινότητας. Εικόνα 7: Το σαλόνι του HomeLab και το δωμάτιο παρατήρησης 2 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 32

33 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Ένα ευφυΐες υπνοδωμάτιο κατασκευάστηκε στα πλαίσια του ερευνητικού έργου ispace με την ονομασία idorm 3. Ένα απλό φοιτητικό δωμάτιο διαμορφώθηκε και εξοπλίστηκε κατάλληλα με έξυπνες συσκευές οι οποίες επικοινωνούν μεταξύ τους, καταγράφοντας την συμπεριφορά του χρήστη και διοχετεύοντας τα δεδομένα τους σε μία ομάδα πρακτόρων που συντονίζουν τις ενέργειες τους με σκοπό να βελτιώσουν την ποιότητα ζωής του ενοίκου. Το σύστημα εκθέτει τις λειτουργίες του ως υπηρεσίες, στις οποίες επιτρέπεται απομακρυσμένη πρόσβαση διάφορων δικτύων (Διαδίκτυο, GS, κα). Η κοινή διεπαφή που επιτρέπει την πρόσβαση είναι υλοποιημένη σε Universal Plug and Play (UPnP). Το δωμάτιο περιέχει διάχυτους αισθητήρες θερμοκρασίας, φωτισμού, υγρασίας, ανιχνευτές κίνησης, κάμερες και συσκευές δράσης που ελέγχουν τον κλιματισμό, την ασφάλεια και το φυσικό και τεχνητό φωτισμό. Μέσω των ευφυϊών πρακτόρων το δωμάτιο βελτιώνεται ως προς την ασφάλεια, την άνεση και την οικονομία. Ένα σύστημα που χρησιμοποιεί πράκτορες σε μεγάλο βαθμό είναι το MavHome [6]. Το MavHome χρησιμοποιεί εύρος αισθητήρων για την αντίληψη του περιβάλλοντος και ενεργεί σε αυτό μέσω συσκευών δράσης. Με τη χρήση λογικών πρακτόρων και μηχανικής μάθησης το σύστημα είναι ικανό να προβλέπει, να εφαρμόζει συλλογιστικές και να προσαρμόζεται στη συμπεριφορά των κατοίκων του σπιτιού. Υγεία και Ιατρική Η διάχυτη νοημοσύνη μπορεί να βελτιώσει την ποιότητα της περίθαλψης και μακρόπνοα να οδηγήσει σε μείωση του κόστους στην υγεία, με εφαρμογές στη συνταγογράφηση, στην παρακολούθηση ασθενών στην εργαστηριακή έρευνα και ακολούθως στη διάγνωση και στη θεραπεία. Οι εφαρμογές αυτές μπορούν να αφορούν τόσο οικιακούς χώρους, όσο και χώρους νοσοκομείων και κλινικών. Στην πρώτη κατηγορία μπορεί να παρέχεται αυτοματοποιημένη βοήθεια στο σπίτι σε άτομα με φυσικές και ψυχολογικές ανάγκες ώστε να ζουν ανεξάρτητα και μπορούν να παρακολουθούνται οι ενέργειες τους, η δίαιτα τους και τυχόν αθέμιτες αλλαγές στις δραστηριότητές τους. Άλλες παροχές είναι η υπενθύμιση εργασιών και η κοινωνική διασύνδεση ατόμων που ζουν απομονωμένα. Όσον αφορά τα νοσοκομεία, τεχνικές της ΔΝ που υπάρχουν ήδη σε έξυπνα σπίτια μπορούν να μεταφερθούν και να εγκατασταθούν στους κλινικούς χώρους ενισχύοντας την ασφάλεια των ασθενών παρακολουθώντας την υγεία των ασθενών και των ζωτικών τους ενδείξεων. Το προσωπικό του νοσοκομείου μπορεί να οργανωθεί καλύτερα, να μειωθεί ο φόρτος εργασίας λόγω της αλλαγής του τρόπου παρακολούθησης των ασθενών και να γίνει πιο αποτελεσματική η αντιμετώπιση έκτατων περιστατικών εντοπίζοντας και ειδοποιώντας έγκαιρα και αποτελεσματικά γιατρούς και νοσοκόμους. Μία φιλόδοξη τεχνολογία που αφορά τον τομέα της ιατρικής είναι η Ευφυής Μικτή Πραγματικότητα (Intelligent Mixed Reality), που ενσωματώνει διεπαφές υπολογιστών στο πραγματικό περιβάλλον, δίνοντας τη δυνατότητα της διάδρασης με αυτό στον χρήστη. Ρόλος κλειδί αυτής τεχνολογίας είναι η Κινητή Μικτή Πραγματικότητα (Mobile Mixed Reality) που απευθύνεται στους χρήστες των κινητών τηλεφώνων και τους παρέχει πληροφορίες σχετικά με τα ενσωματωμένα αντικείμενα του περιβάλλοντος με ενισχυμένο τρόπο (3D, εικόνα, βίντεο, ήχο, 3 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 33

34 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ γραφικά) [7]. Τα σενάρια χρήσης αυτών των τεχνολογιών περιλαμβάνουν έξυπνες πινακίδες, εικονικούς βοηθούς και επαυξημένη πραγματικότητα συνδυασμένη με ροή πολυμέσων. Η ενσωματωμένη πληροφορία βασίζεται σε παράγοντες όπως η θέση του χρήση στο χώρο, αναγνώριση της κατάστασης του και οι προτιμήσεις του και οι υπολογιστικές ικανότητες των συσκευών και του δικτύου. Εν κατακλείδι, γίνεται ένας συνδυασμός τεχνολογιών που περιλαμβάνει ασύρματα δίκτυα, βιομετρικές συσκευές και αισθητήρες που προσαρμόζονται σε ανθρώπους, αυξητική ή εικονική πραγματικότητα και ασύρματη επικοινωνία. Μεταφορές Ο τομέας των μεταφορών έχει πολλές δυνατότητες ενσωμάτωσης τεχνολογιών διάχυτης νοημοσύνης. Σταθμοί τρένων, λεωφορεία, αυτοκίνητα και άλλα μεταφορικά μέσα μπορούν να εξοπλιστούν κατάλληλα ώστε να παρέχονται πληροφορίες σχετικά με την κατάστασή και την απόδοσή τους και αναλόγως μπορούν να γίνουν διορθωτικές ενέργειες. Οι δημόσιες συγκοινωνίες μπορούν να επωφεληθούν από τεχνολογίες όπως ο εντοπισμός θέσης μέσω GPS, αναγνώριση οχήματος και επεξεργασία εικόνας. Υπολογιστικά συστήματα μπορούν να συλλέγουν πληροφορίες σχετικά με τις συνήθειες του οδηγού από αισθητήρες στα εξαρτήματα του οχήματος και από τις κινήσεις ή και τις εκφράσεις του οδηγού. Έτσι, με βάση το τεχνητό μοντέλο οι κινήσεις του οδηγού μπορούν να προβλεφθούν και αν αποκλίνουν από το μοντέλο κανόνων μπορούν να εμφανιστούν ενδείξεις, είτε το ίδιο το σύστημα να δράσει διορθωτικά. Ένα έργο που ασχολείται με τις δημόσιες μεταφορές και προτείνει τεχνικές και κοινωνικές λύσεις στο θέμα της ασφάλειας στις μεταφορές είναι το PRISMATICA [8]. To PRISMATICA είναι ένα ενοποιημένο σύνολο λειτουργιών που περιλαμβάνει αισθητήρες, συσκευές παρακολούθησης, εποπτικά τερματικά και διεπαφές ανθρώπου-υπολογιστή. Τα βασικά εξαρτήματα του συστήματος αποτελούν ο κεντρικός εποπτικός υπολογιστής MIPSA, διαμορφωμένος ειδικά για επικοινωνία με έξυπνες συσκευές, ένα σύστημα ευφυϊών καμερών και επιμέρους τοπικά δίκτυα καμερών, ασύρματη επικοινωνία μεταξύ αισθητήρων, οχημάτων και σημείων ελέγχου, σύστημα ηχητικής παρακολούθησης και εισιτήρια έξυπνων καρτών. Επί γραμματικά, μερικές δυνατότητες του συστήματος παρακολούθησής του είναι η ανίχνευση παρείσακτων σε απαγορευμένες περιοχές, μέτρηση επιβατών και ουρών, μέτρηση ρυθμών συγκέντρωσης ανθρώπων, ανίχνευση ατόμων που πηγαίνουν ανάποδα ή στέκονται για αφύσικα μεγάλα διαστήματα. Εκπαίδευση Η διάχυτη νοημοσύνη εισέρχεται στο χώρο της εκπαίδευσης με έξυπνους χώρους διδασκαλίας για την ενίσχυση της μαθησιακής διαδικασίας. Οι τάξεις μπορούν να εξοπλιστούν με διαδραστικούς πίνακες, μικρόφωνα, συσκευές απεικόνισης βίντεο και διαφανειών. Έξυπνα σενάρια μπορούν να διαμορφωθούν ελέγχοντας τις συνθήκες της αίθουσας (φωτισμός, συσκευές προβολής), ανάλογα με το σενάριο που έχει αναγνωριστεί. Οι φυσικές ενέργειες των καθηγητών και των μαθητών επιδέχονται την κατάλληλη απόκριση από το περιβάλλον. Με τη χρήση κατάλληλων μικροσυσκευών είναι δυνατή η επικοινωνία μεταξύ μαθητών για ομαδικές συζητήσεις, είτε για διαμοιρασμό σημειώσεων από το διδάσκοντα την ώρα της διδασκαλίας. Επίσης, μέσω της παρακολούθησης των δραστηριοτήτων και της εκδήλωσης ενδιαφέροντος των μαθητών, οι καθηγητές θα μπορούν να επιβλέπουν την πρόοδό τους και να τους αναθέτουν νέες εργασίες. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 34

35 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ 2.2 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Η εξέλιξη και η διάδοση των διάχυτων τεχνολογιών όπως τα συστήματα αυτοματισμών, οι κινητές συσκευές, οι οικιακοί αυτοματισμοί και τα έξυπνα δίκτυα δημιούργησαν μία νέα επανάσταση στις τεχνολογίες διαδικτύου διαμορφώνοντας μία νέα έννοια, το Διαδίκτυο των Πάντων (Internet of Things). Επεκτείνοντας τις υπάρχουσες διαδικτυακές αρχιτεκτονικές, έρχεται να προσφέρει δυνατότητες ευελιξίας και επεκτασιμότητας και περιλαμβάνει πλήθος ενσωματωμένων συσκευών και δικτύων αυξάνοντας το μέγεθος και το εύρος του υπάρχοντος Διαδικτύου. Δύο βασικά χαρακτηριστικά του Διαδικτύου των Πάντων είναι η ευφυΐα, με τη μορφή της διάχυτης νοημοσύνης και ο αυτόνομος έλεγχος που θέτει ως προαιρετική τη χρήση των δομών του Διαδικτύου. Αυτή η ευφυής συμπεριφορά γίνεται αντιληπτή μέσω ευφυών οντοτήτων, των Υπηρεσιών Ιστού και των δομών της Αρχιτεκτονικής Προσανατολισμένης σε Υπηρεσίες, που προσδίδουν διαλειτουργικότητα και αυτονομία ως προς το περιεχόμενο, τις προϋποθέσεις και το περιβάλλον στο οποίο δρουν Αρχιτεκτονική SOA Συστήματα SOA σε περιβάλλοντα Διάχυτης Νοημοσύνης Η Αρχιτεκτονική Προσανατολισμένη σε Υπηρεσίες (Service Oriented Architecture - SOA) αποτελεί ένα σύνολο μεθοδολογιών για τη σχεδίαση συστημάτων με βάση διαλειτουργικές υπηρεσίες που αποτελούν λειτουργίες του λογισμικού και έχουν την ιδιότητα της επαναχρησιμοποίησης. Η βασική δομή ενός τέτοιου συστήματος περιλαμβάνει τρεις οντότητες, τον πάροχο της υπηρεσίας, τον καταναλωτή της υπηρεσίας που χρησιμοποιεί την υπηρεσία και τον μεσίτη υπηρεσιών που γνωστοποιεί και δημοσιεύει τις υπηρεσίες. Οι υπηρεσίες του μοντέλου τηρούν γενικά κάποιες αρχές, όπως αφαιρετικότητα, αυτονομία, συνθεσιμότητα, δυνατότητα ανακάλυψης, χαλαρή σύνδεση, επαναχρησιμοποίηση και απόκρυψη προέλευσης. Η καταλληλότερη προσέγγιση για ένα σύστημα διάχυτης νοημοσύνης με βάση το SOA είναι οι Υπηρεσίες Ιστού, οι οποίες χρησιμοποιούν πρωτόκολλα και τεχνολογίες του διαδικτύου ανεξάρτητα από πλατφόρμες και λειτουργικά συστήματα. Ένα παράδειγμα για την οργάνωση και τη χρήση κατανεμημένων δυνατοτήτων που μπορεί να ανήκουν σε διαφορετικούς ιδιοκτήτες. Παρέχει έναν ομοιόμορφο τρόπο για να προσφέρει, να ανακαλύπτει, να αλληλεπιδρά και να χρησιμοποιεί δυνατότητες ώστε να παράγει επιθυμητά αποτελέσματα τα οποία είναι συνεπή σε μετρήσιμες προϋποθέσεις και προσδοκίες, όπως ορίζεται από το OASIS [9]. Αρχιτεκτονικές Ενδιάμεσου Λογισμικού Το ενδιάμεσο λογισμικό (middleware) είναι ένα επίπεδο λογισμικού που τοποθετείται νοητικά ανάμεσα στα δικτυακά λειτουργικά συστήματα και στο επίπεδο εφαρμογών. Στόχος της χρήσης ενδιάμεσων λογισμικών είναι η αντιμετώπιση προβλημάτων όπως η διανομή, η ετερογένεια και η κινητικότητα στα περιβάλλοντα διάχυτης νοημοσύνης. Πρέπει να παρέχουν αφαιρετικότητα ως προς την ετερογένεια των υπολογιστικών συστημάτων και των δικτύων για την επίτευξη διαλειτουργικότητας μεταξύ συσκευών και πρωτοκόλλων, αφαιρετικότητα ως προς τις διάχυτες λειτουργίες των συσκευών, λειτουργίες για δυναμική δημοσιοποίηση, τοποθέτηση και πρόσβαση και επίγνωση των χαρακτηριστικών του συστήματος που δεν προσφέρουν ευχρηστία και λειτουργικότητα [10]. Το ενδιάμεσο λογισμικό δεν ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 35

36 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ παρέχει διαφάνεια και απευθύνεται άμεσα στους χρήστες, κρύβοντας χαρακτηριστικά της υλοποίησης του. Κλήσεις ως προς αυτό γίνονται μέσω των μηχανισμών των εφαρμογών και τα αποτελέσματα της διάδρασης μπορεί να παρουσιάζονται άμεσα, είτε να μεσολαβούν ευφυείς μηχανισμοί όπως συστήματα λήψης αποφάσεων και συλλογιστικές. Ένα τέτοιο σύστημα που χρησιμοποιεί ενδιάμεσο λογισμικό παρουσιάζεται στην Εικόνα 8. Ενώ υπάρχουν διάφορα είδη και αρχιτεκτονικές ενδιάμεσων λογισμικών, καταλληλότερο για την ανάπτυξη διάχυτων εφαρμογών θεωρείται το ενδιάμεσο λογισμικό προσανατολισμένο σε υπηρεσίες (Service Oriented Middleware), το οποίο χρησιμοποιεί την αρχιτεκτονική SOA για να παρέχει όλες τις απαραίτητες λειτουργίες των συσκευών με αφαιρετικό τρόπο ως υπηρεσίες. Αυτό το μοντέλο μπορεί να εξασφαλίσει στο παραγόμενο λογισμικό χαρακτηριστικά που προσφέρουν οι υπηρεσίες ιστού όπως δημοσιοποίηση, ταίριασμα και σύνθεση των υπηρεσιών, πρόσβαση σε αυτές μέσω αυτών των μηχανισμών και ποιότητα υπηρεσιών (Quality of Service). Υπάρχουν διάφορα ερευνητικά προγράμματα που ασχολούνται με ενδιάμεσα λογισμικά για πλατφόρμες διάχυτης νοημοσύνης. Αναφορικά, μερικά από αυτά είναι τα Oxygen 4, WSAMI 5, Aura 6 και Hydra 7. Συγκεκριμένα, το Hydra λόγω της έκτασης και της σημασίας του, ως ένα σύγχρονο ενδιάμεσο λογισμικό υπηρεσιών, παρουσιάζεται αναλυτικότερα παρακάτω. Εικόνα 8: Αρχιτεκτονική με ενδιάμεσο λογισμικό σε σύστημα ΔΝ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 36

37 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Το Ενδιάμεσο Λογισμικό Hydra Το έργο Hydra αναπτύσσει ενδιάμεσο λογισμικό για ενσωματωμένα συστήματα δικτύων που επιτρέπει σε προγραμματιστές να δημιουργήσουν εφαρμογές διάχυτης νοημοσύνης χρησιμοποιώντας δίκτυα συσκευών και αισθητήρων. Το Hydra είναι συνδυασμός αρχιτεκτονικής προσανατολισμένη σε υπηρεσίες (SOA) και μοντελοκεντρικής αρχιτεκτονικής (MDA) και περιλαμβάνει γενικευμένες υπηρεσίες βασισμένες σε ανοικτά πρότυπα. Ένας στόχος του είναι η δημιουργία ενδιάμεσου λογισμικού που λειτουργεί με περιορισμένους πόρους, όπως κατανάλωση και μνήμη και υπολογιστική ισχύ. Η διαλειτουργικότητα των διεργασιών και των ετερογενών υποδομών, υπηρεσιών και συσκευών του λογισμικού απευθύνεται σε τρία πεδία εφαρμογών, στους οικιακούς αυτοματισμούς, στην υγειονομική περίθαλψη και στη γεωργία [11]. Το ενδιάμεσο λογισμικό Hydra, το οποίο πρόσφατα μετονομάστηκε σε LinkSmart, είναι ένα ευφυές επίπεδο λογισμικού που τοποθετείται ανάμεσα στο λειτουργικό σύστημα και στις εφαρμογές. Περιέχει ένα μεγάλο αριθμό εξαρτημάτων και εργαλείων διαχείρισης που χειρίζονται τις εργασίες οι οποίες είναι απαραίτητες σε ευφυείς εφαρμογές των ενσωματωμένων συστημάτων δικτύων. Παρέχει εύχρηστες διεπαφές υπηρεσιών ιστού που ελέγχουν και διαχειρίζονται πολλά είδη φυσικών συσκευών ανεξάρτητα από την τεχνολογία δικτύου που υλοποιούν. Στηρίζεται σε μια σημασιολογική μοντελοκεντρική αρχιτεκτονική και ενσωματώνει τρόπους ανακάλυψης συσκευών και υπηρεσιών, επικοινωνία μέσω δικτύων ομότιμων κόμβων (per-to-peer) και διαγνωστικές λειτουργίες. Εικόνα 9: Αρχιτεκτονική του λογισμικού Hydra Η δομή του λογισμικού χωρίζεται σε δύο μέρη: στα Στοιχεία Εφαρμογών (Application Elements) και στα Στοιχεία Συσκευών (Device Elements), τα οποία διαφέρουν ως προς τους στόχους που εκπληρώνουν τα μέρη τους και ως προς τους χρήστες και τους προγραμματιστές που απευθύνονται [12]. Τα στοιχεία εφαρμογής περιγράφουν μέρη του λογισμικού που αφορούν το υλικό και έχουν σχεδιαστεί ώστε να τρέχουν σε ισχυρότερες μηχανές, υποστηρίζοντας εφαρμογές όπως ολοκληρωμένα ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 37

38 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ συστήματα οικιακού αυτοματισμού. Τα στοιχεία συσκευής περιγράφουν μέρη που συνήθως εγκαθίστανται σε συσκευές του Hydra οι οποίες μπορεί να είναι μικρές με περιορισμένους πόρους και λειτουργικότητα. Το ενδιάμεσο λογισμικό περικλείεται από το φυσικό επίπεδο και το επίπεδο εφαρμογών. Το φυσικό επίπεδο περιλαμβάνει δικτυακά πρωτόκολλα όπως τα ZigBee, Bluetooth ή LAN. Το επίπεδο εφαρμογών περιλαμβάνει εφαρμογές χρηστών που περιέχουν λειτουργίες όπως διαχείριση εργασιών, διεπαφή χρήστη, προσαρμοσμένης λογικής και λεπτομέρειες διαμόρφωσης. Τα δύο αυτά επίπεδα δεν ανήκουν στο Hydra, το οποίο αποτελείται από τα επίπεδα δικτύου, υπηρεσιών και σημασιολογικό. Η πλήρης αρχιτεκτονική του ενδιάμεσου λογισμικού δίνεται στην Εικόνα 9. Η έρευνα στο έργο Hydra αφορά τα επιστημονικά πεδία της αρχιτεκτονικής ενσωματωμένης διάχυτης νοημοσύνης, της ασύρματης επικοινωνίας και δικτύων και της αρχιτεκτονικής προσανατολισμένη σε υπηρεσίες. Στις εφαρμογές Hydra οποιαδήποτε φυσική συσκευή, αισθητήρας ή υποσύστημα θεωρείται ως υπηρεσία ιστού. Το ενδιάμεσο λογισμικό δεν παρέχει διαφάνεια ως προς τις λεπτομέρειες σχετικά με τα είδη των συσκευών και των δικτύων, με σκοπό να κάνει πιο εύκολη την ανάπτυξη εφαρμογών παρέχοντας ανοικτές διεπαφές, θύρες επικοινωνιών και διαχείριση μνήμης. Επίσης, παρέχονται λειτουργίες διαχείρισης του δικτύου, δρομολόγησης δεδομένων, διαχείρισης συνόδων επικοινωνίας και συγχρονισμού οντοτήτων στο δίκτυο. Το τμήμα του Hydra που αφορά το δίκτυο, μπορεί να διασύνδεει συσκευές, χρήστες, τερματικά και κτίρια με την αρχιτεκτονική SOA να παρέχει διαλειτουργικότητα σε συντακτικό επίπεδο. Ωστόσο, το λογισμικό παρέχει και σημασιολογική διαλειτουργικότητα επεκτείνοντας τις υπηρεσίες του σε σημασιολογικές υπηρεσίες ιστού. Οι δυνατότητες των συσκευών μπορούν να περιγράφονται σημασιολογικά, ώστε να γίνονται κατανοητές από πράκτορες που τις κατανοούν και τις χρησιμοποιούν. Η σημασιολογική περιγραφή στο Hydra βασίζεται σε οντολογίες OWL, OWL-S και SAWSDL Υπηρεσίες Ιστού Μία έννοια που είναι άμεσα συνδεδεμένη με τα συστήματα Διάχυτης Νοημοσύνης είναι οι Υπηρεσίες Ιστού (Web Services) και μάλιστα σε τέτοιο βαθμό που θεωρούνται αναπόσπαστο κομμάτι της. Αυτή η τάση αντιμετωπίζει τα δεδομένα και τις λειτουργίες ως υπηρεσίες, οι οποίες μπορούν να χρησιμοποιηθούν από τους χρήστες επαναχρησιμοποιώντας υπάρχουσες υλοποιήσεις και ενώνοντας ανεξάρτητα συστήματα. Είναι κατάλληλες για τα συστήματα ΔΝ γιατί προσδίδουν την αφαιρετικότητα που είναι απαραίτητη για τη χρήση των υποσυστημάτων τους, που πλέον απεικονίζονται ως υπηρεσίες [13]. Η πρακτική των Υπηρεσιών Ιστού δίνει τη δυνατότητα διασύνδεσης ετερογενών συστημάτων επιτρέποντας καθολική πρόσβαση, στοιχείο που καθιστά τη χρήση τους ως ζωτικής σημασίας για ένα σύστημα που ενώνει και διαχειρίζεται διάχυτες εφαρμογές. Αυτά τα συστήματα είναι δομημένα στα πρότυπα του SOA, ενώ πάγια τακτική είναι η χρήση ενός ενδιάμεσου λογισμικού που υλοποιεί τη διασύνδεση έξυπνων συσκευών εκθέτοντας τις λειτουργίες τους ως υπηρεσίες. Μία Υπηρεσία Ιστού είναι ένα σύστημα λογισμικού σχεδιασμένο να υποστηρίζει διαλειτουργική αλληλεπίδραση μηχανής-προς-μηχανή σε ένα δίκτυο. Έχει μία διεπαφή που περιγράφεται σε μία επεξεργάσιμη από τον υπολογιστή μορφή (συγκεκριμένα την WSDL). Τα άλλα συστήματα αλληλεπιδρούν με την Υπηρεσία Ιστού με έναν τρόπο που καθορίζεται από την περιγραφή της χρησιμοποιώντας μηνύματα ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 38

39 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ SOAP, τα οποία συνήθως μεταφέρονται χρησιμοποιώντας το πρωτόκολλο HTTP με σειριοποίηση σε XML σε συνδυασμό με άλλα πρότυπα του Ιστού, όπως ορίζεται από το W3C [14]. Service Broker Registry 2. Discover 1. Publish WSDL WSDL f(x) 3. Bind & Invoke SOAP Web Services Service Requester Service Provider Εικόνα 10: Αρχιτεκτονική Υπηρεσιών Ιστού Ο τρόπος που κάποιος βρίσκει μία υπηρεσία και επικοινωνεί μαζί της περιγράφεται από μία καλά δομημένη αρχιτεκτονική, την Αρχιτεκτονική Υπηρεσιών Ιστού (Web Services Architecture - WSA), που απεικονίζεται στην Εικόνα 10. Η υπηρεσία δημοσιεύεται από έναν πάροχο (service provider) ο οποίος τοποθετεί σε έναν κατάλογο την WSDL περιγραφή της. Κάποιος που ενδιαφέρεται να χρησιμοποιήσει την υπηρεσία, επικοινωνεί με το μεσίτη υπηρεσιών (service broker), αναζητά την υπηρεσία που χρειάζεται στον κατάλογο του (registry) και όταν την ανακαλύπτει ανακτά το WSDL αρχείο της. Σε αυτό το σημείο, ο μεσίτης υπηρεσιών παρεμβάλλεται και ο αιτών της υπηρεσίας (service requester), αφού πλέον γνωρίζει την τοποθεσία της υπηρεσίας, επικοινωνεί απευθείας μαζί της ανταλλάσοντας μηνύματα SOAP. Οι υπηρεσίες που χρησιμοποιούν το πρωτόκολλο HTTP και τις μεθόδους του, ονομάζονται RESTful (REpresentational State Transfer). Το REST είναι ένα αρχιτεκτονικό στυλ, κατά το οποίο δεν γίνεται χρήση του SOAP, χρησιμοποιούνται αδήλωτα μηνύματα και τεχνολογίες του Διαδικτύου όπως το μοντέλο πελάτηδιακομιστή και οι πόροι των υπηρεσιών αναγνωρίζονται από ένα URI. Υποστηρίζονται κυρίως από τις WSDL 2.0 περιγραφές που δεν βρίσκουν ακόμη μεγάλη υποστήριξη από τα διάφορα εργαλεία ανάπτυξης. Ένα από τα μεγαλύτερα πλεονεκτήματα των Υπηρεσιών Ιστού είναι η διαλειτουργικότητα. Οι Υπηρεσίες Ιστού συνήθως δεν είναι περιορισμένες σε ιδιωτικά δίκτυα, αλλά είναι διαθέσιμες σε ευρύτερα σύνολα τερματικών τα οποία έχουν πρόσβαση στα λειτουργικά τους δίκτυα ή στο Διαδίκτυο. Επιπλέον, μπορούν να σχεδιαστούν από οποιαδήποτε γλώσσα προγραμματισμού προτιμά ο προγραμματιστής και είναι σχεδόν ανεξάρτητες του συστήματος, εξαιτίας της χρήσης εδραιωμένων προτύπων στην πληροφορική και τις τηλεπικοινωνίες. Είναι χρηστικές και ευέλικτες, καθώς δίνουν τη δυνατότητα να αναπτύσσονται εφαρμογές από τη ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 39

40 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ μεριά του πελάτη που επιλέγουν τις συγκεκριμένες υπηρεσίες που χρειάζονται, χωρίς να υλοποιούν οι ίδιες στο λογισμικό τους τις λειτουργίες κάποιου συστήματος. Επίσης, είναι επαναχρησιμοποιήσιμες και έχουν τη δυνατότητα ευρείας ανάπτυξης σε μεγάλα δίκτυα και στο Διαδίκτυο συνδέοντας διαφορετικές πλατφόρμες και εφαρμογές Χαρακτηριστικά Υπηρεσιών Ιστού Πρωτόκολλα και Γλώσσες Η βάση των Υπηρεσιών Ιστού είναι η δυνατότητα για περιγραφή μηνυμάτων, χαρακτηριστικών και λειτουργιών. Αυτό επιτυγχάνεται με τη χρήση της γλώσσας XML (Extensible Markup Language). Η XML χρησιμοποιείται για την σήμανση δεδομένων σε μορφή κατανοητή από τον άνθρωπο. Η γλώσσα είναι επεκτάσιμη, αφού μπορεί να χρησιμοποιηθεί για να ορίσει άλλες γλώσσες βασισμένες στην XML, γεγονός που εκμεταλλεύονται τα ανωτέρου επιπέδου πρωτόκολλα των Υπηρεσιών Ιστού. Το SOAP (Simple Object Access Protocol) είναι ένα πρωτόκολλο που χρησιμοποιείται για τη μετάδοση δομημένων και τυποποιημένων πληροφοριών με τη χρήση της γλώσσας XML [15]. Το SOAP παρέχει έναν τρόπο επικοινωνίας μεταξύ εφαρμογών που χρησιμοποιούν Κλήσεις Απομακρυσμένων Διαδικασιών (Remote Procedure Calls) και είναι ανεξάρτητο λειτουργικού συστήματος, γλώσσας προγραμματισμού και άλλων πρωτόκολλων. Μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλα πρωτόκολλα, όπως το HTTP που υποστηρίζεται από πολλά προγράμματα για την επικοινωνία μέσω Διαδικτύου και από εξυπηρετητές, αλλά και από τα SMTP, TCP. Όσον αφορά τη λειτουργία του, μία εφαρμογή πελάτη επικαλείται μία διαδικασία σε έναν απομακρυσμένο διακομιστή, μεταδίδοντας ένα μήνυμα SOAP σε αυτόν. Το μήνυμα αναγνωρίζει την απομακρυσμένη μέθοδο και μεταφέρει τις παραμέτρους της ως αντικείμενα. Όταν χρησιμοποιείται το HTTP ως το μέσο μεταφοράς, στέλνεται ένα μήνυμα της μεθόδου HTTP POST από την εφαρμογή πελάτη για να αρχίσει η μετάδοση με μηνύματα SOAP. Ο διακομιστής εκτελεί την απομακρυσμένη διαδικασία και επιστρέφει τα αποτελέσματα ως αντικείμενα μέσα σε ένα μήνυμα SOAP. Το πρωτόκολλο SOAP αποτελείται από τρία μέρη: Φάκελος SOAP (SOAP envelope): προσδιορίζει μία υποδομή που εκφράζει το περιεχόμενο ενός φακέλου, ποιος το διαχειρίζεται και αν είναι προαιρετικό ή επιτακτικό. Κανόνες κωδικοποίησης SOAP (SOAP encoding rules): ορίζουν ένα μηχανισμό τυποποίησης που χρησιμοποιείται στην ανταλλαγή τύπων δεδομένων που έχουν οριστεί από τις εφαρμογές. RPC Αναπαράσταση SOAP (SOAP RPC representation): ορίζει μία σύμβαση για την αναπαράσταση κλήσεων απομακρυσμένων διαδικασιών και απαντήσεων. Συγκεκριμένα, στο παράδειγμα που ακολουθεί, φαίνονται τα βασικά στοιχεία ενός μηνύματος SOAP που περιέχεται σε ένα μήνυμα HTTP. Μία αίτηση SOAP με όνομα GetLastTradePrice στέλνεται στην υπηρεσία StockQuote. Η αίτηση έχει μία παράμετρο τύπου συμβολοσειράς και επιστρέφει έναν τύπο float στην απάντηση SOAP. Το ανώτερο στοιχείο είναι το SOAP Envelope ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 40

41 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ και αναπαριστά ένα μήνυμα SOAP. Μέσα σε αυτό ορίζονται κάποιες κωδικοποιήσεις της XML, ενώ οι πληροφορίες του μηνύματος περιέχονται μέσα στο στοιχείο SOAP Body. POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV:Envelope xmlns:soap-env=" SOAP- ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Το παραπάνω μήνυμα ακολουθεί μία απάντηση SOAP, ενσωματωμένη σε μήνυμα HTTP: HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:soap-env=" SOAP- ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Για την περιγραφή μίας Υπηρεσίας Ιστού χρησιμοποιείται η δηλωτική γλώσσα WSDL, μία ακόμη επέκταση της XML. Εκτενής περιγραφή της γλώσσας ακολουθεί στο επόμενο υποκεφάλαιο. Η προγραμματιστική διεπαφή (API) που χρησιμοποιείται για την ανακάλυψη υπηρεσιών στον Παγκόσμιο Ιστό ονομάζεται Universal Description Discovery & Integration (UDDI), κάνει χρήση της γλώσσας XML και χρησιμοποιεί το πρωτόκολλο SOAP. Το UDDI είναι ο ορισμός ενός συνόλου υπηρεσιών που υποστηρίζουν την περιγραφή και την ανακάλυψη επιχειρήσεων, οργανισμών και άλλων παρόχων υπηρεσιών, των Υπηρεσιών Ιστού που κάνουν διαθέσιμες και των διεπαφών που χρησιμοποιούνται για την πρόσβαση σε αυτές τις υπηρεσίες [16]. Το UDDI σε συνδυασμό με τα υπόλοιπα πρότυπα του Ιστού, δομούν ένα περιβάλλον βασισμένο σε υπηρεσίες που είναι είτε δημοσίως διαθέσιμες, είτε αποκλειστικά εσωτερικές σε μία επιχείρηση. Όσον αφορά την επιχείρηση, οι πληροφορίες που μπορούν να καταχωρούνται σε έναν κατάλογο UDDI αποθηκεύονται σε τρία στοιχεία, τις Λευκές Σελίδες (White Pages) που περιέχουν βασικές πληροφορίες και στοιχεία επικοινωνίας της επιχείρησης, τις Κίτρινες Σελίδες (Yellow Pages) που περιέχουν περισσότερες πληροφορίες σχετικά με την επιχείρηση και τις Πράσινες Σελίδες (Green Pages) που ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 41

42 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ περιέχουν τεχνικές πληροφορίες για μία Υπηρεσία Ιστού. Το μοντέλο UDDI περιγράφει τέσσερις τύπους αντικειμένων: businessentity: περιγράφει ανεξάρτητες επιχειρήσεις που παρέχουν Υπηρεσίες Ιστού. Αυτά τα αντικείμενα περιέχουν πληροφορίες όπως η διεύθυνση της επιχείρησης και τα στοιχεία επικοινωνίας της. businessservice: περιγράφει τις διαθέσιμες υπηρεσίες. Οι πληροφορίες που περιέχουν αφορούν το όνομα της υπηρεσίας και την περιγραφή της καθώς και αντικείμενα bindingtemplate. bindingtemplate: περιγράφει την τοποθεσία ενός αντικειμένου και τον τρόπο πρόσβασης σε αυτό. Περιλαμβάνει το σημείο πρόσβασης της υπηρεσίας και λεπτομέρειες για το πρωτόκολλο που χρησιμοποιείται. tmodel: περιγράφει το μοντέλο της διεπαφής. Περιλαμβάνει δείκτες στα αρχεία WSDL και πληροφορίες για τη διεπαφή. Οι Υπηρεσίες Ιστού χρησιμοποιούν μία πληθώρα τεχνολογιών και πρωτοκόλλων. Πολλά από αυτά φαίνονται στην Εικόνα 11 σε ιεραρχική δομή, από τα εργαλεία κατώτερου επιπέδου, ως τις ανωτέρου επιπέδου τεχνολογίες για την ανάπτυξη υπηρεσιών στη γλώσσα προγραμματισμού Java. Η χρήση των Υπηρεσιών Ιστού είναι ευρέως διαδεδομένη, υποστηρίζονται από τις πιο διαδεδομένες γλώσσες προγραμματισμού, παρουσιάζουν μεγάλο ερευνητικό ενδιαφέρον και πρακτικές εφαρμογές. Εικόνα 11: Τεχνολογίες και εργαλεία των Υπηρεσιών Ιστού Περιγραφή Υπηρεσιών Ιστού Η περιγραφή μιας Υπηρεσίας Ιστού υλοποιείται από τη γλώσσα WSDL. Πρακτικά, οποιαδήποτε αλληλεπίδραση με μία υπηρεσία προϋποθέτει τη χρήση της WSDL περιγραφής της και αποτελεί το μοναδικό συνδετικό κρίκο της υπηρεσίας με τον εξωτερικό κόσμο. Η WSDL είναι μία περιγραφική γλώσσα που χρησιμοποιεί τη σύνταξη της XML για να περιγράφει Υπηρεσίες Ιστού ως ένα σύνολο τελικών σημείων τα οποία χειρίζονται μηνύματα που περιέχουν δεδομένα [14]. Δηλαδή, χρησιμοποιείται για να περιγράψει μια υπηρεσία, δίνοντας πληροφορίες για το τι κάνει, πώς μπορεί κάποιος να την βρει και να την χρησιμοποιήσει, καθώς και πληροφορίες για τις λειτουργίες και τα δεδομένα που ανταλλάσει. Ο χρήστης της υπηρεσίας δεν γνωρίζει τίποτα για ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 42

43 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ την υλοποίηση της και την εσωτερική της λειτουργία και δεν χρειάζεται να αναπτύξει κάποιο ειδικό λογισμικό, ενώ παρέχονται όλες οι πληροφορίες για τις λειτουργίες που εκτελεί και τα πρωτόκολλα με τα οποία ανταλλάσει μηνύματα. Εικόνα 12: Παρουσίαση των εννοιών που ορίζονται από τα WSDL 1.1 και WSDL 2.0 Υπάρχουν δύο εκδόσεις της WSDL, η 1.1 και η 2.0. Τα στοιχεία της WSDL μπορούν να διαχωριστούν σε δύο γενικά τμήματα, στο αφηρημένο και στο συγκεκριμένο. Οι έννοιες που ορίζει μία περιγραφή WSDL 1.1, όπως φαίνεται στην Εικόνα 12, είναι οι εξής: Types: περιέχει τους ορισμούς των τύπων δεδομένων χρησιμοποιώντας ένα σύστημα τύπων, όπως το XSD (XML Schema Document). Συγκεκριμένα, τα WSDL χρησιμοποιούν την παγιωμένη μέθοδο μορφοποίησης W3C XML Schema, ενώ αν οι τύποι δεδομένων που χρησιμοποιούνται είναι ακέραιοι και συμβολοσειρές το στοιχείο των types δεν χρειάζεται. Στο παράδειγμα που ακολουθεί, ορίζεται ένα στοιχείο types με δύο τύπους δεδομένων, το tickersymbol που περιέχει έναν τύπο συμβολοσειράς και το TradePrice που περιέχει ένα τύπο float. <types> <schema targetnamespace=" xmlns=" <element name="tradepricerequest"> <complextype> <all> <element name="tickersymbol" type="string"/> </all> </complextype> </element> <element name="tradeprice"> <complextype> <all> <element name="price" type="float"/> </all> </complextype> </element> </schema> </types> ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 43

44 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Message: ένας αφηρημένος γραπτός ορισμός των δεδομένων που ανταλλάσσονται. Υπάρχουν δύο είδη, τα εισερχόμενα για τις παραμέτρους της υπηρεσίας και τα εξερχόμενα για τα δεδομένα που επιστρέφονται. Στο παράδειγμα, περιγράφονται δύο στοιχεία message, ένα εισερχόμενο μήνυμα SayHelloRequest τύπου συμβολοσειράς και ένα εξερχόμενο μήνυμα SayHelloResponse τύπου επίσης συμβολοσειράς. <message name="sayhellorequest"> <part name="firstname" type="xsd:string"/> </message> <message name="sayhelloresponse"> <part name="greeting" type="xsd:string"/> </message> Operation: μία αφηρημένη περιγραφή ενεργειών που υποστηρίζονται από την υπηρεσία. Υπάρχουν τρία είδη, τα μονής κατεύθυνσης όπου η υπηρεσία λαμβάνει ένα εισερχόμενο μήνυμα, τα αίτησης-απάντησης όπου η υπηρεσία δέχεται ένα μήνυμα και στέλνει μία απάντηση και τα ζήτησης-απάντησης όπου η υπηρεσία στέλνει ένα μήνυμα και περιμένει για μία απάντηση. Port Type: ένα αφηρημένο σύνολο από operations που υποστηρίζεται από ένα ή περισσότερα τελικά σημεία. Στο παράδειγμα, το στοιχείο porttype περιέχει ένα operation που λέγεται sayhello που περιγράφεται από ένα εισερχόμενο μήνυμα SayHelloRequest και ένα εξερχόμενο μήνυμα SayHelloResponse. <porttype name="hello_porttype"> <operation name="sayhello"> <input message="tns:sayhellorequest"/> <output message="tns:sayhelloresponse"/> </operation> </porttype> Binding: ένα πρωτόκολλο και μία προδιαγραφή τύπου δεδομένων για ένα συγκεκριμένο port type. Περιέχει τις λεπτομέρειες που χρειάζονται για τη μετάδοση ενός operation, δηλαδή τα πρωτόκολλα επικοινωνίας που θα χρησιμοποιηθούν, όπως τα SOAP, HTTP GET και HTTP POST. Στο παράδειγμα, ορίζεται ένα binding με όνομα Hello_Binding για το porttype με όνομα Hello_PortType που χρησιμοποιεί το πρωτόκολλο SOAP για τη μετάδοσή του. <binding name="hello_binding" type="tns:hello_porttype"> <soap:binding style="rpc" transport=" <operation name="sayhello"> <soap:operation soapaction="sayhello"/> <input> <soap:body encodingstyle=" namespace="urn:examples:helloservice" use="encoded"/> </input> <output> <soap:body ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 44

45 ΚΕΦΑΛΑΙΟ 2: ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ encodingstyle=" namespace="urn:examples:helloservice" use="encoded"/> </output> </operation> </binding> Port: ένα τελικό σημείο που ορίζεται ως συνδυασμός ενός binding και μίας διεύθυνσης δικτύου. Το στοιχείο περιέχει τον URL σύνδεσμο για ένα πρωτόκολλο του binding. Service: μία συλλογή από ports. Δίνει πληροφορίες στις εφαρμογές του πελάτη της υπηρεσίας για το από πού θα βρει την υπηρεσία και με τη χρήση ποιου port, ενώ περιέχει και ένα πεδίο documentation που περιέχει πληροφορίες για το χρήστη. Στο παράδειγμα, ορίζεται ένα service με όνομα Hello_Service που περιέχει ένα port με όνομα Hello_Port με τη URL διεύθυνση της υπηρεσίας. <service name="hello_service"> <documentation>wsdl File for HelloService</documentation> <port binding="tns:hello_binding" name="hello_port"> <soap:address location=" </port> </service> Η WSDL 2.0 κληρονομεί τη βασική δομή της 1.1, αλλά παρουσιάζει κάποιες αλλαγές τόσο στις αφηρημένες περιγραφές, όσο και στις συγκεκριμένες. Συγκεκριμένα, το αρχικό στοιχείο definitions επονομάστηκε σε description, το στοιχείο porttype σε interface, το στοιχείο port σε endpoint και το στοιχείο messages αφαιρέθηκε τελείως. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 45

46

47 Κ Ε Φ Α Λ Α Ι Ο 3 : Τ Ε Χ Ν Ο Λ Ο Γ Ι Ε Σ Κ Α Ι Σ Υ Σ Κ Ε Υ Ε Σ Σ Τ Η Δ Ι Α Χ Υ Τ Η Ν Ο Η Μ Ο Σ Υ Ν Η

48

49 ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ 3.1 ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΠΡΩΤΟΚΟΛΛΑ Σε αυτήν την υποενότητα παρουσιάζονται οι τεχνολογίες τις οποίες υλοποιούν τα πακέτα συσκευών που επιλέχθηκαν για την ανάπτυξη της εργασίας. Αυτές οι τεχνολογίες βασίζονται κυρίως σε πρωτόκολλα επικοινωνίας. Με βάση τη μελέτη αυτών των πρωτοκόλλων και των ιδιομορφιών των εκάστοτε συσκευών, γίνεται δυνατή η ανάπτυξη εφαρμογών που διαχειρίζονται και ελέγχουν αυτές τις συσκευές Επισκόπηση Η συνεχής ανάπτυξη νέων τεχνολογιών και η παραγωγή έξυπνων συστημάτων που τις ενσωματώνουν, δίνουν ώθηση στο πεδίο της Διάχυτης Νοημοσύνης. Η τεχνολογική πρόοδος έρχεται να λύσει πολλά προβλήματα τα οποία περιόριζαν την εφαρμογή της επιστημονικής έρευνας. Οι νέες λύσεις απαντούν στα προβλήματα του ενεργειακού και χρηματικού κόστους όσον αφορά τη δικτύωση μικροσυσκευών και τα φέρνουν σε χώρους σπιτιών και επιχειρήσεων. Μέσω της ενσωμάτωσης των τεχνολογιών πληροφορικής, τα συστήματα επικοινωνούν μεταξύ τους προσδίδοντας άνεση, ενεργειακή αποδοτικότητα και ασφάλεια στα στους κτιριακούς και οικιακούς αυτοματισμούς. Εικόνα 13: Δίκτυα ασύρματων συσκευών έλεγχου και αίσθησης σε ένα ευφυΐες οικιακό περιβάλλον Τα συστήματα αυτοματισμού περιλαμβάνουν κεντρικό έλεγχο του φωτισμού, της θέρμανσης, του κλιματισμού και του εξαερισμού (HVAC) μέσω συσκευών. Αυτές οι συσκευές χρησιμοποιούν ενσύρματες ή ασύρματες τεχνολογίες, οι οποίες υλοποιούνται μέσω διαφόρων πρωτοκόλλων επικοινωνίας, ειδικά κατασκευασμένα για αυτού του είδους τις εφαρμογές. Αυτά τα πρωτόκολλα μπορεί να χρησιμοποιούν την εσωτερική καλωδίωση ρεύματος του κτιρίου για τη μετάδοση ηλεκτρικών σημάτων, όπως τα X10 και INSTEON, είτε να επικοινωνούν ασύρματα μέσω ραδιοσυχνοτήτων, όπως τα νεότερα ZigBee και Z-Wave. Στη συνέχεια, εξετάζεται αναλυτικότερα δομή και η λειτουργία αυτών των τεχνολογιών.

50 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Τεχνολογίες και Πρωτόκολλα Επικοινωνίας X10, INSTEON και πρωτόκολλα καλωδίωσης ρεύματος To Χ10 είναι ένα διεθνές και ανοικτό πρότυπο για επικοινωνία μεταξύ ηλεκτρονικών συσκευών που αναπτύχθηκε το 1975 από την Pico Electronics, με σκοπό τη χρήση σε οικιακούς αυτοματισμούς (domotics), ενώ ήταν το πρώτο πρωτόκολλο που αναπτύχτηκε για αυτό το σκοπό. Σε πρώτη φάση χρησιμοποιεί τις φορείς καλωδίωσης ρεύματος (Power Line Carrier) για τη μετάδοση σημάτων, τα οποία περιέχουν ραδιοσυχνότητες που αντιπροσωπεύουν την ψηφιακή πληροφορία. Επίσης, ορίζει και πρωτόκολλο ασύρματης επικοινωνίας. Το X10 μεταδίδει σήματα στη συχνότητα των 120 KHz μέσω των καλωδίων και στη συχνότητα 310 KHz για ΗΠΑ και 433 KHz για Ευρώπη στην ασύρματη επικοινωνία, μεταφέροντας κωδικούς και εντολές από ένα ελεγκτή στις υπόλοιπες συσκευές. Οι ρυθμοί μετάδοσης που επιτυγχάνονται είναι της τάξης των 20 bps, καθιστώντας το πρωτόκολλο τόσο αργό ώστε στην πράξη εκτελεί κυρίως πολύ απλές ενέργειες, όπως το άνοιγμα ή το κλείσιμο μιας συσκευής. Σε γενικές γραμμές, το πρωτόκολλο θεωρείται πολύ αργό, μη αξιόπιστο, αρκετά περιορισμένο σε θέματα λειτουργικότητας και δεν υπάρχει η δυνατότητα κρυπτογράφησης των ανταλλασσόμενων πληροφοριών. Το INSTEON είναι μία αξιόπιστη τεχνολογία που απευθύνεται σε οικιακά συστήματα ελέγχου και αυτοματισμούς και αποτελεί εξέλιξη του X10. Υποστηρίζοντας τεχνολογίες καλωδίωσης ρεύματος αλλά και τεχνολογίες ραδιοσυχνοτήτων στοχεύει στον έλεγχο από απόσταση και τον αυτοματισμό συσκευών και εφαρμογών, όπως ο φωτισμός και τα συστήματα ασφαλείας. Αναπτύχθηκε από την SmartLabs και στηρίζεται σε ένα διπλό κατανεμημένο (dualmesh) δίκτυο που στέλνει σήματα μέσω ραδιοσυχνοτήτων και από τα προϋπάρχοντα καλώδια ρεύματος του σπιτιού. Σε αντίθεση με τα υπόλοιπα κατανεμημένα δίκτυα, το δίκτυο INSTEON χρησιμοποιεί όλες τις συσκευές του ως αναμεταδότες, λαμβάνοντας και στέλνοντας κάθε μήνυμα σε όλες τις υπόλοιπες συσκευές του δικτύου. Με την προσθήκη περισσότερων συσκευών, αντί να ζορίζουμε το δίκτυο, στην πραγματικότητα το ενισχύουμε. Άλλα κατανεμημένα δίκτυα χρησιμοποιούν δρομολογητές που μόνο αυτοί αναμεταδίδουν μηνύματα, μειώνοντας την αξιοπιστία τους. Το πρωτόκολλο λειτουργεί στη συχνότητα των KHz με διαμόρφωση κλειδιού δυαδικής ολίσθησης φάσης (BPSK) για τα ηλεκτρικά καλώδια και συχνότητα MHz και διαμόρφωσης FSK για τις ραδιοσυχνότητες, πετυχαίνοντας ρυθμούς μετάδοσης 2.88 kbps και 38.4 kbps αντίστοιχα. Στην ασύρματη μετάδοση οι συσκευές έχουν ορατότητα 45 μέτρων σε ανοιχτό χώρο. Επίσης, παρουσιάζει προς τα πίσω συμβατότητα με το X10, αναγνωρίζοντας εντολές και διευθύνσεις χωρίς να μπορεί να μεταδώσει μηνύματα του πρωτοκόλλου X10. Άλλα πρωτόκολλα που αξίζει να αναφερθούν είναι τα PLC-BUS, EIB, KNX και HomePlug που χρησιμοποιούν κυρίως καλωδίωση ρεύματος για επικοινωνία. Βρίσκουν διάφορες εφαρμογές σε έξυπνα κτίρια και συστήματα οικιακών αυτοματισμών. ZigBee Το ZigBee είναι ένα σύνολο προδιαγραφών που δημιουργήθηκε αποκλειστικά για δίκτυα αισθητήρων και ελεγχόμενων μέσων. Βασίστηκε στο πρότυπο ΙΕΕΕ για ασύρματα προσωπικά δίκτυα περιοχής (WPANs) χαμηλού ρυθμού μετάδοσης δεδομένων και αναπτύχθηκε από την ZigBee Alliance. Η δημιουργία ενός προτύπου για διαλειτουργικούς και ιδιόκτητους ασύρματους αισθητήρες και ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 50

51 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ συστήματα ελέγχου, απαιτεί μικρή καθυστέρηση μνήμης, χαμηλούς ρυθμούς μετάδοσης, χαμηλό κόστος και χαμηλή κατανάλωση ρεύματος. Το πρότυπο ΙΕΕΕ ορίζει το φυσικό επίπεδο (PHY) και το επίπεδο προσπέλασης ελέγχου μέσων (MAC) για χαμηλού ρυθμού WPANs, περιορίζει το ρυθμό μετάδοσης στα 2.4 GHz στην ISM ζώνη και ενσωματώνει χαμηλή κατανάλωση και κόστος. Με βάση τα επίπεδα PHY και MAC, η Z-Wave Alliance ανέπτυξε το πρωτόκολλο ZigBee το Καθιστά ικανή την αμφίδρομη επικοινωνία μεταξύ των μέσων ελέγχου, ταξιδεύει μέτρα και ελέγχει αισθητήρες διαφόρων λειτουργιών. Οι οικιακές και εμπορικές εφαρμογές του περιλαμβάνουν έλεγχο του φωτισμού, ανιχνευτές καπνού και αερίων, συσκευές κλιματισμού, ασφάλειας, αυτόματους μετρητές και επικοινωνία μεταξύ ενός απομακρυσμένου χειριστηρίου και ψηφιακών συσκευών. Το ZigBee και το πρότυπο παρέχουν δίκτυα με συσκευές δύο τύπων, τις συσκευές πλήρους λειτουργίας (Full Function Device) και τις συσκευές περιορισμένης λειτουργίας (Reduced Function Device). Όλες έχουν 64-bit διευθύνσεις, αν και μπορούν να χρησιμοποιηθούν και 16-bit διευθύνσεις για να μειωθεί το μέγεθος του πακέτου. Οι συσκευές FFD πρέπει να είναι συντονιστές δικτύου ή δρομολογητές, ενώ οι καταληκτικές συσκευές που επιδρούν με τον φυσικό κόσμο είναι RFD. Όλα τα ZigBee πρέπει να έχουν κάποιο συντονιστή δικτύου. Ο συντονιστής εγκαθιδρύει το δίκτυο, ενημερώνεται για την κατάσταση του, ενεργεί ως αποθήκη κλειδιών ασφαλείας, διαχειρίζεται και αποθηκεύει τις εισερχόμενες και τις εξερχόμενες πληροφορίες και δρομολογεί μηνύματα μεταξύ κόμβων. Οι δρομολογητές ενεργούν ως μεσολαβητές, διοχετεύοντας την πληροφορία μεταξύ συσκευών. Οι καταληκτικές συσκευές έχουν περιορισμένη λειτουργία με σκοπό την μείωση του κόστους λειτουργίας και της πολυπλοκότητας, ενώ μειώνεται και το κόστος κατασκευής. Εικόνα 14: Οι τοπολογίες αστέρα (Star), συμπλέγματος (Cluster) και κατανεμημένου (Mesh) δικτύου Παρόλο που το ZigBee υποστηρίζει διάφορες τοπολογίες δικτύου, η ZigBee Alliance υποστηρίζει ότι τα βασικά χαρακτηριστικά ορίζουν το ZigBee ως ένα ευφυές, χαμηλού κόστους και κατανάλωσης κατανεμημένο δίκτυο. Είναι καινοτόμο, αυτορυθμιζόμενο, αυτοθεραπευόμενο σύστημα πλεοναζόντων κόμβων. Στα κατανεμημένα δίκτυα οι ασύρματοι κόμβοι επικοινωνούν με τους γειτονικούς τους κόμβους. Αν κάποιος κόμβος αποτύχει οι πληροφορίες αυτόματα δρομολογούνται ώστε να επιτραπεί η λειτουργία των υπόλοιπων κόμβων. Αυτή η πλεονάζουσα, ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 51

52 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ δυναμική συνδεσμολογία συμβάλει στην μικρή ανάγκη συντήρησης, στην αξιοπιστία και στην αθανασία του δικτύου. Χάρη στις ιδιότητες του κατανεμημένου δικτύου, οι κόμβοι μπορούν να επικοινωνούν ανάμεσα από τοίχου και πατώματα κτιρίων, ακόμα και όταν δεν υπάρχει άμεση ορατότητα μεταξύ όλων των κόμβων. Η πιο κοινή όμως τοπολογία είναι του αστέρα. Η βέλτιστη διευθέτηση συμβαίνει όταν οι καταληκτικές συσκευές είναι συγκεντρωμένες κοντά και επικοινωνούν με έναν κοινό δρομολογητή. Αυτή η διευθέτηση επιτυγχάνει και την καλύτερη εξοικονόμηση ρεύματος των μπαταριών. Οι προδιαγραφές του ZigBee αναφέρουν και την τοπολογία δένδρου, όπου ένα μεγάλο δίκτυο ενώνει πολλά μικρότερα δίκτυα αστέρα. Στην Εικόνα 14 παρουσιάζονται οι βασικές τοπολογίες που εφαρμόζονται στα ασύρματα δίκτυα. Εικόνα 15: Η στοίβα του πρωτοκόλλου ZigBee Οι στοίβα του πρωτοκόλλου περιλαμβάνει το φυσικό επίπεδο (PHY), το επίπεδο ελέγχου προσπέλασης μέσων (MAC), το επίπεδο δικτύου (NWK) και το επίπεδο εφαρμογής (APL). Το φυσικό επίπεδο σχεδιάστηκε έτσι ώστε να φιλοξενεί τις ανάγκες για χαμηλό κόστος και ευκολία ενσωμάτωσης στις εφαρμογές που υιοθετούν το ZigBee. Το επίπεδο ελέγχου προσπέλασης μέσων σχεδιάστηκε ώστε να επιτρέπει πολλαπλές τοπολογίες χωρίς μεγάλη πολυπλοκότητα, να μπορεί να διαχειριστεί RFD συσκευές αλλά και μεγάλους αριθμούς συσκευών οι οποίες δεν χρειάζεται να βρίσκονται σε σταθερά σημεία. Το επίπεδο δικτύου επιτρέπει στο δίκτυο να εξαπλώνεται χωρίς την παρουσία ισχυρών ενεργοβόρων πομπών. Επίσης, μπορεί να διαχειριστεί μεγάλους αριθμούς κόμβων χωρίς να δημιουργούνται σχετικά μεγάλες καθυστερήσεις. Στην Εικόνα 15 φαίνεται η διαστρωμάτωση του πρωτοκόλλου, καθώς και χαρακτηριστικά όπως ο πάροχος υπηρεσιών ασφαλείας (SSP) όταν απαιτείται κρυπτογράφηση των ανταλλασσόμενων πλαισίων, το υποεπίπεδο εφαρμογής (APS) και το αντικείμενο συσκευής (ZDO), υπεύθυνα για τη διασύνδεση συγκριμένων συσκευών και την επικοινωνία μεταξύ τους. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 52

53 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Εικόνα 16: Τα λογότυπα των X10, INSTEON, ZigBee και Z-Wave Z-Wave Το Z-Wave είναι μία τεχνολογία κατανεμημένου δικτύου (mesh network) που αναπτύχθηκε το 1999 για ασύρματη επικοινωνία μέσω ραδιοσυχνοτήτων (RF) ειδικά για οικιακές συσκευές. Ο στόχος αυτής της τεχνολογίας ήταν η σχεδίαση προϊόντων που χρησιμοποιούν χαμηλού κόστους και κατανάλωσης πομποδέκτες ραδιοσυχνοτήτων ενσωματωμένα με Z-Wave. Όλες οι συσκευές που περιλαμβάνουν Z-Wave χρησιμοποιούν την ίδια οικογένεια κυκλωμάτων και έτσι μπορούν και επικοινωνούν χρησιμοποιώντας το ίδιο κοινό πρωτόκολλο. Η Z-Wave επικοινωνία έχει βασιστεί στα πρωτόκολλα δικτύων που χρησιμοποιούνται στους υπολογιστές και παρέχει υψηλή αξιοπιστία. Επίσης, οι συσκευές Z-Wave ενεργούν και ως αναμεταδότες, προωθώντας μηνύματα και σε άλλες συσκευές στο δίκτυο. Οι συσκευές Z-Wave δεν χρησιμοποιούν την ίδια συχνότητα που χρησιμοποιούν οι άλλες ασύρματες οικιακές συσκευές, όπως τα τηλέφωνα τα οποία εκπέμπουν στα 2.4 GHz. Η συχνότητα που χρησιμοποιείται ανήκει στην ISM ζώνη μονής συχνότητας με κωδικοποίηση καναλιού Manchester, χρησιμοποιεί την τεχνική κλειδιού ολίσθησης συχνότητας (FSK) και ποικίλει ανάλογα με τη χώρα. Στις ΗΠΑ ορίζεται στα MHz και στην Ευρώπη στα 860 MHz. Αυτό σημαίνει ότι οι συσκευές Z-Wave δεν παρεμβάλλονται με άλλα οικιακές ηλεκτρονικές συσκευές. Η έξοδος είναι 40Kb/sec, κατάλληλη για εφαρμογές αισθητήρων και αυτοματισμού. Επίσης, έχουν πολύ μεγαλύτερη εμβέλεια σήματος. Οι τυπικές εμβέλειες είναι 30 μέτρα για εσωτερικούς χώρους και 100 μέτρα για εξωτερικούς. Η επέκταση του δικτύου είναι δυνατή με τη χρήση περισσοτέρων συσκευών. Κάθε δίκτυο μπορεί να συμπεριλάβει μέχρι και 232 κόμβους. Καθώς όλες οι Z-Wave συσκευές λειτουργούν και ως αναμεταδότες, το σήμα μεταδίδεται από τον έναν στον άλλο και κάθε φορά που αναμεταδίδεται 30 μέτρα εμβέλειας προστίθενται στο δίκτυο. Συνολικά, μπορούν γίνουν 3 μεταπηδήσεις (hops) από συσκευή σε συσκευή για την επέκταση του δικτύου, πριν το πρωτόκολλο τερματίσει την αναμετάδοση του σήματος (Hop kill). Το πρωτόκολλο Z-Wave είναι ένα χαμηλού εύρους ζώνης ημιαμφίδρομο (half duplex) πρωτόκολλο, σχεδιασμένο για χαμηλού κόστους και αυξημένης αξιοπιστίας επικοινωνία που μεταδίδει μικρό όγκο δεδομένων. Αποτελείται από 4 επίπεδα (Εικόνα 17), το επίπεδο ελέγχου πρόσβασης υλικού (MAC layer) που ελέγχει τις ραδιοσυχνότητες, το επίπεδο μεταφοράς (transport layer) που διαχειρίζεται τη μετάδοση και τη λήψη πλαισίων, το επίπεδο δρομολόγησης (routing layer) που ευθύνεται για τη δρομολόγηση των πλαισίων στο δίκτυο και το επίπεδο εφαρμογής (application layer) που διαχειρίζεται τον φόρτο των απεσταλμένων και των ληφθέντων πλαισίων. Στο σχήμα επίσης διακρίνονται οι λειτουργίες που πρέπει να υλοποιεί μία εφαρμογή που διαχειρίζεται Z-Wave συσκευές, όπως η περιοδικές κλήσεις καταγραφής (polls), η διαχείριση γεγονότων (events) και η διαχείριση της ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 53

54 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ κατάστασης (status) και των αναφορών του συστήματος (reports). Εκτενέστερη αναφορά στα χαρακτηριστικά αυτά γίνεται στη συνέχεια της εργασίας. Η Z-Wave Alliance είναι μία κοινοπραξία κατασκευαστών που δημιουργούν προϊόντα βασισμένα στο Z-Wave. Υπάρχουν αρκετές εταιρίες που έχουν υποστηρίζουν το Z-Wave, ανάμεσα τους οι Leviton, Intermatic, και Honeywell προσφέροντας πλήθος συσκευών οικιακού αυτοματισμού. Εικόνα 17: Η στοίβα του πρωτοκόλλου Z-Wave ενσωματωμένη σε εφαρμογή Σύγκριση των πρωτοκόλλων ZigBee και Z-Wave Το ZigBee, όπως προαναφέρθηκε, είναι ένα πρωτόκολλο ασύρματης επικοινωνίας που λειτουργεί με ασφάλεια και αξιοπιστία σε χαμηλούς ρυθμούς μετάδοσης δεδομένων σε ένα δίκτυο χαμηλής ενεργειακής κατανάλωσης. Στοχεύοντας σε αισθητήρες, αυτοματισμούς, και εφαρμογές ελέγχου για τη βιομηχανία, το εμπόριο και τις οικιακές εγκαταστάσεις έχει παρόμοια λειτουργία, εφαρμογές, αγοραστικό κοινό και ονοματολογία προϊόντων με το πρωτόκολλο Z- Wave. Ο Πίνακας 1 συγκρίνει τις δύο τεχνολογίες, χωρίς να εμβαθύνει πολύ σε όλες τις πτυχές των πρωτοκόλλων [17]. Οι δυνατότητες που παρουσιάζει το ZigBee είναι σημαντικά περισσότερες από αυτά που προσφέρει το Z-Wave. Μεγαλύτερο μέγεθος δικτύου, ποικίλες τοπολογίες, πιο εκτενής αναμετάδοση πλαισίων καθιστούν το Z- Wave ως υποσύνολο του ZigBee. Αυτό είναι λογικό αφού το Z-Wave από την αρχή σχεδιάστηκε ως ένα ελαφρύ ασύρματο πρωτόκολλο για οικιακές εφαρμογές, θέτοντας όρια στο δίκτυο, την τοπολογία και τα χαρακτηριστικά του πρωτοκόλλου. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 54

55 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Z-Wave from Zensys IEEE / ZigBee RF/ PHY Layer U.S. U.E. U.S. U.E. U.S./ U.E. Operation Frequency (MHz) Number of channels Max. data rate (Kbit) Modulation FSK, GFSK, narrowband BPSK/BPSK/O-PQSK, DSSS Avr. distance between nodes (free space) 30m/ 100ft 30m/ 100ft Addressing/ MAC Layer Nodes per network Up to 232 nodes Up to 64K, depending on the topology Node s address Assigned by primary controller 64 bits IEEE address, optional short address assigned by coordinator Media Access algorithm Random back off CSMA - CA Network Topology Mesh Star, mesh, tree Main device types Controller and slaves Coordinator, router, edge services Node to node retransmission Up to 4 hops Up to 32 hops, depending on latency req. Routing principle Source routing Tree routing, mesh routing Security/ Cryptography Yes Yes Applications/ Logistics Targeted applications Node functionality Residential lighting and automation Supports multiple command classes General application of automation, sensing and control for industry, commercial and residential buildings Supports multiple application profiles Hosting requirements 8051@ 16MHz, 32K/2K 8 bits MCU@ 16MHz, 32K/2K Protocol s Logistics Proprietary Standard IC suppliers Single source, Zensys Chipcon, Freescale, ZMD, etc Protocol stack suppliers Single source, Zensys Chipcon, Ember, etc Integrated Modules Single source, Zensys L.S. Research, MaxStream, etc Target price < $2 < $3 Πίνακας 1: Σύγκριση πρωτοκόλλων ZigBee και Z-Wave ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 55

56 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ 3.2 ΣΥΣΚΕΥΕΣ Σε αυτή την υποενότητα ακολουθεί παρουσίαση των συσκευών που χρησιμοποιήθηκαν και δοκιμάστηκαν κατά την εκπόνηση της εργασίας. Η πλειοψηφία τους αποτελείται από έξυπνες συσκευές που επικοινωνούν μέσω κάποιας ασύρματης τεχνολογίας που έχει προαναφερθεί. Παρουσιάζονται τα είδη τους, οι τεχνολογίες που ενσωματώνουν, τα βασικά χαρακτηριστικά και λειτουργίες τους Συσκευές Plugwise Το Plugwise είναι ένα σύστημα διαχείρισης ενέργειας που αναπτύχθηκε από την ολλανδική εταιρεία Plugwise 8. Αποτελεί ένα σύνολο συσκευών ασύρματης δικτύωσης για τη μέτρηση και τον έλεγχο της ενεργειακής κατανάλωσης, με απώτερο στόχο ο χρήστης να παρατηρεί την ενεργειακή του συμπεριφορά και να εξοικονομεί ενέργεια. Αποτελείται κυρίως από πρίζες, οι οποίες κατέχουν δύο βασικές λειτουργίες. Μετρούν την ισχύ και την κατανάλωση ηλεκτρικών συσκευών και δρουν ταυτόχρονα ως διακόπτες. Αισθητήρες και όργανα δράσης Plugwise Η πρώτη επαφή με μία λύση Plugwise μπορεί να γίνει με το βασικό πακέτο της εταιρείας, το Home Basic Kit. Περιέχει τις βασικές συσκευές που αρχικά χρειάζεται κάποιος, ένα Circle+, 8 Circle, το Stick και μία άδεια για το λογισμικό Source. Είναι το πακέτο το οποίο ήταν διαθέσιμο για την εκπόνηση της εργασίας. Ακολουθεί η περιγραφή των συσκευών που είναι διαθέσιμες από την εταιρεία, από τις οποίες, οι κυριότερες φαίνονται στην Εικόνα 18: Stick: Το Stick συνδέεται με τον υπολογιστή μέσω USB θύρας και αποτελεί τη διασύνδεση του υπολογιστή και του λογισμικού Source με τις πρίζες και τα υπόλοιπα προϊόντα Plugwise. Λαμβάνει δεδομένα και στέλνει εντολές στις υπόλοιπες μονάδες μέσω του ασύρματου δικτύου ZigBee. Circle: Η βασικές συσκευές του Plugwise που απαρτίζουν το μεγαλύτερο σύνολο του δικτύου. Πρόκειται για πρίζες που τοποθετούνται στο μέσο μιας ηλεκτρικής συσκευής και της υποδοχής στον τοίχο. Βασικός τους ρόλος είναι η μέτρηση της κατανάλωσης και η αποθήκευση ή η αποστολή των μετρήσεων στο Stick. Οι μονάδες έχουν τη δυνατότητα αποθήκευσης δεδομένων μέχρι και περίπου ενός χρόνου στην 512 KB μνήμη τους. Όταν αυτή η μνήμη γεμίσει, τα νέα δεδομένα αντικαθιστούν αυτά των πρώτων μετρήσεων, οπότε προτείνεται η λήψη των δεδομένων μέσω του λογισμικού Source περίπου κάθε τρεις μήνες. Οι συσκευές που έχουν συνδεθεί με ένα Circle, μπορούν κλείσουν ή να ανοίξουν ασύρματα μέσω χειρισμού από τον υπολογιστή, αφού λειτουργούν και ως διακόπτες. Επιπλέον, ένας διακόπτης αναμονής (standby killer) μπορεί να ενεργοποιηθεί θέτοντας μία τιμή κατωφλίου, κάτω από την οποία μία ηλεκτρονική συσκευή θεωρείται ότι έχει περιέλθει σε κατάσταση αναμονής 8 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 56

57 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ και απενεργοποιείται σύμφωνα με ένα πλάνο. Τα Circle λειτουργούν και συνεργάζονται με όλα τα υπόλοιπα προϊόντα Plugwise. Circle+: Το Circle+ είναι μία πρίζα όπως και τα κοινά Circle, με τη διαφορά ότι λειτουργεί και ως δρομολογητής του δικτύου. Ένα Circle+ είναι απαραίτητο σε ένα δίκτυο, σημειώνει ποιες μονάδες ανήκουν σε αυτό και αποτελεί το μοναδικό συνδετικό κρίκο μεταξύ των Circle και του Stick. Περιέχει ένα ρολόι πραγματικού χρόνου και μία μπαταρία και ανά διαστήματα συγχρονίζει την ώρα με τα άλλα Circle. Μετά την εγκαθίδρυση του δικτύου χρησιμοποιείται όπως και τα υπόλοιπα Circle. Switch: Ένας ασύρματος διακόπτης που μπορεί να ανοίγει και να κλείνει συσκευές του δικτύου. Αυτό επιτυγχάνεται μέσω της ομαδοποίησης του (grouping) από το Source με άλλα Circle ή Stealth, τα οποία μπορεί να ανάβει ή να σβήνει με το πάτημα ενός κουμπιού. Stealth: Πρόκειται για μία συσκευή που μπαίνει και προσαρμόζεται στα καλώδια ρεύματος του σπιτιού όταν δεν είναι δυνατή η χρήση ενός Circle, ενώ έχουν ακριβώς τα ίδια χαρακτηριστικά με αυτά. Stretch Lite Pro: Το Stretch Lite Pro έχει έναν ενσωματωμένο web εξυπηρετητή που εγκαθιδρύει μία ασφαλή σύνδεση με ένα δίκτυο Plugwise. Προορίζεται μόνο για επαγγελματική χρήση και μέσω αυτού κάθε εταιρικός υπολογιστής μπορεί να έχει πρόσβαση στο δίκτυο, ενώ ένα ή περισσότερα δίκτυα μπορούν είναι συνδεδεμένα στην πύλη. Scan και Sense: Πρόκειται για τις τελευταίες συσκευές που έχει βγάλει η Plugwise. Οι Scan αποτελούνται από αισθητήρες κίνησης και φωτεινότητας και οι Sense από αισθητήρες θερμοκρασίας και υγρασίας. Εικόνα 18: Τα Circle, Switch, Stealth και Stick Δίκτυα Plugwise Ένα δίκτυο Plugwise είναι μία δυναμική δομή από εξαρτήματα που υπολογίζει την ενεργειακή κατανάλωση, ανοίγει ή κλείνει συσκευές και εξοικονομεί ενέργεια. Τα διάφορα εξαρτήματα λειτουργούν ανεξάρτητα και συνδέονται το ένα με το άλλο με το ασύρματο πρωτόκολλο ZigBee σχηματίζοντας ένα κατανεμημένο δίκτυο. Τα μεγέθη των δικτύων εξαρτώνται από τις εκάστοτε ανάγκες και τους σκοπούς χρήσης. Ένα δίκτυο περιέχει μόνο ένα Circle+, που όπως αναφέρθηκε λειτουργεί και ως δρομολογητής κατά την έναρξη και πρέπει να είναι πάντα εντός ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 57

58 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ εμβέλειας των υπόλοιπων συσκευών και κοντά στο Stick στην ίδρυση του δικτύου. Το Stick δεν είναι απαραίτητο να βρίσκεται σε μόνιμη θέση, αλλά κάθε φορά που αλλάζει η θέση του, καινούργιοι πίνακες δρομολόγησης πρέπει να δημιουργηθούν, μειώνοντας στην αρχή την ταχύτητα του δικτύου. Κάθε δίκτυο με ένα Circle+ μπορεί να υποστηρίξει μέχρι και 64 Circle ή Stealth. Εκτός από τη λήψη και την αποστολή δεδομένων κάθε ή Circle Circle+ ενεργεί και ως δρομολογητής, οπότε στην περίπτωση που για οποιοδήποτε λόγο η πρόσβαση σε μία πρίζα δεν είναι δυνατή, η επικοινωνία επαναδρομολογείται μέσω μίας άλλης διαδρομής στο δίκτυο. Αυτή η ιδιότητα είναι γνωστή ως αυτοθεραπεία (selfhealing). Η μέση κατανάλωση ενός σχετικά απλού οικιακού δικτύου Plugwise δεν ξεπερνά τα 10 W, μια τιμή που είναι πολύ μικρή σε σχέση με την εξοικονόμηση που επιτυγχάνεται. Η τοπολογία του δικτύου είναι ο σημαντικότερος παράγοντας που επιδρά στην ταχύτητα και στην αξιοπιστία του. Μία ιδανική τοπολογία τοποθετεί το Stick στη μέση του γράφου με το Circle+ να είναι πολύ κοντά του και τα Circle περιφερειακά, με ενδιάμεση απόσταση τουλάχιστον 5 έως 10 μέτρων, όπου κάθε μονάδα βλέπει τουλάχιστον άλλες τρεις. Μία αποδεκτή τοποθέτηση περιλαμβάνει τα Stick και Circle+ στην άκρη του δικτύου με τις υπόλοιπες συσκευές σχεδόν ομοιόμορφα κατανεμημένες. Ένα μειονέκτημα εντοπίζεται στις μονάδες που βρίσκονται μακριά, όπου η μετάδοση των δεδομένων μπορεί να καθυστερήσει κάποια λεπτά, ανάλογα με την απόσταση, μέχρι να φτάσουν στο Stick. Ένα αποδεκτό δίκτυο παρουσιάζεται στην Εικόνα 19. Η χειρότερη περίπτωση συμβαίνει όταν το δίκτυο έχει σχήμα ζευγνύοντος δένδρου και κάθε πληροφορία διέρχεται από κόμβους ενός σημείου. Ανάλογα με το φόρτο, η ταχύτητα μετάδοσης μπορεί να μειωθεί κατά πολύ και στην περίπτωση που ένας κόμβος απενεργοποιηθεί, ένα μεγάλο μέρος του δικτύου μπορεί να βγει εκτός λειτουργίας. Εικόνα 19: Ένα δίκτυo Plugwise Το λογισμικό Source Το Source είναι το λογισμικό που ελέγχει το σύστημα των Plugwise. Επικοινωνεί με τις συσκευές του, συλλέγει δεδομένα και τα οπτικοποιεί μέσω οργανωμένων διαγραμμάτων. Σε πρώτη φάση, η βασική του λειτουργία είναι η εγκατάσταση και η αρχικοποίηση του δικτύου. Μέσω του Stick, στέλνονται εντολές στις υπόλοιπες μονάδες και αφού ταυτοποιηθούν και αναγνωριστούν, συσχετίζονται ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 58

59 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ με το Stick και το Circle+, έτοιμες να λάβουν και να στείλουν εντολές. Εκτός από το ιστορικό της ηλεκτρικής κατανάλωσης, υπολογίζει και εμφανίζει την ενέργεια που δαπανάται σε πραγματικό χρόνο καθώς και το διοξείδιο του άνθρακα και το κόστος χρημάτων που εξοικονομούνται. Οι μετρήσεις του ιστορικού αφορούν χρονικά διαστήματα μιας ώρας και το πρόγραμμα τις αποθηκεύει σε ένα αρχείο βάσης δεδομένων CSV. Εκτός από τις βασικές, μερικές ακόμη χρήσιμες λειτουργίες είναι οι δυνατότητες χειροκίνητου και αυτόματου ελέγχου των συσκευών. Ο χρήστης μπορεί κατά βούληση να κλείσει ή να ανοίξει πρίζες ξεχωριστά, ανά δωμάτια ή ανά ομάδες, ενώ μπορεί να προγραμματίσει χρονοδιαγράμματα ή σενάρια (scenes) με βάση τα οποία θέλει να συμπεριφέρεται το σύστημα. Αυτά τα χρονοδιαγράμματα στέλνονται στις πρίζες και αποθηκεύονται, ώστε να είναι δυνατή η λειτουργία τους και όταν ο υπολογιστής είναι κλειστός. Όταν, για παράδειγμα, ο χρήστης λείπει από το σπίτι ορισμένες ώρες τις ημέρας ή θέλει να φύγει για διακοπές κάποιες μέρες, μπορεί να προγραμματίσει την αυτόματη διακοπή παροχής ηλεκτρισμού σε όλες ή μερικές από τις συσκευές του σπιτιού για να εξοικονομήσει ενέργεια. Η γραφική διεπαφή με τα διαγράμματα κατανάλωσης και χρονοπρογραμματισμού φαίνεται στην Εικόνα 20. Εικόνα 20: Το λογισμικό Source ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 59

60 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Συσκευές PrismaSense Το PrismaSense είναι ένα σύνολο συσκευών και λογισμικού που προορίζεται για την ανάπτυξη εφαρμογών που είναι βασισμένες σε ασύρματα δίκτυα αισθητήρων και αναπτύχθηκε από την Prisma Electronics 9. Προσφέρει λήψη και επεξεργασία δεδομένων σε πραγματικό χρόνο, από ποικιλία αισθητήρων, μέσω ασύρματου δικτύου ZigBee (Εικόνα 21). Χρησιμοποιεί το ανοιχτού κώδικα λειτουργικό σύστημα ISOS, το οποίο έχει αναπτυχθεί συγκεκριμένα για ασύρματα δίκτυα αισθητήρων και περιλαμβάνει λογισμικό για τη λήψη και παρουσίαση δεδομένων καθώς και για τον προγραμματισμό των συσκευών. Εικόνα 21: Το δίκτυο PrismaSense Ένα βασικό πακέτο PrismaSense περιλαμβάνει μία gateway, τα quax modules (MS και DT), ένα μετατροπέα UART, κεραίες, αισθητήρες θερμοκρασίας και υγρασίας, ένα προσαρμογέα JTAG και το απαραίτητο λογισμικό, τα οποία παρουσιάζονται στη συνέχεια. Quax Modules Το πακέτο PrismaSense περιλάμβανε δύο βασικούς τύπους μονάδων quaxes, τα Quax-MS και τα Quax-DT. Τα Quax-MS είναι έξυπνες συσκευές πολυαισθητήρων που διαθέτουν ενσωματωμένους αισθητήρες θερμοκρασίας, φωτισμού, υγρασίας και επιταχυνσιόμετρο δύο αξόνων. Ο επεξεργαστής τους είναι ο Texas Instruments MPS430F1611, διαθέτουν μνήμη RAM 10 KB και εξωτερική μνήμη EPROM 512 KΒ, ενώ η εμβέλεια τους φτάνει μέχρι και 300 μέτρα σε εσωτερικούς χώρους. 9 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 60

61 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Τροφοδοτούνται από μπαταρίες και χρησιμοποιούν τα κυκλώματα ραδιοσυχνοτήτων XBee. Οι συσκευές Quax-DT είναι μονάδες που μπορούν ενσωματώνουν μία ποικιλία αισθητήρων, χωρίς να έχουν αρχικά κάποιους εγκατεστημένους και είναι οι μονάδες quax που χρησιμοποιήθηκαν στην εργασία. Σε σύγκριση με τα Quax-MS, τα Quax-DT εκτός από τη δυνατότητα προσθήκης και αφαίρεσης εξωτερικών κυκλωμάτων αισθητήρων, δεν διαθέτουν και εξωτερική μνήμη EPROM. Συγκεκριμένα, διαθέτει τις εξής θύρες: 16 Ψηφιακά I/O 6 Εισόδους Μετατροπής Αναλογικού σε Ψηφιακό 2 Εξόδους Μετατροπής Ψηφιακού σε Αναλογικό 1 Θύρα Uart 1 Θύρα SCI/I2C 3 PWM Εξόδους Gateway Η WiFi Gateway που χρησιμοποιεί το PrismaSense ενεργεί ως συντονιστής του δικτύου ZigBee και ως γέφυρα μεταξύ του ZigBee και του WiFi. Η επικοινωνία είναι αμφίδρομη, με τα δεδομένα των αισθητήρων να πηγαίνουν στον εξυπηρετητή και πληροφορίες ρυθμίσεων να στέλνονται στις μονάδες. Εκτός από σύνδεση μέσω WiFi b/g, υποστηρίζεται σύνδεση Ethernet και σειριακή επικοινωνία RS232. Η Gateway μπορεί να υποστηρίξει μέχρι και 8 κόμβους αισθητήρων. Η επέκταση του μπορεί να επιτευχτεί αν ένας ή περισσότεροι κόμβοι ρυθμιστούν ώστε να λειτουργούν ως δρομολογητές. Αυτοί οι δρομολογητές μπορούν να υποστηρίξουν άλλους 8 κόμβους. Εικόνα 22: Αριστερά: Quax-DT, Δεξιά: Wifi Gateway Το λειτουργικό σύστημα ISOS Το ISOS (Intelligent Sensors Operating System) είναι ένα λειτουργικό σύστημα για ευφυείς αισθητήρες γραμμένο σε C. Αναπτύχθηκε από την Prisma Electronics για να υποστηρίξει τις μονάδες quax, με ιδιαίτερη έμφαση στον έλεγχο της κατανάλωσης, την αύξηση της αξιοπιστίας του ασύρματου δικτύου και την ευκολία στην ανάπτυξη νέων εφαρμογών. Μερικά χαρακτηριστικά του ISOS είναι: ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 61

62 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Χρονοπρογραμματιστής (Task Scheduler) Χειριστής Γεγονότων (Event Handler) Ευελιξία Συχνότητας (Frequency Agility) Προσωρινή Μνήμη Πακέτων (Packaging Buffer) Προσομοίωση Μετρήσεων (Measurement Simulation) Ασφαλείς Τρόποι Απενεργοποίησης (Safe Power Down Modes) Προγραμματισμός συσκευών και λογισμικό Μεγάλο πλεονέκτημα των συσκευών quax και της gateway είναι η δυνατότητα προγραμματισμού των λειτουργιών τους. Οι μονάδες quax μπορούν να τρέξουν προγράμματα γραμμένα σε C, με τη βοήθεια ενός προγραμματιστή, ενώ προσφέρεται και έτοιμο λογισμικό για την απλοποίηση της διαδικασίας. Στην Εικόνα 23 φαίνεται ο προγραμματιστής MSP-FET430UIF της Texas Instruments για επεξεργαστές MSP430 και ο προσαρμογές JTAG με σύνδεση usb. Η gateway μπορεί επίσης να ρυθμιστεί με λογισμικό που επίσης παρέχεται στο πακέτο. Επίσης, περιλαμβάνεται και το λογισμικό ServerDataManipulation, το οποίο είναι γραμμένο σε C# και λαμβάνει δεδομένα μέσω εικονικής σειριακής θύρας που συνδέεται στο wifi της gateway και προβάλει τις πληροφορίες των αισθητήρων στην οθόνη, ενώ υπάρχει και η επιλογή αποθήκευσής τους σε λογιστικά φύλλα Excel. Εικόνα 23: Ο προγραμματιστής της Texas Instruments ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 62

63 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Συσκευές Current Cost Το Current Cost είναι ένα σύνολο συσκευών παρακολούθησης της ενεργειακές κατανάλωσης σε πραγματικό χρόνο 10. Απευθύνεται σε ιδιώτες ή οργανισμούς που θέλουν να γνωρίζουν την ενεργειακή τους συμπεριφορά με απώτερο σκοπό την μείωση της κατανάλωσης. Ένα βασικό σύνολο περιλαμβάνει συσκευές παρακολούθησης και μέτρησης ενέργειας, ενώ υπάρχει και συσκευή για έκθεση των δεδομένων μέσω διαδικτύου για απομακρυσμένη πρόσβαση στα ενεργειακά δεδομένα. Το κομβικό σημείο στο οποίο γίνονται οι μετρήσεις είναι η κεντρική παροχή ρεύματος, οπότε οι ενδείξεις της κατανάλωσης αφορούν όλο το κτίριο. Εικόνα 24: Η οθόνη EnviR, ένας πομπός και η γέφυρα NetSmart Για την εγκατάσταση του Current Cost αρχικά, τοποθετούμε τους σφιγκτήρες (clampers) που παρέχονται στην τροφοδοσία, κουμπώνοντάς τους στα καλώδια παροχής, έναν για κάθε φάση του ρεύματος, όπως φαίνεται στην Εικόνα 25. Οι σφιγκτήρες ενώνονται με καλώδια με έναν πομπό, ο οποίος εκπέμπει σήματα με την πληροφορία της παροχής περίπου κάθε 6 δευτερόλεπτα, με εμβέλεια έως και 30 μέτρα σε ανοιχτό χώρο. Αυτά τα σήματα λαμβάνονται από μία ή περισσότερες συσκευές παρακολούθησης. Οι συσκευές παρακολούθησης είναι στην ουσία οθόνες οπτικοποίησης της πληροφορίας και απεικονίζουν στοιχεία και πληροφορίες, όπως η τωρινή, η ημερήσια και η εβδομαδιαία κατανάλωση ενέργειας, η ώρα, η θερμοκρασία και το κόστος και συνδέονται με τον υπολογιστή μέσω usb ή σειριακής θύρας. Η πληροφορία σχετικά με προηγούμενες καταναλώσεις, για την εξαγωγή στατιστικών, λαμβάνεται από την οθόνη στον υπολογιστή με μορφή ιστορικού και περιγράφεται πιο αναλυτικά σε επόμενο κεφάλαιο. Υπάρχουν διάφορες συσκευές παρακολούθησης, η Classic, Envi, EnviR και TREC. Όσον αφορά τη διεπαφή στον υπολογιστή, η εταιρεία προσφέρει το λογισμικό C2 Terminal, το οποίο λαμβάνει από τη σειριακή θύρα τα δεδομένα σε μορφή XML και τα αποθηκεύει τοπικά στον υπολογιστή. Εκτός από το βασικό λογισμικό, υπάρχουν και εφαρμογές υπηρεσιών ιστού που λαμβάνουν τα δεδομένα μέσω διαδικτύου και προβάλουν ενδείξεις και γραφικά στατιστικά, όπως τα Enio, Meniscus και makehistori, ενώ έχουν αναπτυχθεί και εφαρμογές τρίτων με ποικίλες λειτουργίες ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 63

64 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Μία ακόμη ενδιαφέρουσα συσκευή Current Cost είναι η NetSmart. Λειτουργεί ως γέφυρα για αποστολή των ενεργειακών δεδομένων στο διαδίκτυο και συνδέεται κατευθείαν σε κάποιο router που παρέχει internet μέσω της Ethernet θύρας. Με αυτό τον τρόπο τα δεδομένα είναι προσβάσιμα στο χρήστη και εκτός σπιτιού και μπορεί να έχει πρόσβαση σε αυτά από κάποιον άλλο υπολογιστή ή κινητού τηλεφώνου, οποιαδήποτε στιγμή της μέρας μέσω του λογαριασμού στην ιστοσελίδα της Current Cost. η NetSmart και οι άλλες συσκευές φαίνονται στην Εικόνα 24. Εικόνα 25: Αριστερά: Σφιγκτήρες στα καλώδια ηλεκτροδότησης, Δεξιά: Ο πομπός Envi Η τεχνολογία C 2 Η τεχνολογία C 2 επιτρέπει στις συσκευές Current Cost να μιλούν μεταξύ τους και έχει ενσωματωθεί σε κάθε ξεχωριστή συσκευή αναγνώρισης, μέτρησης και διαχείρισης. Οι πληροφορίες που συλλέγονται από το λογισμικό C 2, μπορούν να γίνουν διαθέσιμες σε έναν υπολογιστή ή διατεθούν μέσω κάποιου διαδικτυακού λογισμικού, ώστε τα σπίτια, οι στεγαστικοί οργανισμοί ή άλλες οργανώσεις να μπορούν να παρακολουθούν τις βελτιώσεις στην ενεργειακή κατανάλωση. Στην Εικόνα 26 φαίνεται αυτή η επικοινωνία μεταξύ συσκευών. Εικόνα 26: Επικοινωνία των συσκευών Current Cost μέσω της τεχνολογίας C 2 ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 64

65 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Συσκευές Z-Wave Το Z-Wave είναι ένα σύστημα ασύρματων συσκευών επόμενης γενιάς που επιτρέπει στις οικιακές ηλεκτρικές συσκευές να επικοινωνούν μεταξύ τους και με το χρήστη, μέσω απομακρυσμένου ελέγχου. Χρησιμοποιεί απλές, αξιόπιστες, χαμηλής κατανάλωσης ραδιοσυχνότητες που δεν εμποδίζονται εύκολα από τοίχους και πατώματα. Ο έλεγχος μέσω Z-Wave μπορεί να ενσωματωθεί ακόμα και σε συσκευές που δύσκολα μπορούμε να φανταστούμε ως έξυπνες, όπως παράθυρα, τέντες, θερμοστάτες και συσκευές οικιακού φωτισμού. Η Εικόνα 27 παρουσιάζει ένα τέτοιο ολοκληρωμένο σύστημα οικιακού αυτοματισμού. Εικόνα 27: Το Z-Wave προσαρμοσμένο στο οικιακό περιβάλλον Το Z-Wave ενοποιεί όλα τις οικιακές ηλεκτρονικές συσκευές σε ένα ενσωματωμένο ασύρματο δίκτυο, το οποίο είναι απλό στον προγραμματισμό του και δεν περιλαμβάνει καλώδια. Οποιαδήποτε συσκευή στην οποία έχει ενσωματωθεί Z- Wave μπορεί να προστεθεί στο δίκτυο, ενώ πολλές συσκευές που δεν περιέχουν κυκλώματα Z-Wave μπορούν να γίνουν συμβατές με ένα ειδικό εξάρτημα. Αυτόματα η συσκευή εντάσσεται στο δίκτυο και επικοινωνεί ασύρματα με άλλες μονάδες και ελεγκτές. Επιπλέον, οι συσκευές Z-Wave δίνουν τη δυνατότητα στο χρήστη να έχει πλήρη έλεγχο και εκτός σπιτιού. Αυτό επιτυγχάνεται μέσω απομακρυσμένης σύνδεσης από άλλο υπολογιστή μέσω Διαδικτύου, είτε μέσω έξυπνου κινητού τηλεφώνου. Οι λύσεις που ενσωματώνουν Z-Wave προσφέρουν απλότητα και ευελιξία, είναι προσιτές στο μέσο καταναλωτή, προσδίδουν ευφυΐα στο περιβάλλον και παρέχουν ευκολία στο χρήστη να το διαμορφώσει όπως θέλει. Οποιαδήποτε συσκευή μπορεί να προστεθεί εύκολα στο δίκτυο, ενώ το επίπεδο αυτοματισμού καθορίζεται από τις ανάγκες και τις επιθυμίες του χρήστη. Η έλλειψη καλωδίων το καθιστά μία πιο οικονομική λύση και πιο εύκολο στην εγκατάσταση. Μία πολύ σημαντική δυνατότητα του δικτύου είναι η συνεργασία συσκευών σε ομάδες. Για παράδειγμα, η άφιξη του χρήστη στο χώρο ανιχνεύεται από έναν αισθητήρα κίνησης και ενεργοποιεί τις συσκευές που ανοίγουν τα φώτα ή τη συσκευή που ανοίγει την πόρτα του γκαράζ, επιτρέποντας στο χρήστη να δημιουργήσει έξυπνα σενάρια (scenes) με βάση τις προτιμήσεις του και τις καθημερινές του συνήθειες. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 65

66 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Το δίκτυο Z-Wave, κόμβοι και συσκευές Το δίκτυο Z-Wave αποτελείται από δύο είδη κόμβων, τους ελεγκτές (controllers) και τις εξαρτώμενες συσκευές (slaves) [10]. Οι ελεγκτές μπορεί να είναι είτε στατικοί, είτε φορητοί. Είναι υπεύθυνοι για την έναρξη της μετάδοσης και κατέχουν πληροφορίες για τη δρομολόγηση του δικτύου. Οι φορητοί ελεγκτές δεν έχουν πάντα μια καθορισμένη στο δίκτυο και μπορεί να την ανακαλύπτουν συνομιλώντας με τις γειτονικές τους συσκευές, ενώ τροφοδοτούνται από μπαταρίες. Επίσης, είναι υπεύθυνοι για μια σημαντική λειτουργία του συστήματος, τη συμπερίληψη (inclusion) μίας νέας συσκευής και τον αποκλεισμό μιας προϋπάρχουσας (exclusion). Οι στατικοί ελεγκτές καταλαμβάνουν μια σταθερή θέση στο δίκτυο και συνήθως τροφοδοτούνται από την κεντρική παροχή ρεύματος. Σε ορισμένες περιπτώσεις ένας στατικός ελεγκτής μπορεί να επεκτείνει την λειτουργία του και να γίνει συσκευή που αποθηκεύει την τελευταία ρύθμιση του δικτύου (Static Update Controller). Ένας στατικός ελεγκτής μπορεί επίσης να γίνει πρωτεύων (primary) και να χρησιμοποιεί φορητούς για τις λειτουργίες συμπερίληψης και αποκλεισμού άλλων κόμβων. Ένας τέτοιος ελεγκτής ονομάζεται SUC ID Server (SIS). Επίσης, υπάρχει και η δυνατότητα υποστήριξης και άλλων οικιακών συστημάτων, όπως το ένα δίκτυο TCP/IP ή συσκευές X10, από έναν στατικό ελεγκτή που λειτουργεί ως γέφυρα. Οι εξαρτώμενες συσκευές είναι γενικού σκοπού συσκευές, με απλές λειτουργίες εισόδου- εξόδου, που απλά εκτελούν εισερχόμενες εντολές. Εφόσον δεν υπάρχει η δυνατότητα απόκρισης, αν δεν τους σταλεί ανάλογο αίτημα, ο ελεγκτής πρέπει ανά καθορισμένα χρονικά διαστήματα τις καλεί για να καταγράψει την κατάστασή τους (polling). Σε ορισμένες περιπτώσεις υπάρχει η ανάγκη για αναμετάδοση του σήματος, οπότε μερικές από αυτές μπορούν να επεκτείνουν την λειτουργία τους και συμπεριφέρονται κα ως δρομολογητές (routing slaves). Σε πολλές περιπτώσεις, αυτή η δυνατότητα εκπομπής αυτόκλητων μηνυμάτων (unsolicited messages) εξυπηρετεί και έναν επιπλέον σκοπό, όταν για παράδειγμα πρόκειται για συσκευές ανίχνευσης κίνησης και συναγερμούς, όπου οι ενδείξεις τους πρέπει να μεταδοθούν άμεσα στον ελεγκτή. Η λογική προγραμματισμού του χρόνου που μια συσκευή, τροφοδοτούμενη από μπαταρίες, κοιμάται και ξυπνάει ώστε να λάβει κλήση καταγραφής ή κάποια αλλαγή στις ρυθμίσεις της, επαφίεται στο είδος της εφαρμογής που την ενσωματώνει. Αν για παράδειγμα, ένας αισθητήρας δωματίου καταγράφει την υγρασία, τότε η χρονική διαφορά στα διαστήματα που ξυπνάει δεν χρειάζεται να είναι μικρή, αυξάνοντας το χρόνο ζωής της μπαταρίας. Μία ακόμη λειτουργία είναι αυτή της συσχέτισης (association) δύο ή περισσότερων απλών συσκευών. Η συσχέτιση καθορίζει σχέσεις εξάρτησης μεταξύ των συσκευών, όπου κάποιες ελέγχουν κάποιες άλλες. Με τη συσχέτιση ενός αισθητήρα κίνησης και διακοπτών που ελέγχουν το φωτισμό, μπορούμε να ανοίγουμε τα φώτα ενός δωματίου απλά μπαίνοντας σε αυτό. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 66

67 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Εικόνα 28: Το Z-Stick Series 2, ο ανιχνευτής καπνού SF812, ο αισθητήρας κίνησης ZIR010 και ο πολυαισθητήρας EZMotion Κατά την εκπόνηση της εργασίας, χρησιμοποιήθηκαν τρεις ασύρματες συσκευές αισθητήρων Z-Wave, ένας ανιχνευτής καπνού, ένας αισθητήρας κίνησης και ένας πολυαισθητήρας με ενσωματωμένους αισθητήρες κίνησης, φωτεινότητας και θερμοκρασίας, ενώ ο ελεγκτής που χρησιμοποιήθηκε είναι ο Z-Stick Series 2 της Aeon Labs, οι οποίοι παρουσιάζονται στην Εικόνα 28. Ακολουθεί μία συνοπτική παρουσίαση αυτών των συσκευών, ενώ περισσότερες οδηγίες και πληροφορίες σχετικά με πλήρη λειτουργία τους και τον προγραμματισμό τους δίνονται στο επόμενο κεφάλαιο. Ο ελεγκτής Z-Stick S2 είναι ένας αυτόνομος USB αντάπτορας τροφοδοτούμενος από μπαταρία. Έχει τη δυνατότητα απομακρυσμένων λειτουργιών συμπερίληψης (Inclusion-Mode) και αποκλεισμού (Removal-Mode) συσκευών και μπορεί να επικοινωνεί απευθείας με ένα host, δηλαδή ένα υπολογιστή ή μία gateway, μέσω σειριακής σύνδεσης (SerialAPI-Mode). Κατά την τελευταία λειτουργία, το Z- Stick ακούει μονίμως για εντολές που προέρχονται από τον host και για μηνύματα από τις συσκευές του δικτύου, οι οποίες έχουν συσχετιστεί με το stick. Η πρώτη συσκευή Z-Wave είναι ένας φωτοηλεκτρικός αισθητήρας καπνού, με κωδική ονομασία SF812. Όταν ανιχνεύσει μία συγκριμένη πυκνότητα καπνού, ενεργοποιείται ο ηχητικός συναγερμός του και ταυτόχρονα εκπέμπει σήματα σε όλες τις συσχετισμένες σε αυτόν συσκευές για περαιτέρω ενέργειες. Εκτός από τη σειρήνα, σε κατάσταση συναγερμού αναβοσβήνει και το LED του, ενώ μπορεί να δοκιμαστεί για την κατάσταση της μπαταρίας ή του συναγερμού μέσω ενός εξωτερικού κουμπιού. Δεν μπορεί να ανιχνεύσει αέρια, θερμότητα ή φλόγες. Είναι κατασκευασμένος αποκλειστικά για οικιακή χρήση και τροφοδοτείται από μία μπαταρία των 9V. Η δεύτερη συσκευή είναι ο παθητικός (Passive InfraRed) αισθητήρας κίνησης PIR010 της HomePro. Μπορεί να ανιχνεύσει κίνηση σε απόσταση μέτρων, ενώ η ευαισθησία του αισθητήρα μπορεί να ρυθμιστεί από ένα jumper στο εσωτερικό του. Όταν ανιχνεύσει κίνηση ή ανοιχτεί το κάλυμμα της συσκευασίας, αναβοσβήνει το φως LED, στέλνει σήμα σε όλες τις συσχετισμένες συσκευές και μετά από ένα χρονικό διάστημα όταν δεν ανιχνευτεί ξανά κίνηση κάνει την ίδια ενέργεια. Τροφοδοτείται από 4 μπαταρίες AAA. Η τελευταία συσκευή Z-Wave της εργασίας είναι ο πολυαισθητήρας EZMotion της Express Controls. Ο αισθητήρας κίνησης που είναι ενσωματωμένος παρουσιάζει παρόμοια λειτουργία με αυτόν της προηγούμενης συσκευής, ενώ όταν αυτή δεν βρίσκεται σε κατάσταση ύπνου στέλνει ενδείξεις θερμοκρασίας και φωτεινότητας. Τροφοδοτείται από 3 μπαταρίες AAA. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 67

68 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Εικόνα 29: Η Vera 2 και η γραφική διεπαφή της Η αρχική πρόσβαση στις συσκευές, πριν από τη ανάπτυξη κάποιας εφαρμογής για αυτό το σκοπό στα πλαίσια της εργασίας, έγινε μέσω μίας gateway Vera 2 της εταιρίας Mi Casa Verde, κατασκευασμένης συγκριμένα για Z-Wave δίκτυα 11. Μπορεί να επικοινωνήσει με οποιαδήποτε συσκευή Z-Wave, προσφέρει απομακρυσμένη πρόσβαση μέσω διαδικτύου αφού μπορεί να λειτουργεί και ως δρομολογητής, λειτουργεί ως ελεγκτής Z-Wave και διαθέτει γραφικό περιβάλλον, όπως φαίνεται στην Εικόνα 29. Προσφέρει πλήρεις δυνατότητες διαχείρισης των συσκευών και του δικτύου, παρέχει σύνδεση Ethernet και Wifi και μπορεί να συνδεθεί και με Z-Wave ελεγκτές μέσω USB θύρας. Η βιβλιοθήκη Open-ZWave Για την ανάπτυξη της εφαρμογής για το πακέτο συσκευών Z-Wave, χρησιμοποιήθηκε η βιβλιοθήκη open-zwave 12. Το open-zwave είναι μια διεπαφή ανοικτού κώδικα που προσπαθεί να ενσωματώσει όλους σχεδόν τους διαθέσιμους Z- Wave ελεγκτές για PC, με σκοπό τη δημιουργία εφαρμογών που διαχειρίζονται και ανταποκρίνονται σε συσκευές ενός Z-Wave δικτύου, χωρίς να είναι απαραίτητη βαθειά γνώση του πρωτοκόλλου ή αγορά εργαλείων για προγραμματιστές. Μία λίστα των ελεγκτών δίνεται στον Πίνακας 2. Κατασκευαστής Τύπος Σύνδεσης Αναφερόμενη Ταχύτητα Υποστηριζόμενοι Ελεγκτές Tricklestar USB ACT ZCS101 RS Z-troller RS Aeon ZStick USB Seluxit ViaSens 100 USB Άγνωστη ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 68

69 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Μη Υποστηριζόμενοι Ελεγκτές Intermatic HA22 USB 9600 ThinkEssentials USB Άγνωστη Πίνακας 2: Υποστηριζόμενοι και μη ελεγκτές από το open-zwave Το OZW αναπτύχθηκε σε C++ για Windows, Mac και Linux. Για το λειτουργικό σύστημα των Windows υπάρχουν δύο εκδόσεις κώδικα, μία για Visual C και μία για Επίσης, υπάρχει και η έκδοση OZWForm, γραμμένη σε C# για το προγραμματιστικό περιβάλλον.net που διατίθεται και αυτή για Visual C# 2008 και 2010 και αποτελεί ένα περιτύλιγμα για την αρχική βιβλιοθήκη. Το OZW στο κατώτερο επίπεδό του διασύνδεει το πρόγραμμα με τις συσκευές σε επίπεδο εντολών, χρησιμοποιώντας τις κλάσεις εντολών και συνθέτοντας μηνύματα από και προς τις συσκευές μέσω του ελεγκτή. Κατά το στάδιο της αρχικοποίησης, σε πρώτη φάση εξετάζεται ο ελεγκτής και εγκαθιδρύεται η επικοινωνία μαζί του. Σε δεύτερη φάση, εξετάζονται οι κόμβοι και ανακτώνται οι πληροφορίες για τα χαρακτηριστικά και της μεταβλητές τους. Όλες αυτές οι πληροφορίες καταχωρούνται σε ένα αρχείο xml (zwcfg_[homeid].xml) ώστε να κρατούνται οι ταυτότητες των συσκευών και να μην χρειάζεται επανεξέταση όλων των στοιχείων όταν δεν συμβαίνουν προσθαφαιρέσεις κόμβων. Η πλήρης κάλυψη των πληροφοριών των συσκευών, οι οποίες είναι διαφόρων τύπων και προέρχονται από διαφορετικούς κατασκευαστές, γίνεται μέσω διεπαφών που υπάρχουν στη βιβλιοθήκη. Υπάρχουν κλάσεις για κάθε τύπο συσκευών με καταχωρήσεις για κάθε μοντέλο που περιέχουν τα χαρακτηριστικά τους. Αν μία συσκευή δεν έχει υλοποιηθεί από το API δεν σημαίνει ότι δεν θα αναγνωριστεί, ίσως να μην εμφανιστούν τα πλήρη χαρακτηριστικά ή να μην είναι πλήρως λειτουργική. Σε αυτό το σημείο, οποιοσδήποτε προγραμματιστής μπορεί να ενσωματώσει κάποια δικιά του συσκευή στο API που δεν υπήρχε προηγουμένως. Σε επίπεδο εφαρμογής, ο προγραμματιστής που θέλει να αναπτύξει κάποια νέα εφαρμογή ή κάποια επέκταση, χρησιμοποιεί το διαχειριστή (Manager) και τις επιλογές (Options) της βιβλιοθήκης για οποιαδήποτε λειτουργία. Επίσης, είναι υπεύθυνος ώστε να υλοποιήσει διάφορες λειτουργίες που θέλει να παρέχονται ή να ενεργοποιούνται από τις ειδοποιήσεις που παράγονται από ένα ξεχωριστό νήμα (thread), όπως για παράδειγμα η ανανέωση μιας τιμής ενός αισθητήρα. Η πρόσβαση στις πληροφορίες ή στις μεταβλητές γίνεται από μία λίστα κόμβων που περιέχει αντίστοιχες λίστες για τις μεταβλητές. Η ανανέωση αυτής της λίστας συμβαίνει κάθε φορά που καλείται η κατάσταση μιας αφυπνισμένης συσκευής και η συχνότητα ορίζεται από τον προγραμματιστή. Εν τέλει, όλες οι ενέργειες σε κάθε επίπεδο εμφανίζονται και καταγράφονται στο αρχείο OZW_Log.txt. Η βιβλιοθήκη χρησιμοποιεί κατά κόρον ένα σύστημα ειδοποιήσεων (notifications) για την καταγραφή διαφόρων αλλαγών που συμβαίνουν στο σύστημα. Τέτοιες αλλαγές αφορούν την αλλαγή κάποιας μεταβλητής κάποιου κόμβου, κάποιο καινούργιο γεγονός ή άλλες. Ακολουθεί μια αναλυτική απαρίθμηση των ειδοποιήσεων ανά κατηγορίες: Ειδοποιήσεις Αρχικοποίησης του Οδηγού DriverReady: Στέλνεται όταν ο οδηγός έχει αρχικοποιηθεί. Ο οδηγός αντιπροσωπεύει μία σύνδεση ανάμεσα στη βιβλιοθήκη και τον ελεγκτή. Κατά την αποστολή, ορισμένες πληροφορίες γίνονται πλέον διαθέσιμες. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 69

70 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ Γνωστοποιούνται η έκδοση, οι δυνατότητες, ο κατασκευαστής και ο αριθμός προϊόντος του ελεγκτή, ο αριθμός του δικτύου και οι αριθμοί των κόμβων. Ειδοποιήσεις Αρχικοποίησης του Κόμβου NodeNew: Στέλνεται όταν ένας νέος κόμβος έχει αναγνωριστεί στο δίκτυο. Δεν αποστέλλεται όταν ο κόμβος έχει αναγνωριστεί σε προηγούμενη εκτέλεση και είναι καταχωρημένος στο αρχείο xml. NodeAdded: Στέλνεται όταν ο νέος κόμβος καταχωρείται στη λίστα των κόμβων του OZW. NodeProtocolInfo: Στέλνεται όταν η πληροφορία σχετικά με το πρωτόκολλο ενός κόμβου έχει ανακτηθεί. Κατά τη λήψη της ειδοποίησης είναι πλέον γνωστά ο τύπος της συσκευής (αν ακούει ή κοιμάται), αν μπορεί να δρομολογεί μηνύματα, η ταχύτητα μετάδοσης, ο αριθμός έκδοσης και το byte ασφαλείας. NodeNaming: Στέλνεται όταν έχει οριστεί ή έχει αλλάξει. ValueAdded: Στέλνεται όταν μια καινούργια μεταβλητή έχει συσχετιστεί με τον κόμβο. Αυτή η τιμή δεν περιέχει πάντα απαραίτητα καθορισμένα δεδομένα. NodeQueriesComplete: Στέλνεται όταν όλες οι μεταβλητές και τα χαρακτηριστικά ενός κόμβου έχουν εξεταστεί. Σε αυτήν την ειδοποίηση όλες οι πληροφορίες του κόμβου έχουν πλέον αναγνωσθεί. Μη αποστολή αυτής της ειδοποίησης μπορεί να επισημαίνει κάποιο πρόβλημα στην αρχικοποίηση. Το πιο συνηθισμένο πρόβλημα όταν κάποια συσκευή κοιμάται. Η ειδοποίηση αποστέλλεται όταν όλες οι συσκευές έχουν ξυπνήσει και έχουν εξεταστεί. Ειδοποιήσεις Ολοκλήρωσης της Αρχικοποίησης AwakeNodesQueried: Στέλνεται όταν όλες οι αφυπνισμένες συσκευές έχουν εξεταστεί. Επίσης, υποδεικνύει εμμέσως ότι υπάρχουν κάποιες συσκευές σε φάση ύπνου. AllNodesQueried: Στέλνεται όταν όλοι οι κόμβοι έχουν εξεταστεί επιτυχώς, χωρίς να υπάρχουν κάποιοι σε φάση ύπνου. Sent when all nodes have been successfully queried. Άλλες Ειδοποιήσεις ValueChanged: Στέλνεται όταν μία μεταβλητή ενός κόμβου έχει αλλάξει. Η λήψη αυτής της ειδοποίησης σημαίνει ότι είναι ευκαιρία να ανακτηθεί η νέα τιμή και να εμφανιστεί ή να επεξεργαστεί. ValueRemoved: Στέλνεται όταν μια τιμή ενός κόμβου έχει αφαιρεθεί. Group: Στέλνεται όταν μια συσχέτιση σε μία από τις ομάδες του κόμβου έχει αλλάξει. NodeRemoved: Στέλνεται όταν ένας κόμβος έχει αφαιρεθεί. NodeEvent: Στέλνεται όταν ένας κόμβος στέλνει μία εντολή Basic_Set στον ελεγκτή. Αυτή η ειδοποίηση χρησιμοποιείται από ορισμένους αισθητήρες, όπως από ανιχνευτές κίνησης, ως υπόδειξη ότι ένα νέο γεγονός έλαβε μέρος. PollingEnabled: Στέλνεται όταν η αναφορά κατάστασης ενός κόμβου έχει ενεργοποιηθεί. PollingDisabled: Στέλνεται όταν η αναφορά κατάστασης ενός κόμβου έχει απενεργοποιηθεί. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 70

71 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ DriverReset: Στέλνεται όταν σε έναν ελεγκτής έχει γίνει επαναφορά. Αυτή η ειδοποίηση αντικαθιστά όλες τις πιθανές ειδοποιήσεις που αναφέρουν αφαιρέσεις κόμβων και αλλαγές μεταβλητών. Υπάρχουν διάφορες εφαρμογές που χρησιμοποιούν το open-zwave, ως βάση για την επικοινωνία με τις συσκευές. Όλες είναι ανοικτού κώδικα και πολλές από αυτές είναι γραμμένες σε διαφορετικές γλώσσες προγραμματισμού, από αυτήν που είναι υλοποιημένη η βιβλιοθήκη. Αναφορικά, υπάρχουν οι εξής: openzwave-control-panel Πρόκειται για μία εφαρμογή 13 που χρησιμοποιεί τη βιβλιοθήκη OZW και παρέχει μια διαδικτυακή γραφική διεπαφή σε html/javascript για τη διαχείριση του δικτύου και των κόμβων. Η GNU βιβλιοθήκη libmicrohttpd χρησιμοποιείται για το HTTP. Open Source Automation Το Open Source Automation 14 είναι ένα γενικό πρόγραμμα οικιακού αυτοματισμού που προσπαθεί να δώσει λύσεις σε μερικά από τα προβλήματα που συναντούνται στις υπόλοιπες εμπορικές και μη εφαρμογές αυτοματισμού. Μερικά από αυτά είναι το υψηλό κόστος των εφαρμογών και ο περιορισμός στο υλικό και στις τεχνολογίες που ενσωματώνουν, όπου ο χρήστης δεν μπορεί να εκμεταλλευτεί τα πλεονεκτήματα μιας ανοικτής αρχιτεκτονικής και εξαρτάται αποκλειστικά από τις εταιρίες που αναπτύσσουν το λογισμικό. Για να ξεπεράσει αυτά τα προβλήματα, το OSA διατίθεται δωρεάν και δημοσιεύει ελεύθερα τον κώδικά του. Επιπλέον, η αρχιτεκτονική του έχει σχεδιαστεί ώστε να είναι επεκτάσιμη. Οποιοσδήποτε μπορεί να χρησιμοποιήσει το ανοικτού κώδικα API που παρέχει, ώστε να αναπτύξει επεκτάσεις (plug-in) για να διευρύνει τη λειτουργία του συστήματος. Εξαρχής, ενσωματώνει αρκετές τεχνολογίες οικιακού αυτοματισμού ή γενικού σκοπού, όπως τα X10, INSTEON, 1- Wire, Z-Wave, XBee, Bluetooth, RFID και άλλες, μέσω των επεκτάσεων του. Έτσι, υποστηρίζει ένα πλήθος διαφορετικών συσκευών, πολλαπλών σκοπών. py-openzwave Πρόκειται για ένα περιτύλιγμα 15 (wrapper) της βιβλιοθήκης OZW, γραμμένο σε python. Thrift4OZW Μία διεπαφή 16 γραμμένη σε Ruby που περιτυλίσσει το OZW. Χρησιμοποιεί το προγραμματιστικό πλαίσιο Apache Thrift για την ανάπτυξη RPC υπηρεσιών που συνδυάζουν διαφορετικές γλώσσες προγραμματισμού και το πρωτόκολλο STOMP (The Simple Text Oriented Messaging Protocol) για την αποθήκευση και τη μετάδοση των ειδοποιήσεων στο δίκτυο, εξαιτίας της έλλειψης ασύγχρονων κλήσεων του Thrift ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 71

72 ΚΕΦΑΛΑΙΟ 3: ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΣΥΣΚΕΥΕΣ ΣΤΗ ΔΙΑΧΥΤΗ ΝΟΗΜΟΣΥΝΗ zvirtualscenes Μία από τις σημαντικότερες εργασίες που χρησιμοποιούν το OZW. Πρόκειται για μια γραφική διεπαφή που επιτρέπει τον ολοκληρωμένο έλεγχο των Z-Wave συσκευών. Ο χρήστης μπορεί να παρακολουθεί την κατάσταση των συσκευών για αλλαγές και νέες ειδοποιήσεις και να τις ρυθμίζει ανάλογα. Επίσης, μπορεί να δημιουργεί έξυπνα σενάρια που ελέγχουν θερμοστάτες, διακόπτες και άλλα όργανα δράσης. Περιλαμβάνει ένα σύστημα επεκτάσεων που διευρύνει τις λειτουργίες της αρχικής εφαρμογής. Αυτές ενεργοποιούν ένα πλήθος δυνατοτήτων, όπως τον απομακρυσμένο έλεγχο μέσω έξυπνου τηλεφώνου (μέσω Android και iphone) μέσω του LightSwitch Server, την λήψη και αποστολή εντολών και ειδοποιήσεων μέσω άμεσων μηνυμάτων χρησιμοποιώντας τα Jabber και Google Talk, ενώ έχει υλοποιηθεί και ένα HTTP API για την υποστήριξη JSON ή XML μέσω RESTfull HTTP εντολών. Η εφαρμογή έχει αναπτυχθεί σε Visual C# και χρησιμοποιεί την αντίστοιχη έκδοση του OZW για το.net Framework. ansible Η εργασία ansible 17 είναι ένα προγραμματιστικό πλαίσιο γραμμένο σε Ruby για αυτοματισμούς Z-Wave. Χρησιμοποιεί τη διεπαφή Thrift4OZW, για το συνδυασμό των δύο διαφορετικών γλωσσών προγραμματισμού ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 72

73 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME Κ Ε Φ Α Λ Α Ι Ο 4 : Τ Ο Ε Ν Δ Ι Α Μ Ε Σ Ο Λ Ο Γ Ι Σ Μ Ι Κ Ο Υ Π Η Ρ Ε Σ Ι Ω Ν Ι Σ Τ Ο Υ A W E S O ME ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 73

74

75 ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ AWESOME 4.1 ΤΟ ΛΟΓΙΣΜΙΚΟ AWESOME Σε αυτό το κεφάλαιο δίνεται η περιγραφή του ενδιάμεσου λογισμικού υπηρεσιών ιστού awesome. To awesome έχει ως σκοπό την παροχή των λειτουργιών και των δεδομένων ετερογενών δικτύων ασύρματων συσκευών και αισθητήρων μέσω υπηρεσιών ιστού. Το σύστημα συνθέτει κατάλληλα τις υπηρεσίες, τις δημοσιοποιεί και τις διαθέτει σε χρήστες και εφαρμογές με ομοιογενή τρόπο. Σκοπός αυτής της εργασίας είναι η επέκταση των δυνατοτήτων του λογισμικού awesome με τη συμπερίληψη νέων συσκευών και την προσθήκη νέων χαρακτηριστικών, του οποίου η ανάπτυξη ξεκίνησε στα πλαίσια προηγούμενης εργασίας [18]. Η δομή του συστήματος αποτελείται από διακριτά επίπεδα τα οποία παρουσιάζονται στην Εικόνα 30. Ο κυριότερος όγκος της υλοποίησης αφορά τα επίπεδα των οδηγών και των υπηρεσιών και λιγότερο των εφαρμογών. Εικόνα 30: Αρχιτεκτονική του λογισμικού awesome Στο κατώτερο επίπεδο λογισμικού εντοπίζουμε τα ετερογενή πακέτα συσκευών που παρουσιάστηκαν στο προηγούμενο κεφάλαιο. Τα χαρακτηριστικά αυτού του επιπέδου είναι το φυσικό επίπεδο των συσκευών και τα πρωτόκολλα επικοινωνίας που υλοποιούν για την ασύρματη επικοινωνία μεταξύ τους. Οι συσκευές αυτές μπορεί να είναι απλοί αισθητήρες, όργανα δράσης, κόμβοι δικτύων (δρομολογητές, γέφυρες) ή φυσικές διεπαφές (οθόνες). Η προκλήσεις στην κατασκευή λογισμικού εντοπίζονται κατά τη διασύνδεση και την επικοινωνία, καθώς τα πακέτα συσκευών συνήθως ανήκουν σε διαφορετικούς κατασκευαστές, υλοποιούν

76 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME διαφορετικά πρωτόκολλα, διαχειρίζονται και εκθέτουν με διαφορετικό τα δεδομένα τους. Εξαιτίας της προηγούμενης ετερογένειας, το ενδιάμεσο λογισμικό πρέπει να ενσωματώσει τα κατάλληλα εργαλεία, είτε εσωτερικά με την υλοποίηση εξαρτημάτων για κάθε ομάδα συσκευών, είτε με εξωτερικό τρόπο με την υλοποίηση βοηθητικών εφαρμογών. Σε αυτή την εργασία εφαρμόζεται κυρίως η δεύτερη επιλογή. Για την ομάδα των έξυπνων πριζών, η συλλογή δεδομένων και η διαχείριση λειτουργιών έχουν ενσωματωθεί εσωτερικά στο ενδιάμεσο λογισμικό, ενώ για τις υπόλοιπες ομάδες συσκευών, εξωτερικές εφαρμογές οδηγοί (drivers) αναλαμβάνουν την επικοινωνία και τη διασύνδεση. Αυτός ο διαχωρισμός στον τρόπο υλοποίησης οφείλεται σε δύο λόγους. Καταρχήν, οι έξυπνες πρίζες λειτουργούν και ως συσκευές δράσης, οπότε οι εντολές ενεργοποίησης και απενεργοποίησης ενσωματώνονται ευκολότερα και πιο αποδοτικά κατευθείαν στο ενδιάμεσο λογισμικό και κατά δεύτερον, οι υπόλοιπες συσκευές, επιστρέφουν με παθητικό τρόπο τα δεδομένα ανά συγκεκριμένα χρονικά διαστήματα, χωρίς την ανάγκη κλήσεων προς αυτές. Οπότε, οι οδηγοί είναι υπεύθυνοι για τη σωστή εγκαθίδρυση επικοινωνίας, τη λήψη των μηνυμάτων που στέλνονται και την εξαγωγή τιμών και δεδομένων από αυτά. Στην τελική φάση, αυτά τα δεδομένα πρέπει να αποθηκευτούν με οργανωμένο τρόπο, δηλαδή σε κάποια μορφή κειμένου ή σε βάση δεδομένων SQL. Εικόνα 31: Ο μεσίτης υπηρεσιών του awesome ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 76

77 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME Το σημαντικότερο επίπεδο είναι αυτό το ενδιάμεσου λογισμικού. Σε αυτό συνθέτονται οι υπηρεσίες ιστού και τα αρχεία περιγραφών. Σε αυτό το σημείο δημιουργούντα οι java υπηρεσίες μέσω του JAX-WS RI, οι οποίες δίνουν πρόσβαση στα δεδομένα της βάσης δεδομένων ή σε άλλες λειτουργίες των συσκευών, όπως ρυθμίσεων. Κάθε υπηρεσία αντιστοιχεί σε ένα πακέτο συσκευών και περιέχει ένα σύνολο από λειτουργίες (operations). Οι περιγραφές wsdl δημιουργούνται δυναμικά κατά την εκκίνηση του συστήματος στο διακομιστή java (Glassfish, Tomcat). Η πρόσβαση σε αυτά γίνεται μέσω του uri που έχει οριστεί για κάθε wsdl αρχείο ή μέσω κάποιου φυλλομετρητή στη web διεπαφή που δημιουργεί ο διακομιστής. Στην Εικόνα 32 φαίνεται η λίστα υπηρεσιών μέσω web πρόσβασης στο awesome, όπου διακρίνονται οι επιλογές εμφάνισης των αρχείων wsdl και η λειτουργία άμεσης δοκιμής των υπηρεσιών που παρέχει ο Glassfish Server. Εικόνα 32: Λίστα υπηρεσιών ιστού για κάθε ομάδα συσκευών Στο επίπεδο εφαρμογών η πρόσβαση στις υπηρεσίες είναι εφικτή με δύο τρόπους. Ο ένας είναι μέσω της web διεπαφής, όπως αναφέρθηκε, όταν ο διακομιστής java υποστηρίζει μία τέτοια λειτουργία. Ο βασικότερη μέθοδος όμως είναι μέσω των αρχείων περιγραφών, όπου μπορεί να αναπτυχτεί μια εφαρμογή πελάτη (web service ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 77

78 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME client), που χρησιμοποιεί τις διευθύνσεις uri των περιγραφών ώστε να καλέσει τις υπηρεσίες. Για την ανακάλυψη των υπηρεσιών, υλοποιήθηκε στα πλαίσια της εργασίας ένας υποτυπώδης μεσίτης υπηρεσιών (Εικόνα 31). Ο μεσίτης επιβλέπει τις υπηρεσίες awesome και όσες είναι ενεργές τις δημοσιοποιεί σε μία λίστα με διευθύνσεις αρχείων wsld, τις οποίες μπορεί να ανακαλύψει και να καλέσει οποιαδήποτε εφαρμογή πελάτη. Η ανάπτυξη του λογισμικού awesome λαμβάνει χώρο στα πλαίσια ενός ερευνητικού προγράμματος, με θέμα ένα έξυπνο πανεπιστήμιο, από το Διεθνές Πανεπιστήμιο Ελλάδος (IHU). Στη γενική τοπολογία του συστήματος (Εικόνα 33Εικόνα 38) διακρίνουμε κατανεμημένα τοπικά δίκτυα ασύρματων συσκευών, όπου κεντρικοί κόμβοι (γέφυρες ή τερματικά) εξυπηρετούν γειτονικούς αισθητήρες και συσκευές και εκθέτουν τα δεδομένα και τις λειτουργίες μέσω υπηρεσιών ιστού σε τοπικό επίπεδο. Ένα κεντρικό τερματικό συνθέτει όλες τις επί μέρους υπηρεσίες, προσθέτει κάποιες δικές του και τις δημοσιοποιεί στο διαδίκτυο, μέσω του οποίου εξωτερικές εφαρμογές ή χρήστες μπορούν να έχουν πρόσβαση με απομακρυσμένο τρόπο. Εικόνα 33: Γενική τοπολογία του Έξυπνου Πανεπιστημίου 4.2 ΟΙ ΕΦΑΡΜΟΓΕΣ ΟΔΗΓΟΙ Η Eφαρμογή CCDriver Για την επικοινωνία με το επόμενο πακέτο συσκευών της Current Cost, αναπτύχθηκε η εφαρμογή CCDriver σε Java. Ο CCDriver χρησιμοποιεί την εικονική σειριακή θύρα, που αντιστοιχεί στη σύνδεση USB, του υπολογιστή με την οθόνη EnviR για να εγκαθιδρύσει επικοινωνία με το Current Cost. Όπως και στις συσκευές ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 78

79 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME Plugwise, η διασύνδεση με τη σειριακή θύρα στη Java επιτυγχάνεται με τη βιβλιοθήκη RXTX. Εκτός από το στάδιο της επικοινωνίας με τη συσκευή και την επεξεργασία των εισερχόμενων δεδομένων, η λειτουργία της εφαρμογή είναι παρόμοια με αυτή του PrismaDriver. Η επιλογές για αποθήκευση των δεδομένων είναι πάλι δύο, εγγραφή σε αρχείο κειμένου ή σε MySQL βάση δεδομένων. Η δομή των δεδομένων είναι σχετικά απλή, κάθε αισθητήρας με αρίθμηση από το 0 ως το 9 στέλνει τρεις τιμές κατανάλωσης, μία για κάθε φάση (κανάλι) του ρεύματος, με τη διαφορά ότι ο αισθητήρας 0 αναφέρεται στην συνολική κτιριακή κατανάλωση (whole house consumption). Παραμετροποίηση του CCDriver Ο χρήστης μπορεί να τρέξει τον CCDriver μόνο μέσω του batch αρχείου που συνοδεύει το αρχείο jar. Το αρχείο για να τρέξει πρέπει να παραμετροποιηθεί κατάλληλα για να τρέξει το jar, ακολουθώντας τα εξής βήματα: 1. Εγκαθιστούμε τη βιβλιοθήκη RXTX 2. Εγκαθιστούμε τις συσκευές του Current Cost στην εγκατάσταση του κτιρίου 3. Συνδέουμε την οθόνη EnviR με τον υπολογιστή μέσω σύνδεσης USB και εγκαθιστούμε τους απαραίτητους drivers 4. Βρίσκουμε τον αριθμό της εικονικής σειριακής θύρας που αντιστοιχεί στη σύνδεση USB από τη Διαχείριση Συσκευών 5. Τροποποιούμε το αρχείο CCDriver_X.X.bat, ως εξής: -jar "CCDriver_1.0.jar" arg0 arg1 arg2, όπου η παράμετρος arg0 είναι ο αριθμός της σειριακής θύρας COM η παράμετρος arg1 είναι το όνομα του αρχείου για εγγραφές κειμένου ή sql για αποθήκευση σε βάση δεδομένων η παράμετρος arg2 είναι μια συμβολοσειρά που χρησιμοποιεί η MySQL για σύνδεση στη βάση δεδομένων, αν η παράμετρος arg1 έχει οριστεί ως sql π.χ. java jar CCDriver_X.X.jar COM7 sql jdbc:mysql://localhost/:3306/awesomedb, ή java jar CCDriver_X.X.jar COM7 ccdata.txt 6. Τρέχουμε το αρχείο batch. Ο CCDriver αυτόματα δημιουργεί τη MySQL βάση και τους πίνακες για την αποθήκευση των δεδομένων από τους quax αισθητήρες. Αν όλα έγιναν σωστά, θα αρχίσουμε σχεδόν αμέσως να λαμβάνουμε ενδείξεις στην οθόνη (Εικόνα 34). ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 79

80 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME Εικόνα 34: Μετρήσεις κατανάλωσης στη γραμμή εντολών του CCDriver Η Eφαρμογή PrismaDriver Εγκατάσταση PrismaSense Το πακέτο PrismaSense έρχεται εξ αρχής με συσχετισμένες συσκευές και δεν απαιτείται κάποια επιπλέον ενέργεια για τη δημιουργία του δικτύου. Αφού τοποθετηθούν οι μπαταρίες, μπορούμε να συνδεθούμε με την Prisma Gateway. Αυτό γίνεται με τα παρακάτω βήματα. 1. Δημιουργούμε ένα ad hoc ασύρματο δίκτυο σε κάποιο σταθερό υπολογιστή ή σε κάποιο laptop. Δεν πρέπει να χρησιμοποιηθεί το Security Type Encryption. Το όνομα του ad hoc ασύρματου δικτύου πρέπει να είναι ίδιο με το ISBB της Prisma Gateway, το οποίο αναγράφεται στην κάτω πλευρά της. 2. Στη λίστα ασύρματων δικτύων επιλέγουμε τη νέο δίκτυο και πατάμε Σύνδεση. Το νέο δίκτυο περιμένει για νέες συνδέσεις. 3. Συνδέουμε την Prisma Gateway με την παροχή ρεύματος. Η Prisma Gateway συνδέεται αυτόματα στο νέο δίκτυο. Αν η Prisma Gateway δεν συνδέεται, την αφαιρούμε και την επανατοποθετούμε στην παροχή ρεύματος. Η γέφυρα δεν πρέπει να βρίσκεται πάρα πολύ κοντά στον υπολογιστή. Μέσω της παραπάνω διαδικασίας, η διεύθυνση ip της γέφυρας ανακτάται αυτόματα. Αν θέλουμε να δώσουμε στατική ip στη γέφυρα εκτελούμε τα εξής βήματα. 1. Εγκαθιστούμε και τρέχουμε το Device Installer Application της Lantronix. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 80

81 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME 2. Διαλέγουμε Device->Search και η γέφυρα θα πρέπει να εμφανιστεί αριστερά στη λίστα συσκευών. Αν την επιλέξουμε θα εμφανιστούν οι ιδιότητές της στο κεντρικό παράθυρο. 3. Πατάμε το AssignIP αν θέλουμε να δώσουμε στατική ip. Αν διαλέξουμε το web configuration, μπορούμε να συνδεθούμε σε κάποιο άλλο ασύρματο ή Ethernet δίκτυο. Η παραπάνω διαδικασία αφορά την περίπτωση που δεν γνωρίζουμε την ip διεύθυνση της γέφυρας. Εναλλακτικά, στην περίπτωση που την γνωρίζουμε, μπορούμε να έχουμε άμεση πρόσβαση στη web διεπαφή της Prisma Gateway και να κάνουμε τις αλλαγές που επιθυμούμε (Εικόνα 35). Η Prisma Gateway δέχεται μέχρι και οκτώ συσκευές quax, των οποίων τις διευθύνσεις αποθηκεύει εσωτερικά και αναγνωρίζει μόνο αυτές. Αν η λίστα συμπληρωθεί με οκτώ διευθύνσεις, επιπλέον συσκευές, πέρα από αυτές τις οκτώ δεν μπορούν να προστεθούν στο δίκτυο, άσχετα αν υπάρχουν οκτώ, ένα ή κανένα quax εκείνη τη στιγμή συνδεδεμένα με τη γέφυρα. Αυτό σημαίνει ότι αν το δίκτυο αρχικοποιηθεί με οκτώ συσκευές, θα μπορεί να επικοινωνεί μόνο με αυτές στο μέλλον. Αυτό το πρόβλημα αντιμετωπίζεται με την επαναφορά της Prisma Gateway και πλέον θα μπορεί να δεχτεί οκτώ νέα quax. Για να επαναφέρουμε τη συσκευή στις εργοστασιακές ρυθμίσεις πρέπει να την αποσυνδέσουμε από το ρεύμα, να την επανασυνδέσουμε και να κρατήσουμε πατημένο το κουμπί για 10 δευτερόλεπτα. Επιπλέον προβλήματα που μπορούν να παρουσιαστούν, όπως η εισαγωγή λάθος ρυθμίσεων από τον χρήστη, μπορούν να αντιμετωπιστούν με επαναφορά της συσκευής. Εικόνα 35: Η γραφική διεπαφή ρυθμίσεων του Prisma Gateway ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 81

82 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME Για το πακέτο συσκευών PrismaSense αναπτύχθηκε μία εφαρμογή με σκοπό την επικοινωνία με τους αισθητήρες quax και την απόκτηση των δεδομένων τους με την ονομασία PrismaDriver. Η εφαρμογή είναι ένας driver με διεπαφή γραμμής εντολών που αναπτύχθηκε σε Java. Κατά τη βασικής της λειτουργία, η εφαρμογή συνδέεται σε πρώτη φάση με την prisma gateway και ακούει για εισερχόμενα μηνύματα. Αυτά τα μηνύματα περιέχουν τη διεύθυνση της μονάδας quax και τις τιμές των αισθητήρων, τα οποία προβάλλονται στην κονσόλα. Οι μονάδες quax που χρησιμοποιήθηκαν στην εργασία είχαν ενσωματωμένους αισθητήρες θερμοκρασίας, υγρασίας και φωτεινότητας. Εκτός από αυτούς τους αισθητήρες, το PrismaSense περιλαμβάνει επιπλέον και επιταχυνσιόμετρα, τα οποία δεν ήταν διαθέσιμα. Εκτός από την παρουσίαση ενδείξεων στην οθόνη, ο driver παρέχει επιλογές για αποθήκευση των δεδομένων. Αυτή η λειτουργία υλοποιείται με δύο τρόπους, με εγγραφή σε αρχείο ή αποθήκευση σε βάση δεδομένων. Κατά την πρώτη επιλογή, το πρόγραμμα γράφει σειρές σε ένα αρχείο κειμένου με την εξής μορφή: :03: A C4DF light Οι δύο πρώτες συμβολοσειρές καταγράφουν την ημερομηνία και την ώρα της μέτρησης και η τρίτη τη διεύθυνση της μονάδας quax από την οποία προέρχεται η τιμή σε δεκαεξαδική μορφή. Το τέταρτο είναι ένα αναγνωριστικό που χαρακτηρίζει τον τύπο της τιμής και μπορεί να ανήκει στο σύνολο {light, temp, hum} για τις τιμές της φωτεινότητας, της θερμοκρασίας και της υγρασίας αντίστοιχα. Στο τέλος καταγράφεται η τιμή κινητής υποδιαστολής με την ένδειξη του αισθητήρα. Η εκτίμηση για τις μονάδες μέτρησης είναι ότι η θερμοκρασία μετριέται σε βαθμούς κελσίου, αφού η τιμή διαιρεθεί με το 10000, η φωτεινότητα σε cd/m 2 και η υγρασία σε ποσοστιαία σχετική υγρασία (RH%). Αν ο χρήστης επιλέξει τη βάση δεδομένων, η εφαρμογή δημιουργεί τους κατάλληλους πίνακες στη βάση δεδομένων του awesome, ένα διαφορετικό πίνακα για κάθε τύπο τιμής και αποθηκεύει τις εγγραφές. Παραμετροποίηση του PrismaDriver Ο χρήστης μπορεί να τρέξει τον PrismaDriver μόνο μέσω του batch αρχείου που συνοδεύει το αρχείο jar. Το αρχείο για να τρέξει πρέπει να παραμετροποιηθεί κατάλληλα για να τρέξει το jar, ακολουθώντας τα εξής βήματα: 1. Συνδεόμαστε με την Prisma gateway μέσω wifi ή Ethernet 2. Ανοίγουμε το αρχείο batch με όνομα PrismaDriver_X.X.bat και τροποποιούμε το περιεχόμενό του ως εξής: java -jar "PrismaDriver_1.0.jar" arg0 arg1 arg2 arg3, όπου η παράμετρος arg0 είναι η IP διεύθυνση της gateway η παράμετρος arg1 είναι ο αριθμός της θύρας της gateway η παράμετρος arg2 είναι το όνομα του αρχείου για εγγραφές κειμένου ή sql για αποθήκευση σε βάση δεδομένων η παράμετρος arg3 είναι μια συμβολοσειρά που χρησιμοποιεί η MySQL για σύνδεση στη βάση δεδομένων, αν η παράμετρος arg2 έχει οριστεί ως sql π.χ. java jar PrismaDriver_1.1.jar sql jdbc:mysql://localhost:3306/awesomedb, ή java jar PrismaDriver_1.1.jar prismadata.txt ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 82

83 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME 3. Η σύνδεση του PrismaDriver χρησιμοποιεί τις εξής ρυθμίσεις για login: username = root password = 4. Τρέχουμε το αρχείο batch. Ο PrismaDriver αυτόματα δημιουργεί τη MySQL βάση και τους πίνακες για την αποθήκευση των δεδομένων από τους quax αισθητήρες. Αν όλα έγιναν σωστά, θα αρχίσουμε σχεδόν αμέσως να λαμβάνουμε ενδείξεις από τις μονάδες quax Η Eφαρμογή ZWDriver Εγκατάσταση δικτύου συσκευών Z-Wave Η δημιουργία του δικτύου Z-Wave και η συσχέτιση των συσκευών μπορούν να γίνουν είτε με τις συσκευές να έχουν τοποθετηθεί στη μόνιμη θέση τους είτε να είναι ελεύθερες. Αρχικά, πρέπει να τοποθετηθούν οι μπαταρίες. Έπειτα, προαιρετικά μπορούν να τοποθετηθούν στη μόνιμη θέση τους. Όλες οι συσκευές έχουν κάποιο εξωτερικό ή εσωτερικό κουμπί με το οποίο ο χρήστης μπορεί να εξετάσει αν η συσκευή λειτουργεί. Αυτό το κουμπί μπορεί να είναι το ίδιο με το οποίο γίνονται οι λειτουργίες της συσχέτισης ή του αποκλεισμού. Για τη δημιουργία του δικτύου πρέπει όλες οι συσκευές να συσχετιστούν με τον κεντρικό ελεγκτή. Στην εργασία χρησιμοποιήθηκε ο Aeon Labs Z-Stick Series 2, ένα αυτόνομο usb stick. Για τη συσχέτιση του stick με κάποια συσκευή, πιέζουμε το κουμπί στο stick, το πλησιάζουμε σε κοντινή απόσταση με τη συσκευή και πιέζουμε το κουμπί συσχέτισης της συσκευής. Αν η συσχέτιση ήταν επιτυχής, το μπλε LED του stick θα σταματήσει να αναβοσβήνει για λίγο και στη συσκευή θα παραχωρηθεί ένας μοναδικός αριθμός δικτύου (NodeID). Στην αρχή της συσχέτισης η συσκευή μένει για κάποια λεπτά αφυπνισμένη και μπορεί να λάβει εντολές και πληροφορίες ρυθμίσεων. Έπειτα, θα εισέλθει σε φάση χαμηλής κατανάλωσης (φάση ύπνου) και θα αφυπνίζεται ανά συγκεκριμένα χρονικά διαστήματα για κάποια δευτερόλεπτα. Ο μόνος τρόπος να αφυπνιστεί χειροκίνητα μία συσκευή είναι όταν πιεστεί το κουμπί συσχέτισης. Κατά τη φάση του ύπνου, οι συσκευές δεν στέλνουν ούτε λαμβάνουν εντολές και δεδομένα. Μόνο συγκεκριμένες συσκευές μπορούν να στείλουν αυτόκλητες εντολές, όπως οι ανιχνευτές κίνησης. Ο αποκλεισμός μιας συσκευής γίνεται με παρόμοιο τρόπο. Πιέζουμε το κουμπί του stick μέχρι αυτό να αρχίσει να αναβοσβήνει με συχνότερο ρυθμό από τη φάση συσχέτισης και έπειτα πιέζουμε το κουμπί της συσκευής. Αν ο αποκλεισμός ήταν επιτυχής, το stick θα σταματήσει για λίγο να αναβοσβήνει και η συσκευή δεν θα ανήκει πλέον στο δίκτυο. Αποκλεισμός της συσκευής αρχικοποιεί τις ρυθμίσεις της. Επίσης, ο αποκλεισμός και η εκ νέου συσχέτιση μιας συσκευής μπορεί να λύσει τυχόν προβλήματα που μπορεί να προκλήθηκαν όσο αυτή άνηκε στο δίκτυο. Εγκατάσταση και παραμετροποίηση του ZWaveDriver Η εγκατάσταση του ZWDriver περιλαμβάνει τη μεταφορά και των τεσσάρων βασικών αρχείων του οδηγού. Αυτά είναι το εκτελέσιμο αρχείο, το αρχείο batch, η βιβλιοθήκη mysqlcppconn.dll και το αρχείο ρυθμίσεων ZWDriverSettings. Το αρχείο ρυθμίσεων περιλαμβάνει τις ρυθμίσεις του οδηγού καθώς και ξεχωριστές ρυθμίσεις για κάθε συσκευή. Το poll_interval αναφέρεται στο χρονικό διάστημα που γίνονται οι κλήσεις καταγραφής σε milliseconds και το logging ενεργοποιεί ή απενεργοποιεί την εμφάνιση ενδείξεων της βιβλιοθήκης open-zwave. Οι υπόλοιπες ρυθμίσεις που ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 83

84 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME διαχωρίζονται με σχόλια αφορούν τις συσκευές ZIR010 και EZMotion. Το πρόθεμα zir αντιστοιχεί στο ZIR010, όπου για το mode επιλέγουμε να είναι lighting. Οι άλλες δύο επιλογές είναι alarm και sensor. Η συσκευή στέλνει μετά από δύο λεπτά από την τελευταία ανίχνευση δραστηριότητας την εντολή OFF/IDLE. Στη ρύθμιση off/idle delay (μόνο για lighting και sensor mode) η εντολή OFF/IDLE μπορεί να αποστέλλεται αμέσως (0) ή από 1 έως 255 λεπτά αργότερα. Το wake up interval αναφέρεται στο χρονικό διάστημα ανά το οποίο η συσκευή αφυπνίζεται και είναι σε λεπτά. Το πρόθεμα hsm αντιστοιχεί στο EZMotion, με το sensitivity να καθορίζει την ευαισθησία στην ανίχνευση κίνησης. Το on time ρυθμίζει τον αριθμό των λεπτών που περνούν από τη στιγμή που ανιχνεύεται κίνηση μέχρι τη στιγμή που ανάβει το LED της συσκευής. Το stay awake έχει την τιμή 0, ενώ αν θέσουμε κάποια άλλη τιμή η συσκευή παραμένει αφυπνισμένη μόνιμα και μετατρέπεται σε συσκευή δρομολογητή με ανάλογο αντίκτυπο στη διάρκεια μπαταρίας. Το wake up interval καθορίζει το διάστημα ανά το οποίο αφυπνίζεται η συσκευή. Εδώ πρέπει να τονιστεί ότι δεν περιλαμβάνονται όλες οι ρυθμίσεις που υποστηρίζονται από τις συσκευές, αλλά μόνο αυτές που κρίθηκαν ότι πρέπει ή μπορούν να αλλάζουν από τους χρήστες. Γι αυτό το λόγο δεν περιλαμβάνονται στο αρχείο οι ρυθμίσεις της συσκευής SF812. Οι τιμές των ρυθμίσεων που δίνονται παρακάτω είναι οι προτεινόμενες. poll_interval 1500 logging false! ! device settings! zir_mode lighting zir_off_idle_delay 1 zir_wake_up_interval 3600! hsm_sensitivity 200 hsm_on_time 3 hsm_stay_awake 0 hsm_wake_up_interval 1800 Ο χρήστης μπορεί να τρέξει τον ZWaveDriver μόνο μέσω του batch αρχείου που συνοδεύει το εκτελέσιμο αρχείο. Το αρχείο για να τρέξει πρέπει να παραμετροποιηθεί κατάλληλα για να τρέξει το exe, ακολουθώντας τα εξής βήματα: 1. Εγκαθιστούμε και αντιστοιχίζουμε τις συσκευές Z-Wave το stick 2. Συνδέουμε το stick με τον υπολογιστή μέσω σύνδεσης USB και εγκαθιστούμε τους απαραίτητους drivers 3. Βρίσκουμε τον αριθμό της εικονικής σειριακής θύρας που αντιστοιχεί στη σύνδεση USB από τη Διαχείριση Συσκευών 4. Τροποποιούμε το αρχείο ZWDriver _X.X.jar, ως εξής: start /wait /b ZWDriver.exe arg0 arg1 arg2, όπου η παράμετρος arg0 είναι ο αριθμός της σειριακής θύρας COM ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 84

85 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME η παράμετρος arg1 είναι το όνομα του αρχείου για εγγραφές κειμένου ή μια συμβολοσειρά που χρησιμοποιεί η MySQL για σύνδεση στη βάση δεδομένων η παράμετρος arg2 είναι το όνομα της βάσης δεδομένων π.χ. start /wait /b ZWDriver.exe COM27 tcp:// :3306 awesomedb, ή start /wait /b ZWDriver.exe COM27 filename.txt 5. Τρέχουμε το αρχείο batch. Ο ZWDriver αυτόματα δημιουργεί τους πίνακες για την αποθήκευση των δεδομένων από τις συσκευές. Αν όλα έγιναν σωστά, θα αρχίσουμε σχεδόν αμέσως να λαμβάνουμε ενδείξεις στην οθόνη. Εφόσον γίνει σωστά η εγκατάσταση του δικτύου και η έναρξη του οδηγού, θα αρχίσουν να εμφανίζονται ενδείξεις στη γραμμή εντολών και η βάση θα αρχίσει να αποθηκεύει δεδομένα. Στην Εικόνα 36 φαίνονται οι ειδοποιήσεις που λαμβάνονται από τις συσκευές. Μπορεί να είναι απλές, όπου αναφέρεται μόνο το είδος της ειδοποίησης ή να είναι πιο σημαντικές όπου αναφέρονται οι πληροφορίες συσκευής, το είδος της ειδοποίησης και κάποιο ενημερωτικό μήνυμα (π.χ. ανίχνευση κίνησης). Εικόνα 36: Ειδοποιήσεις στη γραμμή εντολών του ZWaveDriver 4.3 ΟΙ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ AWESOME Ο πυρήνας του ενδιάμεσου λογισμικού awesome αποτελείται από τις υπηρεσίες ιστού. Το awesome προσφέρει τέσσερις υπηρεσίες για τα ασύρματα δίκτυα συσκευών που ενσωματώνει, μία για κάθε πακέτο συσκευών. Αυτές είναι η Smart plug για το πακέτο Plugwise, η Smart Clamper για το πακέτο Current Cost, η Sensor Board για το πακέτο Prisma και η ZWave για το ομώνυμο πακέτο συσκευών Z-Wave. Κάθε υπηρεσία περιέχει συγκεκριμένες λειτουργίες (operations). Εκτός από την υπηρεσία Smart Plug, η οποία ενσωματώνει όλες τις λειτουργίες της εσωτερικά, οι υπόλοιπες έχουν πρόσβαση στα δεδομένα των συσκευών μέσω της βάσης δεδομένων στην οποία καταχωρούν εγγραφές τα προγράμματα οδηγοί. Στη συνέχεια, περιγράφονται αναλυτικά οδηγίες για την εγκατάσταση του awesome, οι ρυθμίσεις του και οι λειτουργίες των υπηρεσιών. Η λειτουργία του awesome προϋποθέτει την εγκατάσταση κάποιων βιβλιοθηκών και προγραμμάτων και περιγράφεται στα παρακάτω βήματα: ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 85

86 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME 1. Εγκατάσταση των JRE και JDK 2. Εγκατάσταση της βιβλιοθήκης RXTX 3. Εκτέλεση του script install_rxtx.bat (x86 και x64) 4. Εγκατάσταση Apache Web Server και MySQL (Wamp, Xampp) δημιουργία admin χρήστη - εκκίνηση 5. Εγκατάσταση του GlassFish Server ή εγκατάσταση του Tomcat Server δημιουργία manager χρήστη 6. Εγκατάσταση drivers για τις φυσικές διεπαφές (usb) των συσκευών με τον υπολογιστή 7. Εγκατάσταση των awesome Drivers 8. Εγκατάσταση του λογισμικού awesome Tomcat Server: αντιγραφή του awesome _X.X.war και των αρχείων με τα settings στο directory του CATALINA_HOME%/webapps GlassFish Server: προσθήκη του awesome _X.X.war μέσω της web διεπαφής του server και αντιγραφή των αρχείων ρυθμίσεων στο directory glassfish/domains/domain1 9. Εισαγωγή αλλαγή στις ρυθμίσεις (settings) των υπηρεσιών: Smart Plug Smart Clamper Sensor Board ZWave 10. Deploy των υπηρεσιών μέσω του server Υπηρεσία Ιστού Smart Plug Οι λειτουργίες που προσφέρονται από την υπηρεσία Smart plug είναι δύο κατηγοριών. Η πρώτη κατηγορία παρέχει δεδομένα σχετικά με την κατανάλωση ή την κατάσταση των πριζών, ενώ η δεύτερη αντιμετωπίζει τις πρίζες ως συσκευές δράσης στέλνοντας εντολές ενεργοποίησης και απενεργοποίησης. Η λειτουργία ReadStatus επιστρέφει την κατάσταση της συσκευής (on-1/off-0) και η Calibrate επιστρέφει τις τιμές GainA, GainB, offtot και offtot οι οποίες εξηγούνται στο επόμενο κεφάλαιο και χρησιμοποιούνται για τον υπολογισμό των τιμών κατανάλωσης. Η ReadPulses επιστρέφει 3 τιμές παλμών (1 sec, 8 sec, συνολικοί) από τις οποίες υπολογίζεται η ενεργειακή ισχύς της συσκευής που έχει προσαρμοστεί στην πρίζα. Οι λειτουργίες ReadPower και ReadCorPower επιστρέφουν τις τιμές της ισχύς και της κατανάλωσης, με τη διαφορά ότι η δεύτερη χρησιμοποιεί στους υπολογισμούς τις τιμές διαμέτρησης (calibration). H SwitchOnOff ανοίγει ή κλείνει την πρίζα, ανάλογα με το αν κληθεί η SwitchOn ή η SwitchOff. Operations SwitchOff(String Mac) : void SwitchOn(String Mac) : void SwitchOnOff(String Mac, String OnOff) : void Calibrate(String Mac) : float[] ReadPulses(String Mac) : int[] ReadCorPower(String Mac) : double[] ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 86

87 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME ReadPower(String Mac) : double[] ReadStatus(String Mac) : int Πίνακας 3: Οι λειτουργίες της υπηρεσίας Smart Plug Στο αρχείο ρυθμίσεων της Smart Plug, που φαίνεται παρακάτω, καταγράφονται και διακρίνονται τα δίκτυα Plugwise. Υπάρχει η δυνατότητα συμπερίληψης πολλών δικτύων και κάθε ένα δηλώνεται ως network με έναν αύξοντα αριθμό. Για κάθε δίκτυο δηλώνονται η σειριακή θύρα που χρησιμοποιεί το stick στον υπολογιστή και η διεύθυνση mac κάθε οντότητας του μοναδικού δικτύου (stick, circle+, circles). Πρέπει να σημειωθεί ότι τυχόν αλλαγές στις ρυθμίσεις, όπως η προσθήκη ενός νέου δικτύου, μπορούν να αναγνωριστούν μόνο με επανεκκίνηση της υπηρεσίας. Αυτό ισχύει για όλες τις υπηρεσίες. network 1 comport COM3 stick 000D6F000076A1C9 circle+ 000D6F000098A85D network 2 comport COM4 stick 000D6F0000B8114C circle+ 000D6F000043B4CA Υπηρεσία Ιστού Smart Clamper Η υπηρεσία Smart Clamper παρέχει ενεργειακά δεδομένα σχετικά με τις γραμμές της κεντρικής παροχής ρεύματος του κτιρίου. Οι GetPowerReading3Phase και GetPowerReading επιστρέφουν τις τιμές ισχύος των 3 γραμμών παροχής του κτιρίου, με τη διαφορά ότι η δεύτερη επιστρέφει επιπλέον μία χρονοσφραγίδα με την ημερομηνία και την ώρα της μέτρησης. Η GetPower επιστρέφει το άθροισμα των τριών μετρήσεων με τη συνολική ισχύ. Operations GetPowerReading3Phase(int sensor) : String[] GetPowerReading(int sensor) : String[] GetPower(int sensor) : float Πίνακας 4: Οι λειτουργίες της υπηρεσίας Smart Clamper Στο αρχείο ρυθμίσεων, στο πεδίο datafile δηλώνεται το όνομα του αρχείου από το οποίο θέλουμε να διαβάσει η υπηρεσία εγγραφές δεδομένων, αν έχει επιλεγεί η αποθήκευση δεδομένων σε αρχείο κειμένου μέσω του πεδίου dbmode (true, false). Η τιμή threshold καταγράφει το χρονικό όριο που υπηρεσία απορρίπτει ή αποδέχεται την τελευταία μέτρηση της βάσης δεδομένων. Όλες οι τιμές της βάσης έχουν μία χρονοσφραγίδα και αν αυτή είναι παλαιότερη του threshold, τότε απορρίπτεται και ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 87

88 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME εμφανίζεται σχετικό μήνυμα. Στα πεδία dburl, dbusername και dbpassword συμπληρώνονται τα στοιχεία σύνδεσης με τη βάση δεδομένων. datafile C:\\cc_debug.txt threshold 1800 dbmode true dburl jdbc:mysql://localhost:3306/awesomedb dbusername root dbpassword -no Υπηρεσία Ιστού Sensor Board Η υπηρεσία Sensor Board προσφέρει τρεις λειτουργίες με βάση το είδος των αισθητήρων (υγρασίας, θερμοκρασίας, φωτεινότητας). Η κλήση μίας λειτουργίας επιστρέφει την τιμή της αντίστοιχης μέτρησης με είσοδο τη διεύθυνση ενός αισθητήρα quax. Operations GetRecentHumidity(String sensor) : double GetRecentTemperature(String sensor) : double GetRecentLight(String sensor) : double Πίνακας 5: Οι λειτουργίες της υπηρεσίας Sensor Board Το αρχείο ρυθμίσεων της Sensor Board περιέχει τα ίδια πεδία με αυτό του Smart Clamper, πληροφορίες για σύνδεση με τη βάση, η τοποθεσία του αρχείου δεδομένων και το χρονικό όριο πρόσφατης τιμής. datafile c:/path/filename.txt threshold 1800 dbmode true dburl jdbc:mysql://localhost:3306/awesomedb dbusername root dbpassword -no Υπηρεσία Ιστού ZWave Κάθε λειτουργία της υπηρεσίας ZWave αντιστοιχεί σε είδος δεδομένων που καταγράφουν οι αισθητήρες στη βάση (ανίχνευση κίνησης, ανίχνευση καπνού, θερμοκρασία, φωτεινότητα, επίπεδα μπαταρίας). Ως είσοδος δηλώνονται ο αριθμός δικτύου (HomeID) και ο αριθμός κόμβου (NodeID) που είναι μοναδικός για κάθε συσκευή. Κάθε τιμή επιστρέφεται με τη χρονοσφραγίδα της μέτρησης. Operations ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 88

89 ΚΕΦΑΛΑΙΟ 4: ΤΟ ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ AWESOME GetRecentMotionStatus(int homeid, int nodeid) : String[] GetRecentSmokeAlarm(int homeid, int nodeid) : String[] GetRecentTemperature(int homeid, int nodeid) : Strig[] GetRecentLuminance(int homeid, int nodeid) : String[] GetRecentBatteryLevel(int homeid, int nodeid) : String[] Πίνακας 6: : Οι λειτουργίες της υπηρεσίας ZWave Το αρχείο ρυθμίσεων της ZWave περιέχει τα ίδια πεδία με αυτά των Smart Clamper και Sensor Board, πληροφορίες για σύνδεση με τη βάση, την τοποθεσία του αρχείου δεδομένων και το χρονικό όριο πρόσφατης τιμής. datafile c:/path/filename.txt threshold 1800 dbmode true dburl jdbc:mysql://localhost:3306/awesomedb dbusername root dbpassword -no ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 89

90 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME Κ Ε Φ Α Λ Α Ι Ο 5 : Υ Λ Ο Π Ο Ι Η Σ Η A W E S O ME ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 90

91 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ AWESOME Σε αυτό το κεφάλαιο παρουσιάζονται τεχνικές και τμήματα της υλοποίησης που βοηθούν στην κατανόηση της λειτουργίας του λογισμικού. Δίνεται η επεξήγηση κάποιων τεχνικών που χρησιμοποιήθηκαν και η παρουσίαση προβλημάτων που προέκυψαν, παραθέτοντας τμήματα του κώδικα όπου αυτό κρίνεται απαραίτητο. 5.1 ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ Υπηρεσίες Ιστού Πρωτόκολλο διασύνδεσης Plugwise Το πακέτο συσκευών Plugwise είναι το πρώτο πακέτο συσκευών που ενσωματώθηκε στο awesome και υλοποιήθηκε σε προηγούμενη εργασία, ενώ αναδιοργανώθηκε και αναβαθμίστηκε στην παρούσα. Η Plugwise προσφέρει το λογισμικό Source ως μοναδικό μέσο διαχείρισης των συσκευών και είναι κλειστού κώδικα, διαθέσιμο μόνο για Windows. Η εταιρεία δεν προσφέρει κάποιο API στους προγραμματιστές κι έτσι η δημιουργία λογισμικού καθίσταται μια δύσκολη διαδικασία. Με τη λύση αυτού του προβλήματος ασχοληθήκαν κοινότητες προγραμματιστών λόγω της διάδοσης των συσκευών Plugwise. Η ανάλυση του πρωτοκόλλου επικοινωνίας που χρησιμοποιεί το Plugwise για τη διασύνδεση με τον υπολογιστή έγινε με την παρακολούθηση και την καταγραφή των πακέτων που ανταλλάσουν το usb stick με τον υπολογιστή, συνήθως για υλοποίηση πλατφόρμες Mac/Linux. Η αναπαραγωγή αυτών των μηνυμάτων δίνει τη δυνατότητα παράκαμψης του λογισμικού Source. Το πιο λειτουργική προσπάθεια έγινε από τον Maarten Damen και ονομάζεται Plugwise On Linux POL. Στο blog 18 του αναλύονται τα πακέτα του πρωτοκόλλου και οι ομάδες εντολών που χρησιμοποιούνται για εκτέλεση των λειτουργιών των συσκευών. Το λογισμικό διαμοιράστηκε μέσω της κοινότητας του bwired 19, ενός διασυνδεδεμένου σπιτιού στο οποίο συμμετέχει πλήθος προγραμματιστών που ασχολούνται με τους οικιακούς αυτοματισμούς. Αρχικά, στην έναρξη της υλοποίησης γνωστοποιούνται οι παράμετροι επικοινωνίας της σύνδεσης usb: Baud rate: Data bits: 8 Stop bits: 1 Parity: none

92 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME Η δομή ενός πακέτου επικοινωνίας έχει τη μορφή της Εικόνα 37, όπου εστιάζουμε στο σημαντικό μέρος του πακέτου που είναι το πεδίο που περιέχει τα δεδομένα: Εικόνα 37: Πακέτο επικοινωνίας Plugwise Αναλυτικότερα, το πακέτο DATA αποτελείται από τις παρακάτω πεδία πληροφοριών: 1. Ένα τετραψήφιο κωδικό που αντιστοιχεί σε μία εντολή του πρωτοκόλλου Plugwise. Στο βασικό πακέτο εντολών που έχει δημοσιευθεί, οι γνωστές εντολές μαζί με τον κωδικό του πακέτου για την απόκριση (Request Response) είναι οι εξής: 0017 : Αλλαγή Κατάστασης - Άνοιγμα και κλείσιμο (On/Off) : Πληροφορίες Συσκευής : Πληροφορίες Μνήμης buffer : Ρύθμιση (Calibration) της συσκευής : Πληροφορίες κατανάλωσης ρεύματος (αριθμός παλμών) 2. Τη διεύθυνση MAC του επιθυμητού Circle (αναγράφεται πίσω από κάθε Circle) 3. Το πακέτο επιβεβαίωσης CRC, αφού έχει υπολογιστεί με βάση μόνο το πεδίο DATA. Η μέθοδος CRC που χρησιμοποιείται ονομάζεται CRC16 ή ymodem ή zmodem και έχει τις παρακάτω παραμέτρους: Polynomial: Seed value: XOR mask: Width: Τη λήξη πακέτου, end, είναι πάντα \x0d\x0a Για παράδειγμα μια εντολή αλλαγής κατάστασης σε On (χωρίς την επικεφαλίδα, το CRC και τη λήξη) είναι: D6F0000XXXXXX01 Όπου 0017 είναι ο κωδικός εντολής, 00D6F0000XXXXXX η διεύθυνση MAC του Circle και 01 ο κωδικός αλλαγής κατάστασης σε On Όπως παρατηρείται, η εντολή αλλαγής κατάστασης απαιτεί ένα παραπάνω πεδίο, 00 ή 01, κάτι το οποίο δε συμβαίνει με τις εντολές Πληροφορίας συσκευής, Ρύθμισης και Πληροφορίες ρεύματος. Οι Πληροφορίες Μνήμης buffer, όμως επίσης απαιτούν ένα επιπλέον πεδίο με τη logaddress, μια δεύτερη ειδική διεύθυνση για τις συσκευές. Η logaddress μπορεί ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 92

93 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME να αποκτηθεί πρωτίστως από την απάντηση στην εντολή Πληροφορίες Συσκευής. Επιπλέον, μπορεί η εντολή Πληροφοριών ρεύματος να μην απαιτεί άμεσα κάποιο επιπλέον πεδίο, όμως για να μετατραπούν οι παλμοί σε σωστές μετρήσεις ισχύος, χρειάζονται οι πληροφορίες διαμέτρησης της συσκευής, GainA, GainB, offtot και offnoise. Οι πληροφορίες αυτές μπορούν να αποκτηθούν από την απόκριση της εντολής για Ρύθμιση. Οι παραπάνω σχέσεις απεικονίζονται στην Εικόνα 39, όπου αναπαρίστανται συνολικά όλες οι γνωστές εντολές. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 93

94

95 Εντολή Αλλαγής Κατάστασης 0017 Εντολή Πληροφοριών Συσκευής 0023 On - Off Απόκριση Πληροφοριών Συσκευής 0024 Εντολή Πληροφοριών Μνήμης Buffer 0048 Απόκριση Πληροφοριών Μνήμης Buffer 0049 Εντολή Ρύθμισης - Calibration 0026 Απόκριση Calibration 0027 Κατάσταση On/Off Εσωτερικό Ρολόι Firmware version logaddress... 4 ώρες δεδ. παλμών Gain A Gain B Off Tot Off Noise Εντολή Πληροφοριών Ρεύματος 0012 Βασικές Εντολές Επιπλέον Εντολές Απόκριση Ρεύματος 0013 Παλμοί 1 sec Παλμοί 8 sec Σύνολο Παλμών Κατανάλωση Ρεύματος Ανάθεση Stick Circle A 0004 Ανάθεση Circle Circle Εικόνα 38: Γραφική αναπαράσταση των εντολών και αποκρίσεων του πρωτοκόλλου Plugwise

96 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME Υλοποίηση λειτουργιών στις Υπηρεσίες Ιστού Η υλοποίηση των υπηρεσιών έγινε στο περιβάλλον του Netbeans 7.1, το οποίο παρέχει εύκολες και πρακτικές μεθόδους δημιουργίας και διαχείρισης υπηρεσιών ιστού, χρησιμοποιώντας πάγιες βιβλιοθήκες και τεχνολογίες. Ενδεικτικά, στα δύο παρακάτω δείγματα κώδικα παρουσιάζεται η σήμανση των κλάσεων και των μεθόδων τους με τις οι οποίες πλέον επεκτείνονται ως υπηρεσίες ιστού και λειτουργίες. Οι υπηρεσίες αναπτύχθηκαν με βάση το πρότυπο JAX-WS (Java API for XML Web Services), που έχει αντικαταστήσει το παλαιότερο πρότυπο JAX-RPC, απλοποιώντας τη δημιουργία υπηρεσιών ιστού και λύνοντας προβλήματα. Το JAX-WS υποστηρίζει όλα τα σύγχρονα πρωτόκολλα που χρησιμοποιούνται στις υπηρεσίες ιστού, όπως τα SOAP 1.1, SOAP 1.2 XML και χρησιμοποιεί τις τεχνολογίες JAXB 2.0 (Java Architecture for XML Binding) για τη διασύνδεση δεδομένων και METRO για την κατασκευή της στοίβας υπηρεσιών = "SensorBoardService") public class SensorBoardService { = "GetRecentHumidity") public double = "sensor") String sensor) throws InvalidDeviceAddressException, InternalServiceException, ExpiredDataException { } Αρχεία Περιγραφών WSDL Όπως προαναφέρθηκε σε προηγούμενο κεφάλαιο, η περιγραφή των υπηρεσιών γίνεται στα αρχεία wsdl. Τα αρχεία wsdl του awesome δημιουργούνται δυναμικά με αυτόματο τρόπο κατά τη φόρτωση του αρχείου war στον εξυπηρετητή java. Το JAX-WS υποστηρίζει μόνο το πρότυπο WSDL 1.1 και όχι το WSDL 2.0. Παρακάτω παρουσιάζεται ενδεικτικά το τμήμα του wsdl αρχείου της υπηρεσίας Sensor Board που περιέχει τα στοιχεία massage. <message name="getrecenthumidity"> <part name="parameters" element="tns:getrecenthumidity"/> </message> <message name="getrecenthumidityresponse"> <part name="parameters" element="tns:getrecenthumidityresponse"/> </message> <message name="invaliddeviceaddressexception"> <part name="fault" element="tns:invaliddeviceaddressexception"/> </message> <message name="internalserviceexception"> <part name="fault" element="tns:internalserviceexception"/> </message> <message name="expireddataexception"> <part name="fault" element="tns:expireddataexception"/> </message> <message name="getrecenttemperature"> <part name="parameters" element="tns:getrecenttemperature"/> </message> <message name="getrecenttemperatureresponse">

97 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME <part name="parameters" element="tns:getrecenttemperatureresponse"/> </message> <message name="getrecentlight"> <part name="parameters" element="tns:getrecentlight"/> </message> <message name="getrecentlightresponse"> <part name="parameters" element="tns:getrecentlightresponse"/> </message> <message name="getdbvalue"> <part name="parameters" element="tns:getdbvalue"/> </message> <message name="getdbvalueresponse"> <part name="parameters" element="tns:getdbvalueresponse"/> </message> 5.2 ΥΛΟΠΟΙΗΣΗ ΟΔΗΓΩΝ CCDriver Μηνύματα Current Cost Η διασύνδεση του προγράμματος οδηγού με την κεντρική συσκευή (οθόνη) του Current Cost υλοποιήθηκε μέσω σειριακού προγραμματισμού με χρήση της βιβλιοθήκης RXTX. Τα δεδομένα που λαμβάνονταν από τη σειριακή θύρα έχουν τη μορφή μηνυμάτων XML, τα οποία πρέπει να αναλυθούν για την εξαγωγή των ενεργειακών δεδομένων. Η οθόνη EnviR στέλνει δεδομένα περίπου κάθε 6 δευτερόλεπτα μέσω της θύρας USB στον υπολογιστή. Η εφαρμογή λαμβάνει αυτά τα δεδομένα μέσω μιας εικονικής σειριακής θύρας (virtual port) σε μορφή γραμμών XML. Ο XML parser του driver ξεχωρίζει τα δεδομένα. Στον Πίνακας 7 δίνονται τα δύο είδη μηνυμάτων που μπορεί να στείλει η οθόνη. Ένα απλό μήνυμα αναφέρει τα εξής πεδία πληροφορίας: <src>: πληροφορία για τη συσκευή και το λογισμικό <dsb>: απαρίθμηση των ημερών που έχουν περάσει από την έναρξη λειτουργίας (days since birth) <time>: η ώρα της μέτρησης <tmpr>: τιμή θερμοκρασίας <sensor[0-9]>: ο αριθμός του αισθητήρα, το 0 αντιστοιχεί στον αισθητήρα ολόκληρου του σπιτιού, ενώ οι 1-9 αντιστοιχούν στις συσκευές αισθητήρων <ch[1-3]><watts>: ο αριθμός της φάσης και η μέτρηση του ρεύματος σε watt Τα μηνύματα ιστορικού έρχονται στις ώρες με περιττό αριθμό, δηλαδή κάθε δύο ώρες, έχουν παρόμοια δομή με τα απλά μηνύματα και περιέχουν πληροφορίες σχετικά την κατανάλωση ρεύματος του 24ώρου ή του τελευταίου μήνα. Τα μηνύματα ιστορικού αγνοούνται από την εφαρμογή όταν καταφτάνουν, καθώς η κατάσταση των προηγούμενων καταναλώσεων αποθηκεύεται είτε σε μορφή κειμένου, είτε σε βάση δεδομένων. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 97

98 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME Plain Message <msg> <src>cc128-v1.29</src> <dsb>00000</dsb> <time>23:38:11</time> <tmpr>22.9</tmpr> <sensor>0</sensor> <id>00235</id> <type>1</type> <ch1><watts>00000</watts></ch1> <ch2><watts>00518</watts></ch2> <ch3><watts>00018</watts></ch3> </msg> History Message <msg> <src>cc128-v1.29</src> <dsb>00000</dsb> <time>23:38:54</time> <hist> <dsw>00002</dsw> <type>1</type> <units>kwhr</units> <data> <sensor>0</sensor> <h030>0.475</h030> <h028>0.571</h028>... </data> </hist> </msg> Πίνακας 7: Απλό μήνυμα δεδομένων σε XML από ένα Current Cost και μήνυμα ιστορικού PrismaDriver Πακέτα Prisma Τα πακέτα που μεταδίδει η gateway του Prisma μέσω wifi ή ethernet έχουν τη μορφή της Εικόνα 39. Το σημαντικό μέρος του πακέτου είναι το μήκος (Length) των δεδομένων και το πεδίο των δεδομένων (Data). Το κομμάτι του πακέτου με τα δεδομένα είναι πιο σύνθετο, καθώς περιέχει κάποια bytes που δεν χρησιμοποιούνται, τη διεύθυνση της μονάδας quax από την οποία προέρχονται τα δεδομένα και δεδομένα των αισθητήρων σε μορφή απλού κειμένου. Συγκεκριμένα, η δομή τους έχει ως εξής: 3 unused bytes 8 byte hex address 3 unused bytes Length-14 bytes text data Μία γραμμή δεδομένων μπορεί να είναι της μορφής: T = , όπου πρόκειται για μια τιμή θερμοκρασίας. Οι διευθύνσεις των αισθητήρων είναι δεκαεξαδικοί αριθμοί των 8 bytes και έχουν κοινό το πρόθεμα 0013Α20040XXX των 5 πρώτων bytes. <SYN> <STX> <DLE> 1 byte Length bytes <DLE> <ETX> <SYN> 0x16 0x02 0x10 Length Data 0x10 0x03 0x16 Εικόνα 39: Πακέτο επικοινωνίας Prisma Στην πρώτη φάση ανάπτυξης, ο driver διάβαζε από τα εισερχόμενα πακέτα μόνο τις ενδείξεις των αισθητήρων, χωρίς να ξεχωρίζει τις διευθύνσεις. Με μελέτη του λογισμικού ανοικτού κώδικα ServerDataManipulation που συνοδεύει το ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 98

99 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME PrismaSense, η ανάλυση των πακέτων του Prisma βελτιώθηκε διαβάζοντας πλέον τις διευθύνσεις των quax. Αρχικά, η ανάγνωση των διευθύνσεων έδινε λάθος δεκαεξαδικές τιμές, καθώς ο προτεινόμενος τρόπος ανάγνωσης ενός ρεύματος από TCP Sockets στη java διαβάζει εισερχόμενους χαρακτήρες. Κατά την ανάγνωση χαρακτήρων οι δεκαεξαδικές τιμές δεν διαβάζονται σωστά, όταν είναι μεγαλύτερες από μία τιμή. Το ρεύμα πρέπει να διαβάζει κατευθείαν δυαδικά bytes ώστε η μετατροπή τους να βγάζει σωστά αποτελέσματα. Οι βασικότερες εργασίες του οδηγού είναι ο διαχωρισμός και η ανάγνωση των εισερχόμενων πακέτων και η εξαγωγή της πληροφορίας σχετικά με το δεδομένα των αισθητήρων από αυτά. Η επεξεργασία των πακέτων και η εξαγωγή των δεδομένων γίνεται από την κλάση PrismaDataHandler. Κάποια τμήματα της κλάσης δίνονται παρακάτω και δείχνουν πως γίνεται η ανάλυση των εισερχόμενων πακέτων. Αρχικά, δηλώνονται οι μεταβλητές που χρειάζονται για την ανάλυση του πακέτου και οι μεταβλητές για τα δεκαεξαδικά διαχωριστικά S_SYN, S_STX, S_DLE, S_LENGTH, S_DATA και S_ETX. String pkg_state = ; // { S_SYN, S_STX, S_DLE, S_LENGTH, S_DATA, S_ETX } private byte[] new_pkg = new byte[120]; private short new_pkg_length = 0; private short new_pkg_pointer = 0; private byte[] pkg_data = null; private short pkg_length = 0; private byte pkg_type = 0; private int pkg_addh = 0; private int pkg_addl = 0; private String packetdata = null; // DEC CODES private int D_SYN = 022; private int D_STX = 002; private int D_DLE = 016; private int D_ETX = 003; // HEX CODES private byte H_SYN = 0x16; private byte H_STX = 0x02; private byte H_DLE = 0x10; private byte H_ETX = 0x03; Σε αυτό το τμήμα κώδικα αναλύεται το πακέτο μέσα στη μέθοδο packetprocessing(byte[] input_buf). Η μέθοδος παίρνει ως είσοδο μία σειρά από bytes στην οποία περιέχεται το πακέτο Prisma. Το μέρη του πακέτου διαχωρίζονται με βάση τα δεξαεδικά διαχωριστικά, όπου αρχικά ανακτάται το μήκος του πεδίου των data, τα οποία περιέχουν τη διεύθυνση του αισθητήρα quax και τα δεδομένα μέτρησης. Η διεύθυνση quax έχει δεκαεξαδική μορφή και ανακτάται από το πεδίο των data από τα δέκα πρώτα bytes, αγνοώντας τα τρία πρώτα. Αγνοώντας τα επόμενα τρία bytes, τα υπόλοιπα περιέχουν τα πραγματικά δεδομένα σε ASCII κωδικοποίηση. // PACKET PROCESSING String[] str = new String[2]; String addr = ""; pkg_state = "S_SYN"; int i = 0, y; while (i < input_buf.length) { if (pkg_state.equals("s_syn")) { if (input_buf[i] == H_SYN) { ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 99

100 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME pkg_state = "S_STX"; } } else if (pkg_state.equals("s_stx")) { if (input_buf[i] == H_STX) { pkg_state = "S_DLE"; } else { pkg_state = "S_SYN"; } } else if (pkg_state.equals("s_dle")) { if (input_buf[i] == H_DLE) { pkg_state = "S_LENGTH"; } else { pkg_state = "S_SYN"; } } else if (pkg_state.equals("s_length")) { new_pkg_length = (short) input_buf[i]; new_pkg_pointer = 0; pkg_state = "S_DATA"; } else if (pkg_state.equals("s_data")) { if (new_pkg_pointer < new_pkg_length) { new_pkg[new_pkg_pointer] = input_buf[i]; new_pkg_pointer++; } else if (input_buf[i] == H_DLE) { pkg_state = "S_ETX"; } else { pkg_state = "S_SYN"; } } else if (pkg_state.equals("s_etx")) { if (input_buf[i] == H_ETX) { pkg_state = "S_SYN"; pkg_type = new_pkg[0]; pkg_length = (short) (new_pkg_length - 14); pkg_data = new byte[pkg_length]; for (y = 0; y < pkg_length; y++) { pkg_data[y] = new_pkg[y + 14]; } addr = formatbytestring(new_pkg[3]); addr += formatbytestring(new_pkg[4]); addr += formatbytestring(new_pkg[5]); addr += formatbytestring(new_pkg[6]); addr += formatbytestring(new_pkg[7]); addr += formatbytestring(new_pkg[8]); addr += formatbytestring(new_pkg[9]); addr += formatbytestring(new_pkg[10]); packetdata = new String(pkg_data); } i++; } else { pkg_state = "S_SYN"; } } str[0] = addr; str[1] = packetdata; return str; // END PACKET PROCESSING ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 100

101 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME ZWDriver Κλάσεις εντολών Η φύση και το είδος των δεδομένων που ανταλλάσσονται καθορίζεται από τις κλάσεις εντολών που χρησιμοποιεί το πρωτόκολλο στο επίπεδο εφαρμογής. Τα πακέτα Z-Wave στο επίπεδο εφαρμογής περιέχουν πληροφορία σχετικά με την κλάση της εντολής, το είδος της εντολής και μία λίστα με παραμέτρους που καθορίζουν την εντολή. Κάθε συσκευή επιτελεί πολλές λειτουργίες και ακολούθως μπορεί να έχει πολλές κλάσεις εντολών. Η πλειοψηφία αυτών των κλάσεων αποτελούν σύνθεση μίας εντολής SET, GET ή REPORT. Η εντολή SET επιτρέπει την τροποποίηση των δεδομένων ενός κόμβου, η GET είναι μία αίτηση για την απόκτηση μιας τιμής ενός κόμβου και η REPORT είναι η απάντηση σε αυτήν την αίτηση. Για λόγους διαλειτουργικότητας, όλες οι εντολές που ανήκουν σε μία κλάση πρέπει να υλοποιηθούν αν η συσκευή υποστηρίζει αυτήν την κλάση. Υπάρχουν περίπου 50 κλάσεις εντολών και περιλαμβάνουν βασικό και προχωρημένο έλεγχο του φωτισμού, δυαδικών και πολυεπίπεδων αισθητήρων, θερμοστατών και άλλων συσκευών. Για να διασφαλιστεί ότι κάποιες κλάσεις υποστηρίζονται από μια συγκεκριμένη συσκευή, το Z-Wave χρησιμοποιεί μία συναλλαγή πλαισίων με πληροφορίες συσκευής. Αυτό συμβαίνει κατά τη συμπερίληψη της συσκευής, αν και αυτές οι πληροφορίες μπορούν ζητηθούν οποιαδήποτε στιγμή. Υπάρχουν πολλές κλάσεις εντολών οι οποίες όμως μπορούν να κατηγοριοποιηθούν σε 3 κατηγορίες: Βασική Κλάση Συσκευής (Basic Device Class): προσδιορίζει τη λειτουργία του πρωτοκόλλου με βάση ποια βιβλιοθήκη έχει επιλεχθεί. Ανάλογα με τον τύπο της συσκευής (εξαρτώμενη, ελεγκτής ή άλλος), διαφορετικές βιβλιοθήκες χρησιμοποιούνται από το λογισμικό για επικοινωνία με βάση τον τύπο της συσκευής. Γενική Κλάση Συσκευής (Generic Device Class): ορίζει τις ελάχιστες λειτουργίες που είναι απαραίτητες για την υλοποίηση μια συσκευής από πλευράς λογισμικού. Ορίζει δηλαδή τις υποχρεωτικές κλάσεις που υποστηρίζει η συσκευή και ένα σύνολο προαιρετικών. Συγκεκριμένη Κλάση Συσκευής (Specific Device Class): αποτελούν προαιρετικές περιγραφές για συγκεκριμένες χρήσεις. Κληρονομούν όλες τις υποχρεωτικές κλάσεις εντολών από τη Γενική Κλάση και ορίζουν νέες υποχρεωτικές και προαιρετικές κλάσεις που υποστηρίζει η συσκευή. Στον Πίνακας 8 δίνεται μία λίστα με κλάσεις εντολών που χρησιμοποιήθηκαν κατά την ανάπτυξη της εφαρμογής. Περιλαμβάνονται διάφορα είδη εντολών, με σημαντικότερες αυτές που ειδοποιούν αν κάποια συσκευή ξύπνησε, αυτές που ειδοποιούν στην περίπτωση κάποιας αλλαγής σε κάποια τιμή της συσκευής, όπως η μπαταρία ή η θερμοκρασία, στην λήψη ενός αυτόκλητου μηνύματος, όπως κάποιου συναγερμού και οι εντολές ρυθμίσεων. Command Class Name Hex Dec COMMAND_CLASS_ALARM 0x COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION 0x9B 155 COMMAND_CLASS_ASSOCIATION 0x ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 101

102 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME COMMAND_CLASS_BASIC 0x20 32 COMMAND_CLASS_BATTERY 0x COMMAND_CLASS_CONFIGURATION 0x COMMAND_CLASS_MANUFACTURER_SPECIFIC 0x COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V2 0x8E 142 COMMAND_CLASS_MULTI_CHANNEL_V2 0x60 96 COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION 0x8E 142 COMMAND_CLASS_MULTI_INSTANCE 0x60 96 COMMAND_CLASS_SENSOR_ALARM 0x9C 156 COMMAND_CLASS_SENSOR_BINARY 0x30 48 COMMAND_CLASS_SENSOR_CONFIGURATION 0x9E 158 COMMAND_CLASS_SENSOR_MULTILEVEL 0x31 49 COMMAND_CLASS_VERSION 0x COMMAND_CLASS_WAKE_UP 0x Πίνακας 8: Κλάσεις εντολών του Z-Wave Οργάνωση κλάσεων του ZWaveDriver Η ανάπτυξη της εφαρμογής στηρίχθηκε πάνω στη λειτουργία της βιβλιοθήκης open-zwave, η οποία υλοποιεί όλες τις απαραίτητες κλάσεις για την επικοινωνία και το χειρισμό των Z-Wave συσκευών. Μαζί με τον πηγαίο κώδικα της βιβλιοθήκης, προσφέρεται και μία βοηθητική κύρια κλάση που παρουσιάζει μία απλή χρήση της. Το πακέτο αυτό ονομάζεται MinOZW και προσφέρεται ως ξεκίνημα για την ανάπτυξη νέων εφαρμογών για περιβάλλοντα Windows, Linux και Mac. Η ροή του προγράμματος έχει ως αφετηρία την κύρια κλάση Main, η οποία επικοινωνεί με τη βιβλιοθήκη μέσω της κλάσης Manager. Οποιαδήποτε δηλαδή κλήση γίνεται ως προς το open-zwave, γίνεται αποκλειστικά και μόνο μέσω της Manager. Η μόνη εξαίρεση σε αυτό, συμβαίνει στην αρχή της ροής όπου ορίζονται κάποιες ρυθμίσεις του προγράμματος με κλήσεις μεθόδων της κλάσης Options. Άλλες κλάσεις του προγράμματος που δεν ανήκουν στη βιβλιοθήκη είναι η DriverSettings που χρησιμοποιείται για την ρύθμιση των συσκευών, η DBConnector που είναι υπεύθυνη για τη σύνδεση με τη βάση δεδομένων MySQL και η DriverUtilities που παρέχει βοηθητικές λειτουργίες. Η δομή των κλάσεων παρουσιάζεται στο διάγραμμα της Εικόνα 40. ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 102

103 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ AWESOME Εικόνα 40: Διάγραμμα κλάσεων του ZWDriver Ο ZWaveDriver μπορεί να αναγνωρίσει πλήθος συσκευών μέσω του openzwave, αλλά για να διαχειριστεί τα διάφορα είδη και μοντέλα συσκευών, θα πρέπει προστεθούν τμήματα υλοποίησης τα οποία αναγνωρίζουν και διαχειρίζονται τα χαρακτηριστικά και της ιδιομορφίες της κάθε συσκευής. Δηλαδή, για την ΕΝΔΙΑΜΕΣΟ ΛΟΓΙΣΜΙΚΟ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΓΙΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΚΑΙ ΕΞΥΠΝΩΝΣΥΣΚΕΥΩΝ 103

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

Διαβάστε περισσότερα

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

Διαβάστε περισσότερα

Το Διαδίκτυο των Αντικειμένων και η Δύναμη του Πλήθους (Internet of Things and Crowdsourcing)

Το Διαδίκτυο των Αντικειμένων και η Δύναμη του Πλήθους (Internet of Things and Crowdsourcing) Το Διαδίκτυο των Αντικειμένων και η Δύναμη του Πλήθους (Internet of Things and Crowdsourcing) Καθ. Σωτήρης Νικολετσέας 1,2 1 Τμήμα Μηχανικών Η/Υ και Πληροφορικής, Πανεπιστήμιο Πατρών 2 Ινστιτούτο Τεχνολογίας

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009 ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009 4o Συνέδριο InfoCom Green ICT 2012 ΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ ΠΛΑΤΩΝΑΣ ΠΛΑΤφόρμα έξυπνου διαλογισμικού για συλλογή, ανάλυση, επεξεργασία δεδομένων από συστήματα πολλαπλών ετερογενών ΑισθητήρΩΝ

Διαβάστε περισσότερα

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Ελένη Καλδούδη Τμήμα Ιατρικής Δημοκρίτειο Πανεπιστήμιο Θράκης 2003 θέματα το χθές, το σήμερα και το αύριο για τα PACS απαιτήσεις από

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος

Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος Ορισμός «Το Διαδίκτυο των πραγμάτων (IoT) είναι

Διαβάστε περισσότερα

devolo dlan powerline technology Σύντομη παρουσίαση dlan 1200+ WiFi ac

devolo dlan powerline technology Σύντομη παρουσίαση dlan 1200+ WiFi ac devolo dlan powerline technology Σύντομη παρουσίαση dlan 1200+ WiFi ac dlan 1200+ WiFi ac 2 dlan 1200+ WiFi ac Υφιστάμενη κατάσταση Οι φορητές συσκευές όλο πληθαίνουν καθημερινά. Όλο και περισσότεροι χρήστες

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

RobotArmy Περίληψη έργου RobotArmy Περίληψη έργου Στην σημερινή εποχή η ανάγκη για αυτοματοποίηση πολλών διαδικασιών γίνεται όλο και πιο έντονη. Συνέχεια ακούγονται λέξεις όπως : βελτιστοποίηση ποιότητας ζωής, αυτοματοποίηση στον

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018 Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος 1 Βασίλειος Χρυσικόπουλος Καθηγητής Πληροφορική Δίκτυα Ασφάλεια Πληροφοριών Ερευνητικά Ενδιαφέροντα Ασφάλεια Δίκτυα Η/Υ http://di.ionio.gr/staff-2/faculty-staff/vassilischrissikopoulos/

Διαβάστε περισσότερα

Ο ΡΟΛΟΣ ΤΟΥ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΗΝ ΑΣΦΑΛΕΙΑ

Ο ΡΟΛΟΣ ΤΟΥ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΗΝ ΑΣΦΑΛΕΙΑ Ο ΡΟΛΟΣ ΤΟΥ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΗΝ ΑΣΦΑΛΕΙΑ EΞΥΠΝΟ ΚΤΙΡΙΟ ΕΙΣΑΓΩΓΗ Οι έντονοι ρυθμοί ζωής εντός της ημέρας και οι συνεχώς αυξανόμενες απαιτήσεις στον εργασιακό τομέα, έχουν περιορίσει κατά πολύ τον ελεύθερο

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

Ραγδαία τεχνολογική εξέλιξη

Ραγδαία τεχνολογική εξέλιξη ΣΦΑΙΡΕΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ Αχιλλέας Καμέας Ελληνικό Ανοικτό Πανεπιστήμιο & Ινστιτούτο Τεχνολογίας Υπολογιστών Ραγδαία τεχνολογική εξέλιξη 2 1 Mobile devices / tablets 3 Μικρές, φορητές συσκευές

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

Διαβάστε περισσότερα

Σύστημα Διαχείρισης Φωτισμού. Εφαρμογές, Δυνατότητες & Πλεονεκτήματα

Σύστημα Διαχείρισης Φωτισμού. Εφαρμογές, Δυνατότητες & Πλεονεκτήματα Βιομ. Υλικό & Ενεργειακά συστήματα Σύστημα Διαχείρισης Φωτισμού Εφαρμογές, Δυνατότητες & Πλεονεκτήματα Συντάκτης: Γιώργος Χριστοδούλου Ηλεκτρολόγος Mηχανικός, MSc Γιατί ασύρματο σύστημα διαχείρισης φωτισμού;

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

Διαβάστε περισσότερα

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι) Εισαγωγή Το Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Πανεπιστημίου Κύπρου προσφέρει ολοκληρωμένα προπτυχιακά και μεταπτυχιακά προγράμματα σπουδών στους κλάδους του Ηλεκτρολόγου Μηχανικού

Διαβάστε περισσότερα

Καινοτομία και Ηλεκτρονική Υγεία:Προτάσεις για το όχι τόσο μακρινό μέλλον. ΔΗΜΗΤΡΗΣ ΚΟΥΤΣΟΥΡΗΣ Καθηγητής ΕΜΠ Εργαστήριο Βιοϊατρικής Τεχνολογίας

Καινοτομία και Ηλεκτρονική Υγεία:Προτάσεις για το όχι τόσο μακρινό μέλλον. ΔΗΜΗΤΡΗΣ ΚΟΥΤΣΟΥΡΗΣ Καθηγητής ΕΜΠ Εργαστήριο Βιοϊατρικής Τεχνολογίας Καινοτομία και Ηλεκτρονική Υγεία:Προτάσεις για το όχι τόσο μακρινό μέλλον ΔΗΜΗΤΡΗΣ ΚΟΥΤΣΟΥΡΗΣ Καθηγητής ΕΜΠ Εργαστήριο Βιοϊατρικής Τεχνολογίας Ηλεκτρονική Υγεία Τι είναι; Η πληροφορική Υγείας (healthcare

Διαβάστε περισσότερα

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

Διαβάστε περισσότερα

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0 Καραμαούνας Πολύκαρπος 1 9.1 Ιστορικά Στοιχεία Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο και ήταν απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ: ΑΣΦΑΛΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Διαβάστε περισσότερα

Μείνετε πάντα σε επαφή

Μείνετε πάντα σε επαφή ΠΡΟΔΙΑΓΡΑΦΕΣ Μείνετε πάντα σε επαφή με το σπίτι σας 01 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Βασισμένο στην τεχνολογία Z wave+ Συμβατό με συσκευές που λειτουργούν στο σύστημα IoT - Internet Of Things Η εφαρμογή

Διαβάστε περισσότερα

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο Συσκευές Τηλεπικοινωνιών και Δικτύωσης Επικοινωνίες Δεδομένων Μάθημα 9 ο Εισαγωγή Ένα δίκτυο αποτελείται από ενεργά και παθητικά στοιχεία. Στα παθητικά στοιχεία εντάσσονται τα καλώδια και τα εξαρτήματα

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Ορισμός των Web Services

Διαβάστε περισσότερα

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή REASON ING Η Συλλογιστική, είναι η πράξη εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις χρησιμοποιώντας μία δοθείσα μεθοδολογία. Στην ουσία είναι η ίδια η διαδικασία της σκέψης, μία λογική διαμάχη,

Διαβάστε περισσότερα

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται:

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται: Μάθημα 10 Συστήματα Διάχυσης και Διαχείρισης Γνώσης Chapter 10 Knowledge Transfer In The E-world Chapter 13 Knowledge Management Tools and Knowledge Portals Συστήματα Διάχυσης και Διαχείρισης Γνώσης Λογισμικό

Διαβάστε περισσότερα

Integrated Project. Ambient Intelligence System of Agents for Knowledgebased and Integrated Services for Mobility Impaired users

Integrated Project. Ambient Intelligence System of Agents for Knowledgebased and Integrated Services for Mobility Impaired users Integrated Project Ambient Intelligence System of Agents for Knowledgebased and Integrated Services for Mobility Impaired users Κλήµης Νταλιάνης Έµπειρος Ερευνητής Εργαστήριο ΨΕΕΒΠ - Ε.Μ.Π. 1 Περίγραµµα

Διαβάστε περισσότερα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Φωτισμού Πόλεων

Συστήματα Διαχείρισης Φωτισμού Πόλεων Συστήματα Διαχείρισης Φωτισμού Πόλεων I.L.S. Innovative Lighting Systems Κύπρου 2, 14232, Νέα Ιωνία, Αττική Σύγχρονος Αστικός Φωτισμός Ο φωτισμός γίνεται δυναμικός Οι πόλεις αλλάζουν Κάθε σύγχρονη πόλη

Διαβάστε περισσότερα

Εισαγωγή στο KNX. Ανακαλύψτε το KNX

Εισαγωγή στο KNX. Ανακαλύψτε το KNX Εισαγωγή στο KNX Ανακαλύψτε το KNX Συμβατική εγκατάσταση Κάθε λειτουργία απαιτεί ένα ή περισσότερα καλώδια για να πραγματοποιηθεί Πολλές λειτουργίες = πολλά καλώδια Κάθε λειτουργία πρέπει να έχει μελετηθεί

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε

Διαβάστε περισσότερα

Πειραιάς S 2 Ε Lab Ιούνιος 2012. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης

Πειραιάς S 2 Ε Lab Ιούνιος 2012. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης Πειραιάς S 2 Ε Lab Ιούνιος 2012 Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης Πνευµατικά δικαιώµατα Τα πνευµατικά δικαιώµατα χρησιµοποίησης του µη πρωτότυπου υλικού της εργασίας ανήκουν στο/στη φοιτητή/-τρια

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Σχολή Επικοινωνίας και Μέσων Ενημέρωσης Πτυχιακή εργασία Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Εύρος Χριστοδούλου Λεμεσός, Μάιος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΚΟΙΝΩΝΙΑΣ

Διαβάστε περισσότερα

Κάντε κλικ για έναρξη

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΟΛΥΜΕΣΑ- ΔΙΚΤΥΑ ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΟΛΥΜΕΣΑ- ΔΙΚΤΥΑ ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΟΛΥΜΕΣΑ- ΔΙΚΤΥΑ ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ Μάρτιος 1998 ΕΙΣΑΓΩΓΗ Το

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 4288 /11.08.2015

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 4288 /11.08.2015 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 4288 /11.08.2015 Σύμφωνα με: α) τις διατάξεις των άρθρων 123, 124, 135 και 136 του Ν. 4072/2012

Διαβάστε περισσότερα

Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό. Νικόλαος Μήτρου Καθηγητής, ΕΜΠ

Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό. Νικόλαος Μήτρου Καθηγητής, ΕΜΠ Η Πληροφορική ως γνώση και εργαλείο για τον σύγχρονο μηχανικό Νικόλαος Μήτρου (mitrou@softlab.ntua.gr) Καθηγητής, ΕΜΠ ΗΜΕΡΙΔΑ Η ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΤΟΥ ΜΗΧΑΝΙΚΟΥ 8 Ιουλίου 2008 Περιεχόμενα Ο ρόλος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

2 ο Θερινό Σχολείο: ICT και Εφαρμογές»

2 ο Θερινό Σχολείο: ICT και Εφαρμογές» Τμήμα Μηχανικών Η/Υ & Πληροφορικής Computer Engineering & Informatics Department (CEID) Πρόγραμμα Εργασιών Πάτρα, Ιούλιος 03-05, 2017 2 ο Θερινό Σχολείο: ICT και Εφαρμογές» Διοργάνωση: Τμήμα Μηχανικών

Διαβάστε περισσότερα

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Η LINK Technologies Α.Ε. ιδρύθηκε το 2002 με στόχο να καταστεί πυρήνας καινοτομικών λύσεων Τηλεματικής αναβαθμίζοντας καθημερινά

Διαβάστε περισσότερα

Πανεπιστήμιο Κύπρου. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ)

Πανεπιστήμιο Κύπρου. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) 26/01/2014 Συνεισφορά του κλάδους ΗΜΜΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ευρύ φάσμα γνώσεων και επιστημονικών

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΣΧΥΕΙ ΚΑΤΑ ΤΟ ΜΕΡΟΣ ΠΟΥ ΑΦΟΡΑ ΤΟ ΛΥΚΕΙΟ ΓΙΑ ΤΗΝ ΥΠΟΧΡΕΩΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΙΣΧΥΟΥΝ ΤΟ ΔΕΠΠΣ

Διαβάστε περισσότερα

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

Διαβάστε περισσότερα

Ανάπτυξη Δικτυακής Εφαρμογής Διάχυσης και Ανάλυσης Γεωχωρικών Δεδομένων και Πληροφοριών

Ανάπτυξη Δικτυακής Εφαρμογής Διάχυσης και Ανάλυσης Γεωχωρικών Δεδομένων και Πληροφοριών Ανάπτυξη Δικτυακής Εφαρμογής Διάχυσης και Ανάλυσης Γεωχωρικών Δεδομένων και Πληροφοριών Λοΐσιος ΔΗΜΗΤΡΙΟΣ (Αντισυνταγματάρχης) Αγρονόμος Τοπογράφος Μηχανικός ΕΜΠ, MSc στη Γεωπληροφορική Διευθυντής Διεύθυνσης

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 7ο X Window System Μιχαηλίδης Παναγιώτης Tι είναι παραθυρικό σύστημα; Ένα παραθυρικό σύστημα (window system) είναι μια γραφική διεπαφή χρήστη (Graphical

Διαβάστε περισσότερα

Κεφάλαιο 3.3: Δίκτυα. Επιστήμη ΗΥ Κεφ. 3.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.3: Δίκτυα. Επιστήμη ΗΥ Κεφ. 3.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.3: Δίκτυα 1 3.3.1 Τι είναι ένα Δίκτυο Υπολογιστών Δίκτυο Υπολογιστών/Επικοινωνιών: ένα σύνολο συνδεδεμένων μεταξύ τους συσκευών με φυσικές συνδέσεις οι οποίες μπορούν να παράγουν, να στέλνουν,

Διαβάστε περισσότερα

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

Διαβάστε περισσότερα

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να:

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να: ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μεθοδολογίες και Συστήματα Βιομηχανικής Αυτοματοποίησης Κωδικός Μαθήματος Μ3 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε Τρόπος/Μέθοδοι

Διαβάστε περισσότερα

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Ψυχαγωγικό Λογισμικό

Ψυχαγωγικό Λογισμικό Ψυχαγωγικό Λογισμικό Δομή Μαθήματος, Περιεχόμενα, Στόχοι Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορικής, Ιόνιο Πανεπιστήμιο, Τμήμα Πληροφορικής, Κωνσταντίνος Οικονόμου, Επίκουρος Καθηγητής Βασίλειος Κομιανός,

Διαβάστε περισσότερα

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

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών Βερονίκης Σπύρος Τμήμα Αρχειονομίας- Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο spver@ionio.gr Stoica Adrian Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Τσικολάτας Α. (2011) Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή. Αθήνα

Τσικολάτας Α. (2011) Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή. Αθήνα Οι ΤΠΕ ως Εκπαιδευτικό Εργαλείο στην Ειδική Αγωγή Τσικολάτας Αλέξανδρος Αναπληρωτής Καθηγητής, ΕΕΕΕΚ Παμμακαρίστου, tsikoman@hotmail.com Περίληψη Στην παρούσα εργασία γίνεται διαπραγμάτευση του ρόλου των

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 3: Εισαγωγή στους Ευφυείς Πράκτορες Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 3 H κατανόηση της φύσης των πρακτόρων

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2012

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2012 ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2012 Επιβλέπων : Επικ. Καθηγητής Σπύρος Δενάζης Για περισσότερες πληροφορίες σχετικά με τις παρακάτω διπλωματικές εργασίες να επικοινωνήσετε με τον κ. Σπύρο Δενάζη (sdena@

Διαβάστε περισσότερα

υπηρεσιες προστιθέμενης αξίας Υπηρεσίες προστιθέμενης αξίας

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

Διαβάστε περισσότερα

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

ZigBee. Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος

ZigBee. Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος ZigBee Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος Τι είναι το ZigBee; Ένα τυποποιημένο πρωτόκολλο χαμηλής Κατανάλωσης Ισχύος σε Wireless Persnal Area Netwrks (WPANs) Ένα

Διαβάστε περισσότερα

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες Πτυχιακή εργασία Φοιτήτρια: Ριζούλη Βικτώρια

Διαβάστε περισσότερα

Μαρία Μακρή Α.Ε.Μ: 3460

Μαρία Μακρή Α.Ε.Μ: 3460 TEΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ «Μελέτη και προσομοίωση ενός πομποδέκτη για το Διαδίκτυο των Πραγμάτων» Study and simulation

Διαβάστε περισσότερα

Ίδρυμα Τεχνολογίας και Έρευνας Ινστιτούτο Πληροφορικής (ITE-ΙΠ)

Ίδρυμα Τεχνολογίας και Έρευνας Ινστιτούτο Πληροφορικής (ITE-ΙΠ) Ίδρυμα Τεχνολογίας και Έρευνας Ινστιτούτο Πληροφορικής (ITE-ΙΠ) http://www.ics.forth.gr Καθ. Δημήτρης Πλεξουσάκης Διευθυντής ΙΤΕ-ΙΠ Ινστιτούτο Πληροφορικής (ΙΠ-ΙΤΕ) Το ΙΠ-ΙΤΕ Διεξάγει υψηλής στάθμης βασική

Διαβάστε περισσότερα

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός ΠΕΡΙΓΡΑΜΜΑ ΠΑΡΟΥΣΙΑΣΗΣ Διερεύνηση αναγκών Επιλογή του Octave Χαρακτηριστικά και περιβάλλον εργασίας

Διαβάστε περισσότερα

SMART BUILDING. Ενεργειακή Αναβάθμιση Κτιριακών Εγκαταστάσεων με Χρήση Νέων Τεχνολογικών Λύσεων

SMART BUILDING. Ενεργειακή Αναβάθμιση Κτιριακών Εγκαταστάσεων με Χρήση Νέων Τεχνολογικών Λύσεων SMART BUILDING Ενεργειακή Αναβάθμιση Κτιριακών Εγκαταστάσεων με Χρήση Νέων Τεχνολογικών Λύσεων Ολοκληρωμένο Σύστημα Διαχείρισης Ενέργειας Απαιτήσεις 1. Δυνατότητα συλλογής δεδομένων από κάθε διαθέσιμη

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής ΙΙ Ομάδα Ζ

Διδακτική της Πληροφορικής ΙΙ Ομάδα Ζ Διδακτική της Πληροφορικής ΙΙ Ομάδα Ζ Γούλιας Νίκος Σκούρτης Τάσος Πινήτας Γιώργος Λαζαρίδης Λάζαρος Πεχλιβανίδου Κατερίνα Μαρμαροκόπος Γιώργος Σταγκοπούλου Αλεξάνδρα «Μαθαίνοντας Έξω από την Τάξη» Δ.

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 1: Διαδικαστικά Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Παρουσίαση της δομής και των περιεχομένων του μαθήματος.

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.2: Το Λογισμικό (Software) Δίκτυα υπολογιστών Αντώνης Χατζηνούσκας 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήματος

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διπλωματική Εργασία Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών,

Διαβάστε περισσότερα

Α/Α Τίτλος θέματος Επιβλέπων Σύντομη περιγραφή Προαπαιτούμενα γνωστικά πεδία 1 ΚΛΙΜΑΤΙΚΕΣ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε. Ε. Δρ. Ι.

Α/Α Τίτλος θέματος Επιβλέπων Σύντομη περιγραφή Προαπαιτούμενα γνωστικά πεδία 1 ΚΛΙΜΑΤΙΚΕΣ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε. Ε. Δρ. Ι. ΤΕΙ ΑΘΗΝΑΣ ΤΜΗΜΑ MHXANIΚΩΝ ΕΝΕΡΓΕΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Πίνακας προτεινόμενων πτυχιακών εργασιών για το εαρινό εξάμηνο 203-4 ΤΜΗΜΑ: MHXANIKΩN ΕΝΕΡΓΕΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. ΤΟΜΕΑΣ: ΕΝΕΡΓΕΙΑΚΗΣ ΗΛΕΚΤΡΟΛΟΓΙΑΣ

Διαβάστε περισσότερα

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Σκοπός της παρούσας ενότητας είναι να εξοικειωθούν

Διαβάστε περισσότερα

Παραδόσεις 4. Ειδικής Υποδομής Υποχρεωτικό. Δεν υπάρχουν. Ελληνική/Αγγλική

Παραδόσεις 4. Ειδικής Υποδομής Υποχρεωτικό. Δεν υπάρχουν. Ελληνική/Αγγλική ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2740 ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Ψηφιακές Επικοινωνίες ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ σε περίπτωση

Διαβάστε περισσότερα

Video Management System της Bosch Εξασφαλίστε το μέλλον σας με IP

Video Management System της Bosch Εξασφαλίστε το μέλλον σας με IP Video Management System της Bosch Εξασφαλίστε το μέλλον σας με IP Ασφάλεια βίντεο IP Λύση όλα σε ένα Το Bosch Video Management System (VMS) διαχειρίζεται όλα τα δεδομένα IP και ψηφιακού βίντεο και ήχου,

Διαβάστε περισσότερα

WSNs- ΜΟΥΣΕΙΟ. ΕΦΑΡΜΟΓΕΣ ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΚΑΙ ΕΛΕΓΧΟ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΤΩΝ ΜΟΥΣΕΙΩΝ ΒΑΣΙΣΜΕΝΕΣ ΣΕ WSNs

WSNs- ΜΟΥΣΕΙΟ. ΕΦΑΡΜΟΓΕΣ ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΚΑΙ ΕΛΕΓΧΟ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΤΩΝ ΜΟΥΣΕΙΩΝ ΒΑΣΙΣΜΕΝΕΣ ΣΕ WSNs WSNs- ΜΟΥΣΕΙΟ ΕΦΑΡΜΟΓΕΣ ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΚΑΙ ΕΛΕΓΧΟ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΤΩΝ ΜΟΥΣΕΙΩΝ ΒΑΣΙΣΜΕΝΕΣ ΣΕ WSNs ΠΡΟΒΛΗΜΑ Η φθορά των έργων τέχνης λόγω της ανθρώπινης παρέμβασης Οι περιβαλλοντικές αλλαγές

Διαβάστε περισσότερα

ΣΕΜΙΝΑΡΙΟ ΔΙΚΤΥΩΝ ΜΑΡΤΙΟΣ ΜΑΙΟΣ 2010 ΔΙΟΡΓΑΝΩΣΗ ΑΜΠΑΡΙΩΤΗΣ ΑΠΟΣΤΟΛΟΣ ΓΙΑΜΜΑΚΗΣ ΓΙΑΝΝΗΣ ΛΕΒΑΝΤΗΣ ΟΔΥΣΣΕΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΟΣ ΨΙΑΧΟΣ ΧΡΗΣΤΟΣ

ΣΕΜΙΝΑΡΙΟ ΔΙΚΤΥΩΝ ΜΑΡΤΙΟΣ ΜΑΙΟΣ 2010 ΔΙΟΡΓΑΝΩΣΗ ΑΜΠΑΡΙΩΤΗΣ ΑΠΟΣΤΟΛΟΣ ΓΙΑΜΜΑΚΗΣ ΓΙΑΝΝΗΣ ΛΕΒΑΝΤΗΣ ΟΔΥΣΣΕΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΟΣ ΨΙΑΧΟΣ ΧΡΗΣΤΟΣ ΣΕΜΙΝΑΡΙΟ ΔΙΚΤΥΩΝ ΜΑΡΤΙΟΣ ΜΑΙΟΣ 2010 ΔΙΟΡΓΑΝΩΣΗ ΑΜΠΑΡΙΩΤΗΣ ΑΠΟΣΤΟΛΟΣ ΓΙΑΜΜΑΚΗΣ ΓΙΑΝΝΗΣ ΛΕΒΑΝΤΗΣ ΟΔΥΣΣΕΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΟΣ ΨΙΑΧΟΣ ΧΡΗΣΤΟΣ Τεχνολογία Δικτύων Επικοινωνιών Πρωτόκολλα και Αρχιτεκτονική

Διαβάστε περισσότερα

22/9/ o Τεχνολογίες του Λογισμικού, με έμφαση στην ανάλυση, στο σχεδιασμό και στην υλοποίηση συστημάτων λογισμικού

22/9/ o Τεχνολογίες του Λογισμικού, με έμφαση στην ανάλυση, στο σχεδιασμό και στην υλοποίηση συστημάτων λογισμικού To Τμήμα Πληροφορικής είναι ένα από τα έξι τμήματα της Σχολής Τεχνολογικών Εφαρμογών (Σ.Τ.ΕΦ.) Η λειτουργία του Τμήματος άρχισε το Σεπτέμβριο του 1987 και οι πρώτοι απόφοιτοι πήραν το πτυχίο τους το Μάιο

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Μετάδοσης Δεδομένων Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail:

Διαβάστε περισσότερα