ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Πλιάτσιος Δημήτριος 6733

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

Download "ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Πλιάτσιος Δημήτριος 6733"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΦΑΡΜΟΓΕΣ ΑΣΥΡΜΑΤΩΝ ΔΙΚΤΥΩΝ ΑΙΣΘΗΤΗΡΩΝ ΣΤΗΝ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΓΕΩΡΓΙΚΩΝ ΚΑΛΛΙΕΡΓΕΙΩΝ ΣΕ ΠΡΑΓΜΑΤΙΚΟ ΧΡΟΝΟ Πλιάτσιος Δημήτριος 6733 Επιβλέπων: Μητράκος Δημήτριος Θεσσαλονίκη Σεπτέμβριος 2016

2 ΠΕΡΙΛΗΨΗ Αντικείμενο της διπλωματικής εργασίας είναι η μελέτη των Ασύρματων Δικτύων Αισθητήρων-Wireless Sensor Network. Αρχικά, γίνεται αναφορά στα κύρια συστατικά των WSN και στους τομείς που έχουν εφαρμογή. Στη συνέχεια αναλύονται τα πρότυπα IEEE και ZigBee, τα οποία προδιαγράφουν τις ιδιότητες και λειτουργίες ενός ασύρματου δικτύου αισθητήρων. Στα πλαίσια της διπλωματικής υλοποιήθηκε μια εφαρμογή η οποία παρακολουθεί: υγρασία χώματος και αέρα, θερμοκρασία αέρα και φωτεινότητα και παρουσιάζει τα αποτελέσματα απομακρυσμένα στο χρήστη, καθώς και μια εφαρμογή που μετράει το Packet Loss και RSSI μεταξύ δύο κόμβων για διάφορες αποστάσεις. Για την Ελληνική ορολογία χρησιμοποιήθηκε η Βάση Τηλεπικοινωνιακών Όρων των ΟΤΕ και ΕΛΟΤ ( ABSTRACT The purpose of the thesis is to study Wireless Sensor Networks. Initially, there is a brief report on the main components of WSN and their applications. Next, the de-facto standards IEEE and ZigBee are analyzed. Within the context of the thesis, two applications are implemented: The first one monitors air and soil humidity, air temperature and luminance and displays the results remotely to the user. The second application calculates the Packet Loss and RSSI between two nodes for different range. «Θα ήθελα να ευχαριστήσω τον κ. Μητράκο Δημήτριο για την εμπιστοσύνη του στο συγκεκριμένο θέμα καθώς και για τη βοήθεια και τις υποδείξεις του» ii

3 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή Βασικά χαρακτηριστικά των WSN Προκλήσεις Σχεδίασης Δικτύου Εφαρμογές WSN Αυτοκινητοβιομηχανία Περιβαλλοντική Παρακολούθηση Έξυπνα κτήρια Εφαρμογές Υγείας ΙΕΕΕ Φυσικό Επίπεδο PHY Τοπολογίες Προτύπου IEEE Διαδικασία σχηματισμού τοπολογίας Επίπεδο MAC Πρόσβαση στο κοινό κανάλι Non Beacon-Enabled Beacon-Enabled ZigBee Επίπεδο Δικτύου Network Layer (NWK) Ανακάλυψη Δικτύου Σχηματισμός δικτύου Τρόποι επικοινωνίας Πλαίσια επιπέδου NWK Τοπολογίες Δρομολόγηση Συντήρηση και επιδιόρθωση διαδρομής Περίληψη NWK επιπέδου Επίπεδο Εφαρμογής APL Layer Πλαίσιο Εφαρμογής Application Framework ZigBee Αντικείμενα Συσκευής ZigBee Device Objects (ΖΒΟ) iii

4 3.2.3 Υποεπίπεδο Υποστήριξης Εφαρμογής Application Support Sublayer (APS) Περίληψη APL επιπέδου Υπηρεσίες Ασφάλειας Security Services Κρυπτογράφηση Αυθεντικοποίηση Εξέλιξη του προτύπου ZigBee Υλοποίηση Εφαρμογής Digi ΧΒee Arduino FIO Αισθητήρες DHT11-Ψηφιακός αισθητήρας θερμοκρασίας και σχετικής υγρασίας Αισθητήρας φωτεινότητας TEMT Αισθητήρας υγρασίας χώματος Περιγραφή λειτουργίας Λήψη Μετρήσεων από Κόμβο Μέτρηση RSSI & Packet Loss Κώδικες εφαρμογών Λήψη Μετρήσεων από Κόμβο Μέτρηση RSSI & Packet Loss Παράρτημα Διαμόρφωση Ολίσθησης Φάσης Phase Shift Keying Δυαδική PSK Binary PSK Quadrature Phase-Shift Keying Ορθογωνική Διαμόρφωση Ολίσθησης Φάσης (QPSK) Διεύρυνση Φάσματος Άμεσης Ακολουθίας Στοιχείων Συνδυασμός DSSS και BPSK Πρότυπο Προηγμένης Κρυπτογράφησης Advanced Encryption Standard (AES) Βιβλιογραφία iv

5 ΕΙΚΟΝΕΣ Εικόνα 2-1:Κατανομή Καναλιών Εικόνα 2-2:Beacon Frame Εικόνα 2-3:Data Frame Εικόνα 2-4:ACK Frame Εικόνα 2-5:MAC Command Frame Εικόνα 2-6:Τοπολογίες IEEE Εικόνα 2-7:Διάγραμμα Ροής Non Beacon-Enabled CSMA/CA Εικόνα 2-8:Δομή Superframe Εικόνα 2-9:Διάγραμμα Ροής Beacon-Enabled CSMA/CA Εικόνα 3-1:Στοίβα ZigBee & IEEE Εικόνα 3-2:Multicasting από συσκευή εκτός ομάδας Εικόνα 3-3:Πολλές συσκευές προς μία Εικόνα 3-4:Γενική μορφή NWK πλαισίου Εικόνα 3-5:Πλαίσιο Δεδομένων & Εντολών Εικόνα 3-6:Πλαίσια NWΚ Εντολών Εικόνα 3-7:Ιεραρχική Τοπολογία Εικόνα 3-8: Ανακάλυψη Διαδρομής Εικόνα 3-9:Επιδιόρθωση Διαδρομής Εικόνα 3-10:Επίπεδο Εφαρμογής Εικόνα 3-11:Δομή Προφίλ Εφαρμογής Εικόνα 3-12:Παράδειγμα Διάδεσης Εικόνα 3-13:Μορφή Εντολής ZDP Εικόνα 3-14:Γενική μορφή πλαισίου APS Εικόνα 3-15:Είδη πλαισίων APS Εικόνα 3-16:Αυθεντικοποίηση Δεδομένων Εικόνα 3-17:CCM Nonce &Βοηθητικό Πλαίσιο Εικόνα 4-1:Xbee Εικόνα 4-2:Arduino FIO Εικόνα 4-3:Ψηφιακός Αισθητήρας Θερμοκρασίας και Υγρασίας Εικόνα 4-4:Αισθητήρας Φωτεινότητας Εικόνα 4-5:Ρεύμα Συλλέκτη Φωτεινότητας Εικόνα 4-6:Σχετική Ευαισθησία Φωτεινότητας - Μήκος Κύματος Εικόνα 4-7:Αισθητήρας Υγρασίας Χώματος Εικόνα 4-8:Αναπαράσταση δικτύου Εικόνα 4-9:Εφαρμογή ReadSensors.java Εικόνα 4-10:Διαγράμματα Εφαρμογής v

6 Εικόνα 4-11:Εισαγωγή Νέου Κόμβου Εικόνα 4-12:Επεξεργασία Κόμβου Εικόνα 6-1:Αστερισμός BPSK Εικόνα 6-2:Αστερισμός QPSK Εικόνα 6-3: Διαμόρφωση-Αποδιαμόρφωση DSSS ΠΙΝΑΚΕΣ Πίνακας 3-1:Εντολές NWK Επιπέδου Πίνακας 3-2:Πίνακας δρομολόγησης Πίνακας 3-3:Πίνακας ανακάλυψης διαδρομής Πίνακας 3-4:Πίνακας γειτνίασης Πίνακας 3-5:Δομή Περιγραφών Πίνακας 4-1:Χαρακτηριστικά XBee S Πίνακας 4-2:XBee PINs Πίνακας 4-3:Χαρακτηριστικά Μικροελεγκτή Πίνακας 4-4:Πρόσθετες λειτουργίες PINs Πίνακας 4-5:Χαρακτηριστικά DHT Πίνακας 4-6:DHT11 PINs Πίνακας 4-7:Δομή Βάσης Δεδομένων vi

7 ΑΚΡΩΝΥΜΙΑ ACK AES AF AIB APL APS APSDE APSME BI BPSK CAP CFP DSSS FFD GTS HDR LQI NWK PDU QPSK RFD RSSI SAP SD SKKE WSN ZDO Acknowledgement - Επιβεβαίωση Advanced Encryption Standard Πρότυπο Προηγμένης Κρυπτογράφησης Application Framework Πλαίσιο Εφαρμογών APS Information Base Βάση Πληροφοριών APS Application Layer Επίπεδο Εφαρμογής Application Support Sublayer Υποεπίπεδο Υποστήριξης Εφαρμογής APS Data Entity Οντότητα Δεδομένων APS APS Management Entity Οντότητα Διαχείρισης APS Beacon Interval Μεσοδιάστημα Εκπομπής 2 Διαδοχικών Beacons Δυαδική Διαμόρφωση με Μετατόπιση Φάσης Contention Access Period Περίοδος Διαμάχης Πρόσβασης Contention Free Period Περίοδος Χωρίς Διαμάχη Direct Sequence Spread Spectrum Διεύρυνση Φάσματος Άμεσης Ακολουθίας Στοιχείων Full Function Device Συσκευή Πλήρων Λειτουργιών Guaranteed Time Slot Εξασφαλισμένη Χρονοθυρίδα Header Πρόθεμα Link Quality Indication Ένδειξη Ποιότητας Ζεύξης Network Layer Επίπεδο Δικτύου Protocol Data Unit Μονάδα Δεδομένων Πρωτοκόλλου Quadrature Phase-Shift Keying - Ορθογωνική Διαμόρφωση Ολίσθησης Φάσης Reduced Function Device Συσκευή Περιορισμένων Λειτουργιών Received Signal Strength Indicator Service Access Point Σημείο Πρόσβασης Υπηρεσίας Superframe Duration Διάρκεια Υπερπλαισίου Symmetric-Key Key Establishment Wireless Sensor Network Ασύρματο Δίκτυο Αισθητήρων ZigBee Device Object Αντικείμενο Συσκευής ZigBee vii

8 1 ΕΙΣΑΓΩΓΗ Ένα Ασύρματο Δίκτυο Αισθητήρων (Wireless Sensor Network-WSN) ορίζεται ως ένα δίκτυο διασυνδεδεμένων συσκευών-κόμβων, οι οποίοι συλλέγουν πληροφορίες από το περιβάλλον και τις μεταδίδουν μέσω ασύρματων ζεύξεων. Τα δεδομένα προωθούνται, μέσω πολλαπλών αναπηδήσεων σε μια κεντρική συσκευή η οποία συνδέεται με κάποιο άλλο δίκτυο (πχ το Internet). Η συλλογή πληροφοριών και η επικοινωνία γίνεται με συνεργασία όλων τον κόμβων. 1.1 Βασικά χαρακτηριστικά των WSN Οι διάφορες απαιτήσεις των εφαρμογών, συνιστούν τα εξής χαρακτηριστικά ενός Ασύρματου Δικτύου Αισθητήρων: Μικρό μέγεθος κόμβου Χαμηλό κόστος κόμβου Χαμηλή κατανάλωση ισχύος Ικανότητα αυτορρύθμισης: Οι κόμβοι θα πρέπει αυτόνομα να οργανωθούν και να σχηματίσουν δίκτυο μετά την τοποθέτηση τους. Επίσης η τοπολογία θα πρέπει να προσαρμόζεται σε περιπτώσεις που ένας κόμβος παρουσιάσει πρόβλημα Επεκτασιμότητα Αξιοπιστία Ανοχή σφαλμάτων Ασφάλεια 8

9 1.2 Προκλήσεις Σχεδίασης Δικτύου Τα χαρακτηριστικά των Ασύρματων Δικτύων Αισθητήρων παρουσιάζουν ιδιαίτερες προκλήσεις κατά το σχεδιασμό και την εγκατάστασή τους: Περιορισμένο απόθεμα ενέργειας: Συνήθως οι κόμβοι τροφοδοτούνται από μπαταρία η οποία έχει περιορισμένη διάρκεια. Για να μεγιστοποιηθεί η διάρκειά της, η αποδοτικότητα ενέργειας θα πρέπει να ληφθεί υπόψη κατά τη σχεδίαση του δικτύου, αλλά και του κόμβου Περιορισμένοι πόροι: Οι κόμβοι έχουν περιορισμένους υπολογιστικούς και αποθηκευτικούς πόρους, επομένως μπορούν να εκτελέσουν περιορισμένο αριθμό λειτουργιών «Εχθρικό» περιβάλλον λειτουργίας: Το περιβάλλον μπορεί να προκαλέσει βλάβες στους ίδιους τους κόμβους, αλλά και παρεμβολές στη μεταξύ τους επικοινωνία Μεγάλο εύρος εφαρμογών: Κάθε εφαρμογή WSN έχει ιδιαίτερες απαιτήσεις, οι οποίες μπορεί να διαφέρουν αρκετά μεταξύ εφαρμογών 1.3 Εφαρμογές WSN Όπως αναφέρθηκε προηγουμένως, ένα βασικό μέρος ενός κόμβου είναι ο αισθητήρας. Οι αισθητήρες μπορούν να παρακολουθήσουν ένα μεγάλο εύρος καταστάσεων του περιβάλλοντος όπως: θερμοκρασία, υγρασία, πίεση, φως, κίνηση, ταχύτητα, επίπεδα θορύβου κλπ. Αυτό έχει ως αποτέλεσμα την πληθώρα εφαρμογών WSN Αυτοκινητοβιομηχανία Όλα τα σύγχρονα αυτοκίνητα περιέχουν δίκτυο αισθητήρων, το οποίο παρακολουθεί την απόδοση της μηχανής και των υποσυστημάτων. Επίσης υπάρχουν επιπλέον αισθητήρες για την παρακολούθηση της θερμοκρασίας αέρα, της πίεσης των ελαστικών, ακόμα και την απόσταση από άλλα οχήματα Περιβαλλοντική Παρακολούθηση Τα δίκτυα αισθητήρων είναι ιδανικά για την παρακολούθηση του περιβάλλοντος. Εξαιτίας του μικρού μεγέθους, κόστους και απαίτησης ισχύος μπορούν να εγκατασταθούν σε πολλά σημεία, με αποτέλεσμα την ακριβέστερη παρακολούθηση. Ένα δίκτυο μπορεί να περιλαμβάνει αισθητήρες θερμοκρασίας, υγρασίας, ποιότητας αέρα, επίπεδα οξυγόνου, ηλεκτρομαγνητικής ακτινοβολίας κλπ. Τα δεδομένα αποστέλλονται σε έναν υπολογιστή, ο οποίος αναλαμβάνει την 9

10 καταγραφή τους καθώς και πραγματοποίηση διαφόρων ενεργειών (πχ ενεργοποίηση κάποιας μηχανής) αναλόγως τις τιμές των μετρήσεων Έξυπνα κτήρια Με την τοποθέτηση αισθητήρων σε διάφορα σημεία ενός κτηρίου είναι δυνατή η παρακολούθηση του περιβάλλοντος (θερμοκρασία, υγρασία, ποιότητα αέρα) και η κατάλληλη ενεργοποίηση συσκευών (κλιματιστικά, συστήματα εξαερισμού, θερμαντικά σώματα). Η συνεχής παρακολούθηση συμβάλλει και στην εξοικονόμηση ενέργειας. Ακόμη με χρήση ειδικών αισθητήρων μπορούν να παρακολουθούνται φυσικές φθορές των κατασκευών (πχ ρωγμές από σεισμούς, σκουριά στα σίδερα κλπ.) Εφαρμογές Υγείας Οι εξελίξεις στην ιατρική και στην τεχνολογία των αισθητήρων επιτρέπουν τη χρήση δικτύων αισθητήρων σε βιοϊατρικές εφαρμογές. Βασικό παράδειγμα αποτελεί η συλλογή δεδομένων ασθενών σε πραγματικό χρόνο και αποστολή στον ιατρό, ώστε να υπάρχει καλύτερη εικόνα για την κατάσταση του ασθενή. Επιπλέον, με τη συνεχή παρακολούθηση ζωτικών λειτουργιών μπορούν να γίνουν αντιληπτές τυχόν ανωμαλίες πριν την εκδήλωση συμπτωμάτων. 10

11 2 ΙΕΕΕ Το πρότυπο IEEE επιτρέπει την ασύρματη επικοινωνία σε μικρές αποστάσεις. Κύρια χαρακτηριστικά του είναι η απλότητα, ο χαμηλός ρυθμός μετάδοσης, η χαμηλή κατανάλωση ισχύος και το χαμηλό κόστος. Τα παραπάνω καθιστούν το πρότυπο ιδανικό για χρήση σε υλοποιήσεις WSN. Η ομάδα εργασίας του IEEE εστιάζει στην τυποποίηση του φυσικού (PHY) και του MAC επιπέδου. 2.1 Φυσικό Επίπεδο PHY Το IEEE επιτρέπει τη σύνδεση φορητών, χαμηλής πολυπλοκότητας συσκευών, βασιζόμενο στο πρωτόκολλο Πολλαπλής Πρόσβασης με Ανίχνευση Μέσου και Αποφυγή Σύγκρουσης (Carrier-Sense Multiple Access with Collision Avoidance - CSMA/CA). Επίσης χρησιμοποιείται η τεχνική Διεύρυνσης Φάσματος Άμεσης Ακολουθίας Στοιχείων (Direct Sequence Spread Spectrum DSSS). Το φυσικό επίπεδο παρέχει μια διεπαφή για την πρόσβαση στο φυσικό μέσο. Αναλαμβάνει την ενεργοποίηση του πομποδέκτη, την επιλογή καναλιού, τον έλεγχο ποιότητας της ζεύξης και της αποστολής/λήψης μηνυμάτων. Επιπλέον, είναι υπεύθυνο για τη σύσταση της ζεύξης μεταξύ δύο συσκευών, τη διαμόρφωση/αποδιαμόρφωση των bit και το συγχρονισμό των μηνυμάτων. Το πρότυπο ορίζει ένα σύνολο 27 καναλιών κατανεμημένο σε τρεις ζώνες συχνοτήτων: Τη ζώνη των ,6 MHz, η οποία χρησιμοποιεί Δυαδική Διαμόρφωση με Ολίσθηση Φάσης (Binary Phase Shift Keying - BPSK) και DSSS chip-rate 300 Kchip/s. Μόνο ένα κανάλι με ρυθμό 20 Kbps είναι διαθέσιμο και η ιδανική εμβέλεια είναι περίπου 1 χιλιόμετρο Τη ζώνη των MHz, η οποία χρησιμοποιεί διαμόρφωση BPSK και DSSS chip-rate 600 Kchip/s. Δέκα κανάλια με ρυθμό 40 Kbps είναι διαθέσιμα και η ιδανική εμβέλεια είναι 1 χιλιόμετρο Τη ζώνη των MHz, η οποία χρησιμοποιεί Ορθογωνική Διαμόρφωση Ολίσθησης Φάσης (Offset Quadrature Phase Shift Keying - O- QPSK) και DSSS chip-rate 2Μchip/s. Διατίθενται δεκαέξι κανάλια με ρυθμό 250 Kbps, ενώ η ιδανική εμβέλεια είναι 200 μέτρα. 11

12 Εικόνα 2-1:Κατανομή Καναλιών Η κατανάλωση ισχύος αποτελεί βασικό θέμα στις εφαρμογές Ασύρματων Δικτύων Αισθητήρων. Για να έχει μεγάλη διάρκεια ζωής η μπαταρία, θα πρέπει οι συσκευές να χρησιμοποιούν όσο το δυνατό λιγότερη ενέργεια. Γι αυτό το λόγο το πρότυπο στοχεύει να διατηρεί τις συσκευές αδρανή για το 99% του χρόνου. Σύμφωνα με το πρότυπο, η μετάδοση οργανώνεται σε πλαίσια (frames). Συγκεκριμένα, υπάρχουν τέσσερις δομές πλαισίων: beacon frame, data frame, ACK frame και frame MAC εντολής. Όλα περιέχουν τα πεδία: Synchronization Header (SHR), Physical Header (PHR) και Physical Service Data Unit (PSDU). Το PSDU αποτελείται από τα πεδία: MAC Header (MHR), MAC Footer (MFR) και MAC Service Data UNIT (MSDU). Το τελευταίο πεδίο δεν περιλαμβάνεται στο ACK frame. Παρακάτω φαίνονται συνοπτικά οι δομές των τεσσάρων πλαισίων: 12

13 Εικόνα 2-2:Beacon Frame Εικόνα 2-3:Data Frame 13

14 Εικόνα 2-4:ACK Frame Εικόνα 2-5:MAC Command Frame 14

15 2.2 Τοπολογίες Προτύπου IEEE Το πρότυπο ορίζει δύο είδη συσκευών στο δίκτυο: Συσκευή Πλήρων Λειτουργιών (Full Function Device - FFD) και Συσκευή Μειωμένων Λειτουργιών (Reduced Function Device - RFD). Η FFD μπορεί να εκτελέσει όλο το σύνολο των MAC λειτουργιών και ενεργεί ως συντονιστής δικτύου (network coordinator) ή ως απλή συσκευή. Η RFD εκτελεί ένα περιορισμένο σύνολο MAC λειτουργιών και μπορεί να ενεργεί μόνο ως απλή συσκευή δικτύου. Στο πρότυπο ορίζονται δύο βασικές τοπολογίες: Η τοπολογία αστέρα (Star Topology) που σχηματίζεται γύρω από μια FFD, η οποία λειτουργεί ως συντονιστής δικτύου και είναι η μόνη συσκευή που έχει τη δυνατότητα εγκαθίδρυση ζεύξης με τις υπόλοιπες συσκευές. Η συγκεκριμένη τοπολογία προτιμάται, όταν η περιοχή κάλυψης είναι μικρή και απαιτείται μικρή καθυστέρηση. Η επικοινωνία ελέγχεται από τον συντονιστή, ο οποίος στέλνει beacon frames για συγχρονισμό και συσχέτιση (association) των συσκευών. Για να συνδεθεί μια συσκευή με το δίκτυο, περιμένει το beacon frame του συντονιστή και μόλις το λάβει στέλνει αίτημα συσχέτισης στον συντονιστή, ο οποίος στη συνέχεια κάνει δεκτό ή όχι το αίτημα. Η δεύτερη τοπολογία ονομάζεται Peer-to-Peer και κάθε συσκευή μπορεί να σχηματίζει πολλαπλές ζεύξεις με τις άλλες συσκευές του δικτύου. Προτιμάται όταν η περιοχή κάλυψης είναι μεγάλη και η καθυστέρηση δεν είναι σημαντικός παράγοντας. Επιτρέπεται ο σχηματισμός πολύπλοκων δικτύων και οποιαδήποτε FDD συσκευή μπορεί να επικοινωνήσει με κάποια άλλη FDD, η οποία βρίσκεται στην εμβέλεια της. Εικόνα 2-6:Τοπολογίες IEEE

16 2.3 Διαδικασία σχηματισμού τοπολογίας Για να σχηματίσει ο συντονιστής ένα δίκτυο, πρέπει πρώτα να βρει ποιο κανάλι είναι ελεύθερο από παρεμβολές. Το πρότυπο ορίζει τη διαδικασία Σάρωση Ανίχνευσης Ενέργειας (Energy Detection Scan), η οποία επιστρέφει τη μέγιστη τιμή ενέργειας σε κάθε κανάλι. Η λογική επιλογής του καναλιού ορίζεται από το χρήστη. Για να συνδεθεί ένας κόμβος με το δίκτυο, πρέπει να αναζητήσει διαθέσιμα δίκτυα, να επιλέξει το δίκτυο και να ξεκινήσει τη διαδικασία συσχέτισης με τον συντονιστή ή κάποιο άλλο (ήδη συνδεδεμένο) κόμβο του δικτύου. Η αναζήτηση γίνεται με ανίχνευση των Beacon πλαισίων που εκπέμπουν οι συντονιστές. Για τη συσχέτιση το πρότυπο ορίζει δύο μεθόδους σάρωσης: 1. Παθητική Σάρωση (Passive scan): Στα beacon-enabled δίκτυα, οι κόμβοι εκπέμπουν beacon πλαίσια, ώστε να το δίκτυο να ανιχνεύεται από εξωτερικές συσκευές 2. Ενεργή Σάρωση (Active scan): Σε non beacon-enabled δίκτυα, τα beacon πλαίσια δεν εκπέμπονται περιοδικά, αλλά πρέπει να ζητηθούν από την εξωτερική συσκευή Ο τρόπος επιλογής του δικτύου που θα συνδεθεί η συσκευή διαφοροποιείται ανάλογα την εφαρμογή. Αν η συσκευή γίνει δεκτή στο δίκτυο, ο συντονιστής στέλνει στη συσκευή μήνυμα επιτυχούς σύνδεσης. 2.4 Επίπεδο MAC Πρόσβαση στο κοινό κανάλι Το επίπεδο MAC παρέχει έλεγχο πρόσβασης στο κοινό κανάλι και αξιόπιστη μεταφορά δεδομένων. Βασίζεται στο πρωτόκολλο CSMA/CA, κατά τον οποίο πριν την εκπομπή ανιχνεύεται αν είναι ελεύθερο το κανάλι, έτσι ώστε να μειωθεί η πιθανότητα συγκρούσεων με άλλες εκπομπές. Οι κύριες λειτουργίες που εκτελεί το επίπεδο MAC είναι: συσχέτιση/αποσυσχέτιση, έλεγχος ασφάλειας, σύσταση των Beacon και ACK Frames και διαχείριση των χρονοθυρίδων (timeslots). Το IEEE ορίζει δύο τρόπους επικοινωνίας: Beacon-Enabled και Non Beacon-Enabled Non Beacon-Enabled Στη Non Beacon-Enabled επικοινωνία, οι κόμβοι χρησιμοποιούν unslotted CSMA/CA. Βασικό μέρος αποτελεί μια μονάδα χρόνου η οποία ονομάζεται Περίοδος Υποχώρησης (Backoff Period). Κάθε κόμβος διατηρεί στη μνήμη δύο μεταβλητές. Την NB, η οποία αυξάνεται κάθε 16

17 φορά που, κατά τον έλεγχο του καναλιού, διαπιστώνεται ότι το κανάλι δεν είναι διαθέσιμο, οπότε η εκπομπή περιμένει για χρόνο ίσο με την περίοδο υποχώρησης. Για κάθε νέα εκπομπή η μεταβλητή μηδενίζεται, ενώ δεν μπορεί να πάρει τιμές μεγαλύτερες από NB max. H δεύτερη μεταβλητή ονομάζεται BE, ορίζει την περίοδο υποχώρησης και παίρνει τιμές μεταξύ BE min και BE max. Ο αλγόριθμος Non Beacon-Enabled CSMA/CA εκτελείται ως εξής: Αρχικά, ορίζονται οι μεταβλητές NB=0, BE= BE min και αναστέλλονται όλες οι λειτουργίες για κάποια τυχαία τιμή της περιόδου υποχώρησης, η οποία βρίσκεται στο διάστημα [0,2 ΒΕ -1]. Στη συνέχεια ανιχνεύεται αν είναι ελεύθερο ή κατειλημμένο το κανάλι. Αν είναι ελεύθερο η ξεκινάει η εκπομπή. Σε αντίθετη περίπτωση, αυξάνονται οι NB και BE κατά ένα. Αν η τιμή της NB είναι μικρότερη της NB max, επαναλαμβάνεται η διαδικασία, ενώ αν γίνει μεγαλύτερη της NB max τότε ο αλγόριθμος τερματίζει και η εκπομπή αποτυγχάνει. Ο αλγόριθμος συνοψίζεται στοπαρακάτω διάγραμμα ροής: Εικόνα 2-7:Διάγραμμα Ροής Non Beacon-Enabled CSMA/CA Beacon-Enabled Στην της Beacon-Enabled επικοινωνίας, ο συγχρονισμός επιτυγχάνεται με χρήση beacons, τα οποία εκπέμπει ο συντονιστής ανά χρονικά διαστήματα που ορίζονται από τη μεταβλητή Beacon Interval (BI). Ο ενδιάμεσος χρόνος αποτελείται από το ενεργό και το (προαιρετικό) αδρανές μέρος. Το ενεργό μέρος, ονομάζεται Υπερπλαίσιο (Superframe) και αποτελείται 16 17

18 χρονοθυρίδες (timeslots), όπου πραγματοποιείται η εκπομπή πλαισίων, ενώ στο αδρανές μέρος οι συσκευές βρίσκονται σε λειτουργία αδράνειας. Η τιμή του BI ορίζεται ως: BI = abasesuperframeduration 2 BO με 0 ΒΟ 14 ενώ η Διάρκεια Υπερπλαισίου (Superframe Duration): SD = abasesuperframeduration 2 SO με 0 SO ΒΟ 14. Το BaseSuperframeDuration ορίζεται από το IEEE ίσο με 960 σύμβολα, με κάθε σύμβολο να αποτελείται από 4 bit. Ανάλογα του ρυθμού δεδομένων διαφοροποιείται και η διάρκεια, για παράδειγμα σε 250kbps η τιμή BaseSuperframeDuration είναι ίση με 15.36ms. Εικόνα 2-8:Δομή Superframe Το υπερπλαίσιο χωρίζεται επιπλέον σε δύο μέρη: Περίοδος Διαμάχης Πρόσβασης (Contention Access Period - CAP) και Περίοδος Πρόσβασης χωρίς Διαμάχη (Contention Free Period - CFP). Η CFP μπορεί να περιέχει μέχρι 7 Εξασφαλισμένες Χρονοθυρίδες (Guaranteed Time Slot-GTS). Στην περίπτωση CAP, η πρόσβαση στο κοινό κανάλι βασίζεται σε slotted CSMA/CA και δεν εξασφαλίζεται η πρόσβαση στο κανάλι τη στιγμή που το απαιτεί η συσκευή. Η διαφορά σε σχέση με unslotted CSMA/CA, βρίσκεται στο ότι για να εκπέμψει ένας κόμβος, θα πρέπει προηγουμένως να έχει ανιχνεύσει ελεύθερο κανάλι δύο συνεχόμενες φορές. Επομένως, εκτός των NB, BE ορίζεται μια επιπλέον μεταβλητή η CW, η οποία χρησιμοποιείται για τον περιορισμό που αναφέρθηκε. Ο αλγόριθμος διαφοροποιείται ως εξής: Πριν την έναρξη αποστολής η CW αρχικοποιείται στην τιμή 2. Εφόσον ανιχνευτεί ελεύθερο κανάλι (όπως γίνεται στο non beacon-enabled), η CW μειώνεται κατά 1 και ελέγχεται αν μηδενίστηκε. Σε περίπτωση που μηδενίζεται ξεκινάει η αποστολή, αλλιώς γίνεται ξανά ανίχνευση του καναλιού. Κατά τη δεύτερη ανίχνευση, διαπιστωθεί ότι το κανάλι δεν είναι ελεύθερο, η CW θα ξαναπάρει την τιμή 2. Παρακάτω φαίνεται το διάγραμμα ροής του αλγορίθμου: 18

19 Εικόνα 2-9:Διάγραμμα Ροής Beacon-Enabled CSMA/CA Στην περίπτωση CFP, σε μια συσκευή εξασφαλίζεται μια χρονοθυρίδα για πρόσβαση στο κοινό κανάλι, επομένως δεν απαιτείται η χρήση CSMA/CA. Αυτή η περίπτωση χρησιμοποιείται για συσκευές που απαιτούν την ελάχιστη δυνατή καθυστέρηση για την πρόσβαση στο κανάλι. Μια συσκευή στέλνει αίτηση GTS στο συντονιστή, ο οποίος ελέγχει αν υπάρχουν διαθέσιμες χρονοθυρίδες και αναλόγως στέλνει μήνυμα με τη θέση και το μήκος της GTS στο υπερπλαίσιο. Για αποδέσμευση της χρονοθυρίδας υπάρχουν δύο τρόποι: ο ρητός, κατά τον οποίο ο συντονιστής αποδεσμεύει τη χρονοθυρίδα στέλνοντας μήνυμα στη συσκευή και ο έμμεσος, κατά τον οποίο ο συντονιστής αποδεσμεύει τη χρονοθυρίδα αν δεν υπάρξει εκπομπή κατά τη διάρκεια της χρονοθυρίδας. 19

20 3 ZIGBEE Η ZigBee Alliance είναι μια κοινοπραξία μεταξύ μεγάλων εταιριών που έχει σκοπό την ανάπτυξη του πρωτοκόλλου ZigBee, ώστε να καλύψει τις ακόλουθες ανάγκες: Χαμηλό κόστος Ασφάλεια Αξιοπιστία Ευελιξία και επεκτασιμότητα Χαμηλή κατανάλωση ενέργειας Η αρχιτεκτονική του ZigBee αποτελείται από ένα αριθμό επιπέδων (layers), το καθένα από τα οποία εκτελεί συγκεκριμένες λειτουργίες, ώστε να εξυπηρετεί το ανώτερο επίπεδο. Εικόνα 3-1:Στοίβα ZigBee & IEEE Τα δύο χαμηλότερα επίπεδα είναι τα PHY και MAC, τα οποία ορίζονται από το IEEE , που περιγράφηκε στις προηγούμενες ενότητες. Δηλαδή, το πρότυπο ZigBee χτίζεται πάνω στο πρότυπο IEEE και παρέχει λειτουργίες ανώτερων επιπέδων από τα PHY και MAC. 20

21 3.1 Επίπεδο Δικτύου Network Layer (NWK) Το NWK επίπεδο είναι υπεύθυνο για το σχηματισμό δικτύου, είσοδο και αποχώρηση συσκευής από το δίκτυο, ανακάλυψη και συντήρηση διαδρομών μεταξύ συσκευών του δικτύου. Δέχεται εντολές από το Επίπεδο Εφαρμογής (Application Layer APL) για το ποιες λειτουργίες θα εκτελέσει Ανακάλυψη Δικτύου Η διαδικασία ανακάλυψης δικτύου χρησιμοποιεί λειτουργίες του MAC επιπέδου για να σαρώσει το κανάλι ώστε να βρεθούν υπάρχοντα δίκτυα στην εμβέλεια της συσκευής. Η ενεργή σάρωση είναι η προτιμώμενη μέθοδος σάρωσης, αν αυτή υποστηρίζεται από τη συσκευή. Σε αντίθετη περίπτωση χρησιμοποιείται παθητική σάρωση. Η διαδικασία επιστρέφει μια λίστα από τα υπάρχοντα δίκτυα, η οποία συμπεριλαμβάνει το PAN-ID, τη συχνότητα καναλιού και την έκδοση ZigBee πρωτοκόλλου που χρησιμοποιεί το κάθε δίκτυο. Επιπλέον, η διαδικασία θα επαληθεύσει αν σε κάθε δίκτυο υπάρχει τουλάχιστον ένας δρομολογητής ο οποίος επιτρέπει την είσοδο στο δίκτυο Σχηματισμός δικτύου Η συσκευή που θα σχηματίσει το δίκτυο θα πρέπει να είναι FFD, ώστε να λειτουργεί ως ZigBee συντονιστής. Αρχικά πραγματοποιείται Σάρωση Ανίχνευσης Ενέργειας (ορίζεται στο επίπεδο MAC), ακολουθούμενη από ενεργή σάρωση. Αναλόγως του αποτελέσματος της σάρωσης, επιλέγεται το πρώτο κανάλι με το χαμηλότερο αριθμό υπαρχόντων δικτύων και ορίζεται ένα μοναδικό PAN-ID Τρόποι επικοινωνίας Η επικοινωνία διαχωρίζεται σε τρεις τρόπους: Broadcast: Παραλήπτης του μηνύματος είναι όλες οι συσκευές οι οποίες λαμβάνουν το μήνυμα Multicast: Παραλήπτης του μηνύματος είναι μια ομάδα συσκευών του δικτύου Unicast: Παραλήπτης του μηνύματος είναι μία συγκεκριμένη συσκευή. Είναι ο προεπιλεγμένος τρόπος επικοινωνίας Broadcasting Το μήνυμα προορίζεται για όσες συσκευές είναι συντονισμένες στο συγκεκριμένο κανάλι, ανεξαρτήτως διευθύνσεως. Κατά τη λήψη του μηνύματος, η συσκευή ελέγχει τη διεύθυνση προορισμού για να ελέγξει αν είναι παραλήπτης του μηνύματος. Σε αντίθεση με το IEEE 21

22 , το ZigBee δεν επιτρέπει το broadcasting, μεταξύ δικτύων με διαφορετικό PAN ID. Για να ελαχιστοποιηθεί η κίνηση μηνυμάτων στο δίκτυο, χρησιμοποιείται ο μηχανισμός παθητικής επιβεβαίωσης. Σύμφωνα με τον μηχανισμό, για να επαληθεύσουν ο ZigBee Συντονιστής και οι ZigBee Δρομολογητές (Routers) την επιτυχή λήψη του broadcast μηνύματος, αφού στείλουν το μήνυμα μπαίνουν σε λειτουργία λήψης και περιμένουν να ξανασταλθεί το ίδιο broadcast μήνυμα από τις γειτονικές συσκευές. Λόγω της πολλαπλής επανεκπομπής του broadcast μηνύματος, υπάρχει πιθανότητα σύγκρουσης. Για να μειωθεί η πιθανότητα, πριν κάθε επανεκπομπή, η συσκευή περιμένει για τυχαίο χρονικό διάστημα, το οποίο ονομάζεται broadcast jitter Multicasting Το μήνυμα παραδίδεται σε μια ομάδα συσκευών που βρίσκονται στο ίδιο δίκτυο. Για παράδειγμα, σε μια εφαρμογή που ελέγχει τα φώτα, η συσκευή που λειτουργεί ως διακόπτης στέλνει ένα μήνυμα ON/OFF σε μια ομάδα από φώτα που βρίσκονται στο σπίτι. Το ίδιο μπορεί να επιτευχθεί με διαδοχικά unicast μηνύματα, το οποίο δεν είναι τόσο αποδοτικό. Κάθε ομάδα προσδιορίζεται από ένα 16-bit Group ID. Μια συσκευή μπορεί να είναι μέλος σε πολλές ομάδες. Υπάρχουν δύο τρόποι αποστολής multicast μηνύματος, ανάλογα με το αν είναι ή όχι η συσκευή μέλος της ομάδας. Σε περίπτωση που είναι μέλος (member mode), στέλνει η ίδια το μήνυμα στα υπόλοιπα μέλη της ομάδες Σε περίπτωση που δεν είναι μέλος (non-member mode), δρομολογεί το μήνυμα σε ένα μέλος της ομάδας και στη συνέχεια εκείνο το μέλος προωθεί το μήνυμα στα υπόλοιπα μέλη. Εικόνα 3-2:Multicasting από συσκευή εκτός ομάδας 22

23 Επικοινωνία πολλών συσκευών προς μία (Many-to-One) Εικόνα 3-3:Πολλές συσκευές προς μία Στην παραπάνω εικόνα φαίνεται ένα σενάριο, κατά το οποίο μια συσκευή λαμβάνει μηνύματα από πολλές συσκευές του ίδιου δικτύου. Η συσκευή αυτή ονομάζεται Αποδέκτης (Sink). Στο ZigBee ο αποδέκτης δημιουργεί διαδρομές από αυτόν προς οποιοδήποτε ZigBee δρομολογητή και συντονιστή υπάρχει σε δοσμένη ακτίνα Πλαίσια επιπέδου NWK Το επίπεδο NWK διαχειρίζεται δύο ειδών πλαίσια: Πλαίσιο Δεδομένων και Πλαίσιο Εντολών (Data Frame & Command Frame) τα οποία αποτελούνται από το NWK Header (NHR) και το NWK Payload. Στην παρακάτω εικόνα φαίνεται η γενική μορφή του πλαισίου και στη συνέχεια αναλυτικά τα δύο είδη. 23

24 Εικόνα 3-4:Γενική μορφή NWK πλαισίου Τα πρώτα 16-bit του πλαισίου αποτελούν το Frame Control, όπου ορίζονται διάφοροι παράμετροι, όπως το είδος του πλαισίου (data ή command), η έκδοση του πρωτοκόλλου, η ασφάλεια, οι επιλογές για multicast εκπομπή και Δρομολόγηση Πηγής (Source Routing) καθώς και αν συμπεριλαμβάνονται οι IEEE διευθύνσεις Destination και Source στο πλαίσιο. Τα bit Discover Route ορίζουν 3 περιπτώσεις: Suppress Route Discovery: Σε περίπτωση που η διαδρομή είναι γνωστή το πλαίσιο μεταδίδεται κανονικά. Σε αντίθετη περίπτωση, απορρίπτεται ή αποθηκεύεται σε προσωρινή μνήμη μέχρι να βρεθεί διαδρομή Enable Route Discovery: Ομοίως με το προηγούμενο, αλλά σε περίπτωση που δεν υπάρχει διαδρομή θα ξεκινήσει η διαδικασία ανακάλυψης διαδρομής Force Route Discovery: Πριν τη μετάδοση, εκτελείται η διαδικασία ανακάλυψης διαδρομής, ανεξάρτητα αν υπάρχει ήδη διαδρομή Στα υπόλοιπα πεδία ορίζονται οι διευθύνσεις προορισμού και πηγής, η ακτίνα η οποία ορίζει το μέγιστο αριθμό αναπηδήσεων και ο αριθμός ακολουθίας, ο οποίος αυξάνεται με τη μετάδοση κάθε πλαισίου. Το πεδίο Multicast Control περιλαμβάνει τα πεδία: Multicast Mode: Παίρνει την τιμή 00, αν η συσκευή δεν είναι μέλος του δικτύου και 01, αν είναι μέλος του δικτύου Nonmember Radius: Η αρχική τιμή είναι ίση με το πεδίο Max Nonmember Radius. Με κάθε επανεκπομπή από μη-μέλος συσκευή, μειώνεται κατά μια μονάδα. Όταν φτάσει την τιμή μηδέν δε μπορεί να επανεκπεμφθεί από μη-μέλος συσκευή. 24

25 Max Nonmember Radius: Ορίζει τον μέγιστο αριθμό επανεκπομπών από μη-μέλη συσκευές. Αν έχει την τιμή 0x07 (0b111) τότε δεν υπάρχει όριο στον αριθμό επανεκπομπών. Το πεδίο Source Route Subframe περιλαμβάνει τα πεδία: Relay Count: Ο αριθμός αναμεταδόσεων του πλαισίου Relay Index: Δείχνει την διεύθυνση του επόμενου κόμβου. Έχει αρχική τιμή 0, και αυξάνεται κάθε φορά που αναμεταδίδεται το πλαίσιο. Relay List: Λίστα με τις 16-bit διευθύνσεις των κόμβων, οι οποίοι θα αναμεταδώσουν το πλαίσιο Στην επόμενη εικόνα φαίνεται η μορφή των πλαισίων δεδομένων και εντολών: Εικόνα 3-5:Πλαίσιο Δεδομένων & Εντολών Στην περίπτωση του πλαισίου δεδομένων το Payload αποτελείται από τα δεδομένα, ενώ στην περίπτωση του πλαισίου εντολής, αποτελείται από 8-bit που καθορίζουν την εντολή (Command Identifier) και ένα μεταβλητό μέγεθος αναλόγως την εντολή. Command Frame Identifier Εντολή Περιγραφή Route Request Στέλνεται από την πηγή και ξεκινάει την ανακάλυψη διαδρομής μεταξύ πηγής και προορισμού Route Reply Στέλνεται από τη συσκευή προορισμού στην πηγή Route Error Ενημερώνει την πηγή ότι παρουσιάστηκε σφάλμα κατά την αναμετάδοση του πλαισίου. Περιέχει και έναν κωδικό σφάλματος-error code ώστε να διευκρινίζεται το είδος του σφάλματος 25

26 Leave Στέλνεται είτε από συσκευή η οποία αποχωρεί η ίδια από το δίκτυο, είτε από συσκευή που ζητάει την αποχώρηση άλλης συσκευής από το δίκτυο Route Record Καταγραφή των διευθύνσεων όλων των συσκευών οι οποίες θα αναμεταδώσουν το συγκεκριμένο πλαίσιο Rejoin Request Αν κάποια συσκευή χάσει τη σύνδεση με το γονέα, χρησιμοποιεί αυτή την εντολή ώστε να επανασυνδεθεί στο δίκτυο μέσω άλλου γονέα Rejoin Response Η συσκευή-γονέας που δέχεται τη rejoin request απαντάει αναλόγως αν μπορεί να δεχτεί επιπλέον παιδιά και αναθέτει καινούρια 16-bit διεύθυνση στο παιδί Πίνακας 3-1:Εντολές NWK Επιπέδου Εικόνα 3-6:Πλαίσια NWΚ Εντολών 26

27 3.1.5 Τοπολογίες Ιεραρχική Τοπολογία/Τοπολογία Δέντρου Σε αυτή την τοπολογία ο συντονιστής βρίσκεται στη ρίζα του δέντρου. Ένας συντονιστής ή δρομολογητής μπορεί να ενεργεί ως γονέας και να δέχεται αιτήματα συσχέτισης από άλλες συσκευές του δικτύου. Η συσκευή η οποία συνδέεται σε έναν γονέα ονομάζεται θυγατρική συσκευή και τα μηνύματα προς αυτή δρομολογούνται μέσω της γονικής. Μια απλή συσκευή ZigBee, μπορεί να είναι μόνο θυγατρική καθώς δεν διαθέτει δυνατότητες δρομολόγησης. Βάθος (depth) ορίζεται ως ο ελάχιστος αριθμός αναπηδήσεων που απαιτούνται για να φτάσει ένα μήνυμα στον συντονιστή. Οι άμεσες θυγατρικές συσκευές του συντονιστή έχουν βάθος 1, καθώς επικοινωνούν με τον απευθείας με τον συντονιστή. Εικόνα 3-7:Ιεραρχική Τοπολογία Η τοπολογία αστέρα μπορεί να θεωρηθεί μια ειδική περίπτωση της ιεραρχικής τοπολογίας, όπου ο μόνος γονέας στο δίκτυο είναι ο συντονιστής. Όλες οι θυγατρικές συσκευές βρίσκονται σε βάθος 1 και επικοινωνούν μόνο με τον συντονιστή Τοπολογία Πλέγματος Σε αυτή την τοπολογία δεν υπάρχουν ιεραρχικές σχέσεις. Κάθε συσκευή μπορεί να επικοινωνήσει απευθείας με τον τελικό παραλήπτη ή να χρησιμοποιήσει άλλες συσκευές (οι οποίες έχουν δυνατότητα δρομολόγησης) για να αναμεταδώσουν το μήνυμα στον τελικό παραλήπτη. Η διαδρομή από τον αποστολέα στον παραλήπτη δημιουργείται κατ απαίτηση και τροποποιείται ανάλογα με τις αλλαγές του περιβάλλοντος. Αυτή η ικανότητα αυξάνει την αξιοπιστία των ασύρματων συνδέσεων. Για παράδειγμα, αν ένας κόμβος της διαδρομής για κάποιο λόγο τεθεί εκτός λειτουργάς, οι συσκευές με δυνατότητα δρομολόγησης θα συνεργαστούν ώστε να βρουν μια εναλλακτική διαδρομή. 27

28 3.1.6 Δρομολόγηση Δρομολόγηση είναι η διαδικασία επιλογής μιας διαδρομής από την οποία θα αναμεταδίδονται τα μηνύματα, μέχρι να φτάσουν στον τελικό παραλήπτη. Υπεύθυνοι για την ανακάλυψη και συντήρηση της διαδρομής είναι ο συντονιστής και οι δρομολογητές. Οι απλές συσκευές δε διαθέτουν δυνατότητες ανακάλυψης διαδρομής. Ως μήκος ορίζεται ο αριθμός των συσκευών σε μια διαδρομή, ενώ ο σύνδεσμος μεταξύ δυο διαδοχικών συσκευών ονομάζεται ζεύξη. Η ποιότητα ζεύξης, ο αριθμός αναπηδήσεων και η εξοικονόμηση ενέργειας επηρεάζουν την επιλογή της βέλτιστης διαδρομής. Για την απλοποίηση της διαδικασίας σε κάθε ζεύξη αντιστοιχείται ένα Κόστος Ζεύξης (Link Cost), το οποίο καθορίζεται από την πιθανότητα επιτυχούς μετάδοσης μηνύματος. Το πρότυπο ορίζει το κόστος ζεύξης ως: C{l = min (7, round ( 1 p l 4 )) Όπου C{l το κόστους της l ζεύξης και round() η συνάρτηση που στρογγυλοποιεί τον αριθμό στον κοντινότερο ακέραιο. Το κόστος είναι πάντα ακέραιος αριθμός μεταξύ 0-7. Για παράδειγμα, για πιθανότητα επιτυχούς λήψης P l=80%, το κόστος θα είναι: C{l = min (7, round ( )) = min(7, round( )) = min(7,2) = 2 Η πιθανότητα επιτυχούς μετάδοσης μπορεί να εκτιμηθεί με διάφορες μεθόδους, καθώς το ZigBee επιτρέπει την επιλογή της κατάλληλης μεθόδου αναλόγως την εφαρμογή. Η αρχική εκτίμηση βασίζεται πάντα στην Ένδειξη Ποιότητας Ζεύξης (Link Quality Indication LQI). Η LQI υπολογίζεται ως συνάρτηση της ισχύος του λαμβανόμενου σήματος και του αριθμού λανθασμένων μηνυμάτων που λήφθηκαν. Ένας απλός τρόπος υπολογισμού το κόστους ζεύξης είναι η αναζήτηση της τιμής LQI σε προκαθορισμένο πίνακα, όπου αντιστοιχείται η LQI με το κόστος ζεύξης στο διάστημα 0-7. Για τη σύγκριση διαφορετικών διαδρομών, αντιστοιχίζεται σε κάθε διαδρομή ένα Κόστος Διαδρομής (Path Cost) και ορίζεται ως: L 1 L 1 C{P = C{[D i, D i+1 ] = C{l i i=1 Η διαδρομή με το χαμηλότερο κόστος διαδρομής θα έχει την καλύτερη πιθανότητα επιτυχούς μετάδοσης μηνύματος. Οι συντονιστές και δρομολογητές δημιουργούν και συντηρούν πίνακες δρομολόγησης (routing tables), οι οποίοι χρησιμοποιούνται για να εντοπιστεί ο επόμενος κόμβος από τον οποίο θα πρέπει να δρομολογηθεί το μήνυμα ώστε να φτάσει στον τελικό αποδέκτη. i=1 28

29 Όνομα πεδίου Μέγεθος Περιγραφή Destination Address 2 bytes Η διεύθυνση της τελικής συσκευής στην οποία οδηγεί η διαδρομή Status 3 bits Η κατάσταση μπορεί να πάρει τις εξής τιμές: ACTIVE, DISCOVERY_UNDERWAY, DISCOVERY_FAILED, INACTIVE, VALIDATION_UNDERWAY Many-to-one 1 bit Αν ο τρόπος μετάδοσης είναι πολλές-προς-μια, το bit παίρνει την τιμή 1 Route record required 1 bit Σε λογικό 1, η διαδρομή που θα ακολουθήσει το μήνυμα καταγράφεται και αποστέλλεται στη διεύθυνση προορισμού Group ID flag 1 bit Παίρνει την τιμή 1 σε περίπτωση που η διεύθυνση προορισμού είναι μια ομάδα συσκευών Next-hop address 2 bytes Η 16-bit διεύθυνση του επόμενου κόμβου της διαδρομής Πίνακας 3-2:Πίνακας δρομολόγησης Ένα άλλο είδος πίνακα είναι ο πίνακας ανακάλυψης διαδρομής (route discovery table), ο οποίος χρησιμοποιείται κατά την ανακάλυψη νέων διαδρομών. Ο πίνακας αυτός περιέχει τα κόστη διαδρομής, τη διεύθυνση της αρχικής συσκευής η οποία ζήτησε τη δρομολόγηση και τη διεύθυνση της συσκευής η οποία αναμετάδωσε το μήνυμα στην τρέχουσα συσκευή. Όνομα πεδίου Μέγεθος Περιγραφή Route request ID 1 byte Αριθμός ο οποίος προσδιορίζει το αίτημα δρομολόγησης. Κάθε διαδρομή έχει μοναδικό ID Source address 2 bytes H 16-bit διεύθυνση της συσκευής που ζήτησε δρομολόγηση Sender address 2 bytes Η 16-bit διεύθυνση της συσκευής η οποία αναμετάδωσε το μήνυμα στην τρέχουσα συσκευή Forward cost 1 byte Το άθροισμα του κόστους διαδρομής από την αρχική μέχρι την τρέχουσα συσκευή. Ανανεώνεται καθώς η ανακάλυψη διαδρομής «κινείται» προς την τελική συσκευή Residual cost 1 byte Το άθροισμα του κόστους διαδρομής από την τρέχουσα συσκευή μέχρι την τελική συσκευή. Ανανεώνεται καθώς 29

30 η ανακάλυψη διαδρομής «κινείται» προς την αρχική συσκευή Expiration time 2 bytes Ο χρόνος μετά τον οποίο λήγει το περιεχόμενο του πίνακα ανακάλυψης διαδρομής Πίνακας 3-3:Πίνακας ανακάλυψης διαδρομής Κάθε ZigBee συσκευή, διατηρεί έναν Πίνακα Γειτνίασης (Neighbor Table), ο οποίος περιέχει πληροφορίες για τις συσκευές που βρίσκονται εντός εμβέλειας. Ανανεώνεται κάθε φορά που η συσκευή λαμβάνει ένα μήνυμα από κάποιο γείτονα. Χρησιμοποιείται όταν μια συσκευή ψάχνει για δρομολογητή ή προσπαθεί να επανασυνδεθεί στο δίκτυο. Όνομα πεδίου Περιγραφή Extended address 64-bit IEEE διεύθυνση Network address 16-bit διεύθυνση δικτύου Device type Είδος Συσκευής: Συντονιστής, Δρομολογητής, απλή συσκευή RxOnWhenIdle Σε περίπτωση που το πεδίου έχει τιμή 1, η συσκευή διατηρεί ανοιχτό τον δέκτη κατά την αδρανή λειτουργία Relationship Καθορίζει τη σχέση της συσκευής με το γείτονα: Γονέας, παιδί, συγγενής Transmit failure Αποθηκεύεται ο αριθμός των αποτυχημένων προσπαθειών επικοινωνίας LQI Εκτιμώμενη ποιότητα ζεύξης Incoming beacon timestamp Η χρονική στιγμή λήψης τελευταίου beacon (προαιρετικό) Potential parent Καθορίζει αν ο γείτονας είναι πιθανός γονέας (προαιρετικό) Πίνακας 3-4:Πίνακας γειτνίασης 30

31 Διαδικασία ανακάλυψης διαδρομής Εικόνα 3-8: Ανακάλυψη Διαδρομής Στην παραπάνω εικόνα φαίνεται η διαδικασία ανακάλυψης διαδρομής από τη συσκευή A στην F: 1. Η συσκευή Α, εκπέμπει με Broadcast τρόπο route request εντολή, το οποίο περιλαμβάνει το ID της διαδρομής, την τελική διεύθυνση και το κόστος διαδρομής (αρχική τιμή 0) και αναμένει για παθητική επιβεβαίωση 2. Η εντολή λαμβάνεται από τις συσκευές B και C, οι οποίες βρίσκονται εντός της εμβέλειας της Α 3. Η κάθε συσκευή Β και C: Υπολογίζει το κόστος διαδρομής από την Α, το προσθέτει στο πεδίο κόστους διαδρομής και επανεκπέμπει τη route request εντολή 4. Οι συσκευές D και E, λαμβάνουν τη route request εντολή από τις B και C αντίστοιχα και θα ακολουθήσουν την ίδια λειτουργία με τις B,C Υπάρχει περίπτωση η συσκευή D (ομοίως και η E), να λάβει το μήνυμα από τη C (B) συσκευή. Ο πίνακας δρομολόγησης της D (E) θα ενημερωθεί ώστε να περιέχει τη διαδρομή με το χαμηλότερο κόστος διαδρομής 5. Η διαδικασία θα συνεχιστεί μέχρι η route request εντολή να φτάσει στη συσκευή F. Η F θα αποφασίσει, με βάση το συνολικό κόστος διαδρομής, ποια διαδρομή θα ακολουθήσει. Θα επιλέξει δηλαδή μεταξύ των συσκευών D και E, οι οποίες θα επιλέξουν στη συνέχεια τη βέλτιστη διαδρομή μεταξύ B και C 6. Η συσκευή B ή C που θα επιλεγεί θα επιστρέψει στην Α την τελική διαδρομή Στην παραπάνω διαδικασία συμμετέχουν μόνο συσκευές οι οποίες έχουν δυνατότητες δρομολόγησης. Σε περίπτωση που μια συσκευή δεν έχει δυνατότητα δρομολόγησης απλά αγνοεί την εντολή route request. 31

32 Δρομολόγηση Πηγής - Source Routing Ένας άλλος τρόπος δρομολόγησης είναι η Δρομολόγηση Πηγής (Source Routing). Η αρχική συσκευή δημιουργεί μια λίστα με τις συσκευές του δικτύου, από τις οποίες θα δρομολογηθεί το μήνυμα και συμπεριλαμβάνει τη λίστα στο NWK πλαίσιο. Κατά αυτόν τον τρόπο, μόλις ένας δρομολογητής λάβει το μήνυμα βρίσκει από τον πίνακα τη διεύθυνση της επόμενης συσκευήςκόμβου και στέλνει το μήνυμα σε αυτή Συντήρηση και επιδιόρθωση διαδρομής Μετά την ανακάλυψη μιας διαδρομής για μετάδοση μηνυμάτων, μπορεί για κάποιο λόγο η διαδρομή να αδυνατεί να μεταδώσει το μήνυμα στον προορισμό. Επειδή η διαδικασία της επιδιόρθωσης είναι απαιτητική, δε συνίσταται η έναρξη της αμέσως μετά την αποτυχία μετάδοσης, αλλά αφού ο αριθμός αποτυχιών περάσει έναν προκαθορισμένο αριθμό. Εικόνα 3-9:Επιδιόρθωση Διαδρομής Στην παραπάνω εικόνα φαίνεται ένα παράδειγμα επιδιόρθωσης διαδρομής σε τοπολογία πλέγματος, όπου η ζεύξη μεταξύ Α και Β έχει διακοπεί. Η διαδικασία επιδιόρθωσης είναι παρόμοια με τη διαδικασία ανακάλυψης διαδρομής, με τη διαφορά ότι η ανακάλυψη διαδρομής θα ξεκινήσει από τη συσκευή Α. Η συσκευή Α θα χρησιμοποιήσει τη δική της διεύθυνση στο πεδίο Source Address για την αποστολή route request command προς τη συσκευή προορισμού. Μετά από διαδοχικά route request broadcasts θα βρεθεί μια νέα διαδρομή. Σε περίπτωση που για κάποιο λόγο δεν είναι δυνατή η ανακάλυψη νέας διαδρομής, η συσκευή θα στείλει route error πλαίσιο στην αρχική συσκευή και εκείνη θα ξεκινήσει τη διαδικασία ανακάλυψης νέας διαδρομής. Χρησιμοποιείται, δηλαδή, η ίδια διαδικασία (route request command) και για την ανακάλυψη και για την επιδιόρθωση διαδρομής. Για το διαχωρισμό των δύο αυτών περιπτώσεων ορίζεται το αντίστοιχο bit στο πλαίσιο route request command Περίληψη NWK επιπέδου Το NWK επίπεδου του πρωτοκόλλου ZigBee είναι υπεύθυνο για της εξής λειτουργίες: 32

33 Ρύθμιση συσκευής ώστε είτε να συνδεθεί σε υπάρχον δίκτυο είτε να γίνει συντονιστής και να σχηματίσει ένα νέο δίκτυο Είσοδος και αποχώρηση μιας συσκευής στο δικτύου Εφαρμογή ασφάλειας σε NWK επίπεδο Δρομολόγηση πλαισίων στον προορισμό τους. Μόνο ο συντονιστής και οι δρομολογητές μπορούν να εκτελέσουν τη συγκεκριμένη λειτουργία Ανακάλυψη και συντήρηση διαδρομών μεταξύ συσκευών Ανάθεση διευθύνσεων σε συσκευές που εισέρχονται στο δίκτυο. Η ανάθεση μπορεί να γίνει μόνο από συντονιστή και δρομολογητές 3.2 Επίπεδο Εφαρμογής APL Layer Το επίπεδο εφαρμογής (APL) είναι το υψηλότερο επίπεδο στη στοίβα ZigBee. Όπως φαίνεται και στην παρακάτω εικόνα, αποτελείται από τρία μέρη: το Υποεπίπεδο Υποστήριξης Εφαρμογής (Application Support - APS), τα Αντικείμενα ZigBee Συσκευής (ZigBee Device Objects) και το Πλαίσιο Εφαρμογής (Application Framework). Εικόνα 3-10:Επίπεδο Εφαρμογής Πλαίσιο Εφαρμογής Application Framework Το πρότυπο ZigBee παρέχει την επιλογή χρήσης προφίλ εφαρμογής-application profiles, κατά την ανάπτυξη της εφαρμογής. Η χρήση προφίλ βοηθάει στη διαλειτουργικότητα μεταξύ προϊόντων τα οποία αναπτύσσονται από διαφορετικούς κατασκευαστές για την ίδια εφαρμογή. Για παράδειγμα, σε μια εφαρμογή χειρισμού φώτων, αν δυο κατασκευαστές χρησιμοποιήσουν 33

34 το ίδιο προφίλ εφαρμογής, οι διακόπτες του ενός θα μπορούν να ανοιγοκλείνουν τα φώτα που κατασκεύασε ο άλλος. Κάθε προφίλ εφαρμογής προσδιορίζεται με μια 16-bit τιμή, η οποία ονομάζεται αναγνωριστικό προφίλ-profile identifier και μόνο η ZigBee Alliance μπορεί να εκδώσει αναγνωριστικά. Η γενική δομή ενός προφίλ εφαρμογής φαίνεται στην παρακάτω εικόνα: Εικόνα 3-11:Δομή Προφίλ Εφαρμογής Τα βασικά μέρη ενός προφίλ εφαρμογής είναι οι Συστάδες (Clusters) και οι Περιγραφές Συσκευής (Device Descriptions). Μια συστάδα αποτελείται από ένα σύνολο ομαδοποιημένων ιδιοτήτων (attributes) και αναγνωρίζεται από ένα μοναδικό 16-bit αριθμό, ο οποίος ονομάζεται Αναγνωριστικό Συστάδας (Cluster Identifier), ενώ κάθε ιδιότητα αναγνωρίζεται από έναν μοναδικό 16-bit αριθμό, ο οποίος ονομάζεται Αναγνωριστικό Ιδιότητας (Attribute Identifier). Για παράδειγμα, σε μια εφαρμογή ελέγχου θερμοκρασίας, ο αισθητήρας θερμοκρασίας αποθηκεύει την τρέχουσα τιμή της θερμοκρασίας σε μια ιδιότητα. Μια άλλη συσκευή, ο ελεγκτής καυστήρα, διαβάζει την τιμή και ανοιγοκλείνει τον καυστήρα αναλόγως. Το δεύτερο μέρος του προφίλ εφαρμογής αποτελούν οι Περιγραφές Συσκευής (Device Descriptions), οι οποίες παρέχουν πληροφορίες σχετικά με τη συσκευή, όπως οι συχνότητες λειτουργίας, το είδος της συσκευής (συντονιστής, δρομολογητής, απλή συσκευή), το απόθεμα ενέργειας κλπ. Κάθε περιγραφή συσκευής αναγνωρίζεται από μια 16-bit τιμή, η οποία λειτουργεί ως δείκτης σε μια δομή δεδομένων που περιλαμβάνει τις περιγραφές. Η περιγραφή αποτελείται από 5 μέρη: Όνομα Περιγραφή Περιγραφέας Κόμβου (Node Descriptor) Τύπος συσκευής και κωδικός κατασκευαστή Περιγραφέας Ισχύος Κόμβου (Node power Είδος τροφοδοσίας της συσκευής και Descriptor) απόθεμα ενέργειας 34

35 Απλός Περιγραφέας (Simple Descriptor) Περίπλοκος Περιγραφέας (Complex Descriptor) Περιγραφέας Χρήστη (User Descriptor) Πίνακας 3-5:Δομή Περιγραφών Αναγνωριστικό προφίλ και συστάδων Σειριακός αριθμό και μοντέλο συσκευής Επιπλέον πληροφορίες Διάδεση (binding), ονομάζεται η διαδικασία δημιουργίας λογικών ζεύξεων μεταξύ εφαρμογών που συσχετίζονται και αποθήκευσή τους σε πίνακα ο οποίος ονομάζεται πίνακας διάδεσης. Κάθε συσκευή μπορεί να έχει δικό της πίνακα διάδεσης (source binding table) ή υπάρχει ξεχωριστή συσκευή (primary binding table cache) στην οποία οι συσκευές αποθηκεύουν τους πίνακες διάδεσης. Ένα παράδειγμα διάδεσης φαίνεται στην παρακάτω εικόνα: Εικόνα 3-12:Παράδειγμα Διάδεσης Υπάρχουν δύο διακόπτες οι οποίοι έχουν διαφορετικές διευθύνσεις ακροσημείων και κάθε διακόπτης ξεχωριστό αντικείμενο εφαρμογής. Οι διακόπτες ελέγχουν τρία ξεχωριστές λάμπες με διαφορετικές διευθύνσεις ακροσημείων. O διακόπτης 1 σχετίζεται με τη λάμπα 1 και έχουν ίδιο ClusterID. Ομοίως και ο διακόπτης 2 με τις λάμπες 2 και 3. Οι σχετίσεις αποθηκεύονται στον πίνακα διάδεσης ZigBee Αντικείμενα Συσκευής ZigBee Device Objects (ΖΒΟ) Τo ZBO είναι υπεύθυνο για τη γενική διαχείριση της συσκευής. Παρέχει διεπαφή μεταξύ πλαισίου εφαρμογής και APS και αναλαμβάνει την αρχικοποίηση των APS, NWK και της Υπηρεσίας Ασφάλειας (Security Service Provider-SSP). Ορίζεται από ένα προφίλ συσκευής 35

36 (ZigBee Device Profile-ZDP),. Σε αντίθεση με το προφίλ εφαρμογής, το οποίο ορίζει μια συγκεκριμένη εφαρμογή, το προφίλ συσκευή ορίζει τις λειτουργίες που υποστηρίζονται από όλες τις ZigBee συσκευές. Το προφίλ συσκευής περιέχει περιγραφές της συσκευής και των συστάδων, με τις συστάδες να χωρίζονται σε υποχρεωτικές και προαιρετικές. Οι υποχρεωτικές συστάδες υλοποιούνται σε κάθε συσκευή ZigBee. Το προφίλ συσκευής παρέχει υποστήριξη για ανακάλυψη συσκευών και υπηρεσιών στο δίκτυο και διαχείριση διάδεσης (binding management). Η ανακάλυψη συσκευής (device discovery), προσδιορίζει την ταυτότητα των άλλων συσκευών στο δίκτυο, ενώ με την ανακάλυψη υπηρεσίας (service discovery), μια συσκευή ζητά από άλλη συσκευή να δώσει πληροφορίες, όπως το αναγνωριστικό προφίλ, τους περιγραφείς κλπ. Οι εντολές Προφίλ Συσκευής (ZDP commands) στέλνονται μέσω υπηρεσίας APS δεδομένων. Παρακάτω φαίνεται η μορφή μιας ZDP εντολής: Εικόνα 3-13:Μορφή Εντολής ZDP Το πρώτο μέρος αποτελείται από 8-bit, τα οποία αποτελούν τον Αριθμό Συναλλαγής. Κάθε αντικείμενο εφαρμογής διατηρεί έναν μετρητή, ο οποίος αυξάνεται κάθε φορά που μεταδίδεται μια συναλλαγή και το περιεχόμενο του μετρητή αποστέλλεται μαζί με την ZDP εντολή. Οι εντολές χωρίζονται σε εντολές υπηρεσιών πελάτη (client services) και υπηρεσιών εξυπηρετητή (server services), και στη συνέχεια χωρίζονται σε τρεις κατηγορίες: ανακάλυψη υπηρεσίας και συσκευής (device and service discovery), διαχείριση διάδεσης (bind management) και διαχείριση δικτύου (network management) Υποεπίπεδο Υποστήριξης Εφαρμογής Application Support Sublayer (APS) Η Οντότητα APS Διαχείρισης (APS Management Entity APSME) εκτελεί λειτουργίες διαχείρισης διάδεσης, διαχείριση APS Βάσης Πληροφοριών (APS Information Base - AIB) και διαχείριση ομάδων. Το APS παρέχει υπηρεσίες δεδομένων στα αντικείμενα εφαρμογής και στα ZDO μέσω της Οντότητα APS Δεδομένων (APS Data Entity - APSDE), χρησιμοποιώντας τις διεπαφές (APSDE Service Access Point-SAP). Η APSDE λαμβάνει τα δεδομένα σε μορφή Protocol Data Unity (PDU) είτε από το αντικείμενο εφαρμογής είτε από το ZDO, προσθέτει τα κατάλληλα 36

37 προθέματα και παράγει ένα Πλαίσιο Δεδομένων APS (APS Data Frame), το οποίο στέλνεται στο NWK επίπεδο. Εκτός από τις μεθόδους unicast, broadcast και multicast, που αναφέρθηκαν σε προηγούμενη ενότητα, το APS υποστηρίζει μια τέταρτη μέθοδο, την έμμεση διευθυνσιοδότηση (Indirect Addressing). Με αυτή τη μέθοδο, μια συσκευή μπορεί να επικοινωνήσει με τις άλλες συσκευές του δικτύου χωρίς να ξέρει τη διεύθυνση του παραλήπτη. Το μήνυμα στέλνεται στον συντονιστή και αυτός αναλαμβάνει να βρει τη διεύθυνση του αποστολέα και να στείλει το μήνυμα. Εικόνα 3-14:Γενική μορφή πλαισίου APS Στην παραπάνω εικόνα φαίνεται η γενική μορφή ενός πλαισίου APS. Τα πρώτα τέσσερα bits καθορίζουν το είδος του πλαισίου και τον τρόπο επικοινωνίας. Τα επόμενα bits καθορίζουν τη χρήση έμμεσης διευθυνσιοδότησης, τη χρήση ασφάλειας καθώς και την αίτηση επιβεβαίωσης λήψης (ACK Request). Το πεδίο APS Counter είναι ένας 8-bit αριθμός ο οποίος αυξάνεται με κάθε αποστολή πλαισίου και χρησιμοποιείται από τον παραλήπτη για να αγνοήσει πλαίσια τα οποία λήφθηκαν πολλαπλές φορές. Τα τρία είδη πλαισίων APS φαίνονται στην παρακάτω εικόνα: 37

38 Εικόνα 3-15:Είδη πλαισίων APS Περίληψη APL επιπέδου Το επίπεδο APL αποτελείται από τρία μέρη: Υποεπίπεδο Υποστήριξης Εφαρμογής (Application Support Sublayer APS): Παρέχει διεπαφή μεταξύ των NWK και APL επιπέδων ZigBee Αντικείμενα Συσκευής (ZigBee Device Objects ZDO): Χρησιμοποιεί υπηρεσίες των NWK και APL για να καθορίσει τον ρόλο μιας συσκευής στο δίκτυο (συντονιστής, δρομολογητής, απλή συσκευή) Πλαίσιο Εφαρμογής (Application Framework): Αποτελεί το περιβάλλον το οποίο «φιλοξενεί» τα αντικείμενα εφαρμογής 3.3 Υπηρεσίες Ασφάλειας Security Services Λόγω της ασύρματης φύσης του δικτύου, ένα εκπεμπόμενο μήνυμα μπορεί να ληφθεί από οποιαδήποτε συσκευή βρίσκεται εντός εμβέλειας. Σε απλές εφαρμογές μπορεί να μην αποτελεί σοβαρό ζήτημα, υπάρχουν όμως εφαρμογές όπου η αξιοπιστία, η ακεραιότητα και η εμπιστευτικότητα του εκπεμπόμενου μηνύματος έχουν μεγάλη σημασία. Για αυτό το λόγο το 38

39 πρότυπο ZigBee υποστηρίζει πρωτόκολλα κρυπτογράφησης (encryption) και αυθεντικοποίησης (authentication) Κρυπτογράφηση Κρυπτογράφηση ονομάζεται η διαδικασία μετασχηματισμού ενός μηνύματος, με χρήση κάποιου κρυπτογραφικού αλγορίθμου (cipher), σε μορφή ώστε να είναι αδύνατη η ανάγνωση του από άτομα εκτός του νόμιμου παραλήπτη. Το αρχικό κείμενο (plaintext) και το κλειδί (key) δίνονται ως είσοδοι στον αλγόριθμο κρυπτογράφησης (cipher) και εξέρχεται το κρυπτογραφημένο κείμενο (ciphertext). Η αντίστροφη διαδικασία ονομάζεται αποκρυπτογράφηση (decryption) Για την κρυπτογράφηση των μηνυμάτων, το πρότυπο ZigBee χρησιμοποιεί τον Προηγμένο Πρότυπο Κρυπτογράφησης (Advanced Encryption Standard AES) με χρήση κλειδιού 128- bit. Υπάρχουν δηλαδή =3.4x10 38 πιθανοί συνδυασμοί. Το ZigBee υποστηρίζει μόνο μέθοδο συμμετρικού κλειδιού (symmetric key) για την αποκρυπτογράφηση. Ο παραλήπτης αποκρυπτογραφεί το κρυπτογραφημένο μήνυμα με χρήση του ίδιου κλειδιού με το οποίο έγινε η κρυπτογράφηση. Επίσης, το πρότυπο ZigBee παρέχει μεθόδους δημιουργίας και διαμοιρασμού των κλειδιών μεταξύ των συσκευών του δικτύου. Για την ασφαλή επικοινωνία, υπάρχουν δύο ειδών κλειδιά: το κλειδί ζεύξης (link key), το οποίο χρησιμοποιείται στη unicast επικοινωνία μεταξύ δύο συσκευών και το κλειδί δικτύου (network key), το οποίο χρησιμοποιείται στη broadcast εκπομπή ενός μηνύματος. Κάθε ασφαλές δίκτυο ZigBee, έχει μια μοναδική συσκευή που ονομάζεται Trust Center και διανέμει τα κλειδιά στο δίκτυο. Υπάρχουν τρεις τρόποι για να αποκτήσει μια συσκευή ένα κλειδί ζεύξης: Προ-εγκατάσταση (Pre-installation): Ο κατασκευαστής ενσωματώνει το κλειδί στην ίδια τη συσκευή, χρησιμοποιώντας, για παράδειγμα, DIP διακόπτες με τους οποίους επιλέγεται ένα από τα προ-εγκατεστημένα κλειδιά. Με αυτόν τον τρόπο, κατά την είσοδο μιας συσκευής στο δίκτυο, αποφεύγεται η αίτηση κλειδιού από το Trust Center. Μεταφορά κλειδιού (Key Transport): Κατά την είσοδο στο δίκτυο, η συσκευή κάνει αίτηση στο Trust Center για το κλειδί, μέσω APS εντολής. Το κλειδί στέλνεται στη συσκευή μέσω ανασφαλούς καναλιού. Την ευπάθεια κατά την αποστολή του κλειδιού μπορεί να εκμεταλλευτεί κάποιος επιτιθέμενος και να αποκτήσει το κλειδί του δικτύου. Εγκαθίδρυση κλειδιού (Key Establishment): Στο πρότυπο ορίζεται το πρωτόκολλο Symmetric-Key Key Establishment (SKKE), κατά το οποίο δημιουργείται ένα τυχαίο κλειδί σε δύο συσκευές, το οποίο δεν μεταδίδεται από μη-ασφαλές κανάλι. Οι συσκευές 39

40 που συμμετέχουν στη διαδικασία έχουν ήδη ένα Master Key, το οποίο είτε είναι προεγκατεστημένο, είτε το εισάγει ο χρήστης Αυθεντικοποίηση Το πρότυπο υποστηρίζει αυθεντικοποίηση συσκευών και δεδομένων. Κατά την αυθεντικοποίηση δεδομένων, ο δέκτης επαληθεύει ότι τα δεδομένα που έλαβε από τον αποστολέα δεν παραποιήθηκαν Αυθεντικοποίηση Συσκευής Για να αυθεντικοποιηθεί μια νέα συσκευή στο δίκτυο, θα πρέπει αφού λάβει το κλειδί δικτύου, να ορίσει κάποιες ιδιότητες (attributes) εντός χρονικού ορίου. Η διαδικασία πραγματοποιείται από το Trust Center. Όταν μια συσκευή εισέλθει στο ασφαλές δίκτυο, είναι σε κατάσταση joined, but unauthenticated. Σε περίπτωση που το Trust Center αποφασίσει ότι δεν αυθεντικοποιεί τη συσκευή, θα ζητήσει την αφαίρεσή της από το δίκτυο Αυθεντικοποίηση Δεδομένων Σκοπός της διαδικασίας είναι να επιβεβαιώσει ότι τα δεδομένα δεν παραποιήθηκαν κατά την μετάδοση. Για να το επιτύχει, ο αποστολέας συμπεριλαμβάνει στο πλαίσιο έναν κωδικό, ο οποίος ονομάζεται Κωδικός Ακεραιότητας Μηνύματος (Message Integrity Code MIC). Ο MIC μπορεί να έχει μήκος 32,64,128-bit, ανάλογα το επίπεδο αυθεντικοποίησης που απαιτεί η εφαρμογή. Μια μη-αυθεντικοποιημένη συσκευή δεν μπορεί να παράγει τον MIC. Αφού ο παραλήπτης λάβει το μήνυμα, παράγει τον δικό του MIC και αν οι δύο κωδικοί ταυτίζονται τότε το μήνυμα θεωρείται αυθεντικό. Για την παραγωγή του MIC χρησιμοποιείται ο αλγόριθμος AES-CCM*. Εικόνα 3-16:Αυθεντικοποίηση Δεδομένων Στην παραπάνω εικόνα φαίνεται ένα παράδειγμα αυθεντικοποίησης δεδομένων. Ο αλγόριθμος AES-CCM* δέχεται ως είσοδο: 128-bit Data, 32,64,128-bit Key και Nonce. Το nonce είναι μια 40

41 ακολουθία χαρακτήρων μεγέθους 13 byte και αποτελείται από τα πεδία Security Control, Frame Counter και Source Address του Βοηθητικού Πλαισίου (Auxiliary Frame Header) το οποίο προστίθεται στο εξερχόμενο πλαίσιο και περιέχει πληροφορίες σχετικές με την ασφάλεια. Εικόνα 3-17:CCM Nonce &Βοηθητικό Πλαίσιο 3.4 Εξέλιξη του προτύπου ZigBee Η ZigBee Alliance εξελίσσει συνεχώς το πρότυπο, αναπτύσσοντας δυνατότητες και χαρακτηριστικά, ώστε να εξαπλωθεί σε περισσότερες εφαρμογές. Κάποιες από τις μελλοντικές δυνατότητες του προτύπου συνοψίζονται παρακάτω: Υποστήριξη πρόσθετων πρωτοκόλλων δικτύωσης, όπως Wi-Fi και HomePlug Powerline Συνύπαρξη ασύρματων και ενσύρματων δικτύων Χρήση πρωτοκόλλου διευθυνσιοδότησης, βασισμένο στο IPv6. Η χρήση 128-bit διευθύνσεων παρέχει αρκετό εύρος διευθύνσεων ώστε κάθε συσκευή στον κόσμο να έχει μοναδική διεύθυνση Υποστήριξη των πρωτοκόλλων TCP και UDP, τα οποία είναι τα βασικά πρωτόκολλα για την επικοινωνία μέσω διαδικτύου Υποστήριξη πρωτοκόλλων όπως HTTP και REST, ώστε να επεκταθούν οι διάφορες τεχνολογίες του διαδικτύου στις συσκευές 41

42 4 ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΗΣ Στα πλαίσια της διπλωματικής υλοποιήθηκαν οι εφαρμογές «Μέτρηση RSSI & Packet Loss» και «Λήψη Μετρήσεων από Κόμβο». Η πρώτη εφαρμογή μετράει το Received Signal Strength Indicator και το Packet Loss, ενώ η δεύτερη παρακολουθεί: υγρασία χώματος και αέρα, θερμοκρασία αέρα, δείκτη θερμότητας και φωτεινότητα και παρουσιάζει στο χρήστη τα αποτελέσματα Στις παρακάτω ενότητες παρουσιάζεται ο εξοπλισμός που χρησιμοποιήθηκε, ενώ οι κώδικες των εφαρμογών παρατίθενται στο επόμενο κεφάλαιο 4.1 Digi ΧΒee Εικόνα 4-1:Xbee Η Digi International παράγει ποικιλία προϊόντων, συμβατά με τα πρότυπα IEEE και ZigBee. Στα πλαίσια της διπλωματικής επιλέχθηκε το Xbee Series 2. Τα χαρακτηριστικά του συνοψίζονται στον παρακάτω πίνακα: 42

43 Xbee S2 (ZB) Data-Rate 250 Kbps RF 1 Mbps Σειριακή Εμβέλεια 60 m Εσωτερικός χώρος 1200 m Εξωτερικός χώρος Ισχύς Εκπομπής 3.1mW/6.3mW σε Boost-Mode Ευαισθησία Δέκτη -100dBm/-102dBm σε Boost-Mode Αναλογικές Είσοδοι 4 ADC 10-bit Ψηφιακές Ε/Ε 15 Πρωτόκολλο ZigBee PRO 2007 Κρυπτογράφηση 128-bit AES Αριθμός Καναλιών 16 Τάση Λειτουργίας V Κατανάλωση Ρεύματος σε Εκπομπή 3.3 VDC/ 45mA σε Boost-Mode Κατανάλωση Ρεύματος σε Λήψη 3.3 VDC/ 31mA σε Boost-Mode Κατανάλωση Ρεύματος σε Αδράνεια <1μA Πίνακας 4-1:Χαρακτηριστικά XBee S2 Pin # Όνομα Είσοδος/Έξοδος Περιγραφή 1 VCC - Τροφοδοσία 2 DOUT Έξοδος UART Data Out 3 DIN Είσοδος UART Data In 4 DO8 Έξοδος Digital Output 8 5 RESET Είσοδος Module Reset 6 PWM0/RSSI Έξοδος PWM Output 0/ RX Signal Strength Indicator 7 PWM1 Έξοδος PWM Output /SLEEP_RQ/DI8 DTR Είσοδος PIN Sleep Control Line / Digital Input 8 10 GND - Γείωση 11 AD4/DIO4 Ε/Ε Analog Input 4/ Digital I/O 4 12 /DIO7 CTS Ε/Ε Clear-To-Send / Digital I/O 7 13 ON/SLEEP Έξοδος Module Status Indicator 14 VREF Είσοδος Τάση Αναφοράς για Αναλογικές Εισόδους 43

44 15 Associate/AD5/DIO5 Ε/Ε Associated Indicator / Analog Input 5 / Digital I/O 5 16 RTS /AD6/DIO6 Ε/Ε Request-To-Send / Analog Input 5 / Digital I/O 6 17 AD3/DIO3 Ε/Ε Analog Input 3 / Digital I/O 3 18 AD2/DIO2 Ε/Ε Analog Input 2 / Digital I/O 2 19 AD1/DIO1 Ε/Ε Analog Input 1 / Digital I/O 1 20 AD0/DIO0 Ε/Ε Analog Input 1 / Digital I/O 1 Πίνακας 4-2:XBee PINs 4.2 Arduino FIO Εικόνα 4-2:Arduino FIO Το Arduino FIO βασίζεται στον μικροελεγκτή ATMega328P, ο οποίος είναι χρονισμένος στα 8MHz. Διαθέτει 14 ψηφιακές εισόδους/εξόδους (από τις οποίες οι 6 μπορούν να χρησιμοποιηθούν και σαν έξοδοι PWM), 8 αναλογικές εισόδους, υποδοχή για XBee, κουμπί reset, σύνδεση για μπαταρία λιθίου, καθώς και το αντίστοιχο κύκλωμα φόρτισης μπαταρίας. 44

45 Στον παρακάτω πίνακα συνοψίζονται τα χαρακτηριστικά του: Μικροελεγκτής ATMega328P Τάση Λειτουργίας 3.3V Τάση Εισόδου V Ψηφιακές Ε/Ε 14 (6 PWM) Αναλογικές Είσοδοι 8 Ρεύμα Ε/Ε 40mA Μνήμη Flash 32KB SRAM 2KB EEPROM 1KB Συχνότητα Ρολογιού 8MHz Πίνακας 4-3:Χαρακτηριστικά Μικροελεγκτή Καθένα από τα 14 PIN μπορούν να χρησιμοποιηθεί ως είσοδος ή έξοδος, με χρήση των εντολών pinmode(), digitalwrite(), digitalread(). Η τάση λειτουργίας τους είναι 3.3V, ενώ παρέχουν/δέχονται ρεύμα μέχρι 40mA. Τα παρακάτω PINs έχουν κάποιες πρόσθετες λειτουργίες: PIN ΠΡΟΣΘΕΤΗ ΛΕΙΤΟΥΡΓΙΑ RXI ΚΑΙ TXO Χρησιμοποιούνται για αποστολή και λήψη δεδομένων σειριακά. 2 ΚΑΙ 3 Μπορούν να ρυθμιστούν ώστε να προκαλέσουν διακοπή (interrupt) 3, 5, 6, 9, 10 ΚΑΙ 11 Παρέχουν 8-bit PWM έξοδο με χρήση της analogwrite() 10 (SS), 11(MOSI), 12(MISO), 13(SCL) Υποστήριξη SPI επικοινωνίας με περιφερειακές συσκευές 4 (SDA) ΚΑΙ 5 (SCL) Υποστήριξη I 2 C επικοινωνίας μέσω της βιβλιοθήκης Wire AREF Τάση αναφοράς για τις αναλογικές εισόδους DTR Σε λογικό LOW, γίνεται reset του μικροελεγκτή Πίνακας 4-4:Πρόσθετες λειτουργίες PINs 45

46 4.3 Αισθητήρες DHT11-Ψηφιακός αισθητήρας θερμοκρασίας και σχετικής υγρασίας Εικόνα 4-3:Ψηφιακός Αισθητήρας Θερμοκρασίας και Υγρασίας Ο DHT11 είναι ένας ψηφιακός αισθητήρας με δυνατότητες μέτρησης θερμοκρασίας και σχετικής υγρασίας αέρα. Μόλις συνδεθεί η τροφοδοσία, ο αισθητήρας μεταβαίνει σε αδράνεια και αναμένει για Start Signal στο Data PIN. Μόλις λάβει το σήμα απαντάει με λογικό 0 για 80μs, ακολουθούμενο από λογικό 1 για 80μs. Στη συνέχεια ξεκινάει η μετάδοση των bits. Κάθε bit ξεκινάει με 50μs λογικό 0 και το bit προσδιορίζεται από το χρονικό διάστημα του ακολουθούμενου λογικού 1 ως: 27μs για λογικό 1 70μs για λογικό 0. Η ολοκλήρωση μετάδοσης όλων των bit σηματοδοτείται με λογικό 0 για 50μs. Στη συνέχεια ο DHT11 μεταβαίνει σε αδράνεια και περιμένει το επόμενο Start Signal. Το συνολικό μέγεθος δεδομένων είναι 40bit, η διαδικασία διαρκεί περίπου 4ms και στέλνονται πρώτα τα bit υψηλότερης τάξης (MSB). Η μορφή των δεδομένων είναι: Data = 8bit ακέραιο μέρος σχετικής υγρασίας + 8bit δεκαδικό μέρος σχετικής υγρασίας + 8bit ακέραιο μέρος θερμοκρασίας + 8bit δεκαδικό μέρος θερμοκρασίας + 8bit check-sum DHT11 Τροφοδοσία V Κατανάλωση Ρεύματος 0.5mA Σε λειτουργία 100μA Σε αδράνεια 46

47 Εύρος Θερμοκρασίας C Εύρος Σχετικής Υγρασίας 20-90% Πίνακας 4-5:Χαρακτηριστικά DHT11 Pin # Όνομα 1 VCC 2 DATA 3-4 GND Πίνακας 4-6:DHT11 PINs Αισθητήρας φωτεινότητας TEMT6000 Εικόνα 4-4:Αισθητήρας Φωτεινότητας Ο αισθητήρας TEMT6000 αποτελείται από ένα NPN φωτοτρανζίστορ πυριτίου, ευαίσθητο στο ορατό φάσμα. Το φωτοτρανζίστορ λειτουργεί όπως ένα κανονικό τρανζίστορ με τη διαφορά ότι το φως πέφτει στην ένωση βάσης-συλλέκτη, επηρεάζοντας το ρεύμα που διέρχεται από το συλλέκτη προς τη βάση. 47

48 Εικόνα 4-5:Ρεύμα Συλλέκτη Φωτεινότητας Εικόνα 4-6:Σχετική Ευαισθησία Φωτεινότητας - Μήκος Κύματος 48

49 4.3.3 Αισθητήρας υγρασίας χώματος Εικόνα 4-7:Αισθητήρας Υγρασίας Χώματος Η αγωγιμότητα του χώματος μεταβάλλεται ανάλογα με την περιεκτικότητά του σε νερό. Με τη χρήση των ηλεκτροδίων, τα οποία τοποθετούνται στο χώμα, μετράται η αγωγιμότητα άρα και η υγρασία του χώματος. Ο αισθητήρας έχει μια ψηφιακή (DO) και μια αναλογική (AO) έξοδο, στην όποια εμφανίζεται η τιμή της υγρασίας. Επιπλέον, διαθέτει συγκριτή LM393, ο οποίος συγκρίνει τη μετρούμενη υγρασία με μια τιμή, η οποία προσδιορίζεται από το ποτενσιόμετρο και αναλόγως ενεργοποιεί την έξοδο DΟ. 49

50 4.4 Περιγραφή λειτουργίας Λήψη Μετρήσεων από Κόμβο Εικόνα 4-8:Αναπαράσταση δικτύου Στην παραπάνω εικόνα φαίνεται μια απεικόνιση του δικτύου. Ο Coordinator, ο οποίος είναι συνδεδεμένος με τον Server, δημιουργεί ασύρματο δίκτυο με PAN-ID=ABC123. Ο Router συνδέεται πάνω στο Arduino FIO, το οποίο αποτελεί το κυρίως μέρος του κόμβου και κάνει Join στο δίκτυο του Coordinator. Το Arduino FIO είναι υπεύθυνο για την επικοινωνία με τους αισθητήρες, τη λήψη μετρήσεων κάθε 5 λεπτά, το σχηματισμό του payload (μήκους 10 bytes) και την αποστολή του με χρήση του XBEE. Τα δεδομένα λαμβάνονται από τον Coordinator και μέσω Serial-to-USB Adapter μεταδίδονται στον υπολογιστή, στον οποίο τρέχει συνεχώς το πρόγραμμα ReadSensors. Το πρόγραμμα διαβάζει τα δεδομένα και τα αποθηκεύει σε κατάλληλα διαμορφωμένο JSON αρχείο. 50

51 Εικόνα 4-9:Εφαρμογή ReadSensors.java Στον υπολογιστή επίσης έχει εγκατασταθεί η πλατφόρμα WampServer η οποία περιλαμβάνει τις εφαρμογές Apache2 HTTP Server, PHP και MySQL. Το γραφικό περιβάλλον της εφαρμογής βασίζεται στο Bootstrap, το οποίο είναι ένα Framework ανοιχτού κώδικα για σχεδιασμό ιστοσελίδων και διαδικτυακών εφαρμογών. Συγκεκριμένα χρησιμοποιήθηκε το AdminLTE 2 Template, το οποίο τροποποιήθηκε ώστε να αφαιρεθούν οι περιττές λειτουργίες. Η εφαρμογή προβάλει τα διαγράμματα Θερμοκρασίας, Σχετικής Υγρασίας, Δείκτη Θερμότητας, Υγρασίας Χώματος και Φωτεινότητας, παρέχει πληροφορίες για τους κόμβους καθώς και των θέσεων τους στο χάρτη. Επίσης, παρέχεται η δυνατότητα εισαγωγής νέων κόμβων και τροποποίησης των υπαρχόντων. Τα στοιχεία των κόμβων αποθηκεύονται σε βάση δεδομένων MySQL, η οποία έχει την παρακάτω δομή: Όνομα Τύπος id Int description Varchar(60) mac_address Char(16) type Varchar(30) lat Float(10,6) lng Float(10,6) Πίνακας 4-7:Δομή Βάσης Δεδομένων 51

52 Εικόνα 4-10:Διαγράμματα Εφαρμογής Εικόνα 4-11:Χάρτης Θέσεων 52

53 Εικόνα 4-11:Εισαγωγή Νέου Κόμβου Εικόνα 4-12:Επεξεργασία Κόμβου 53

54 4.4.2 Μέτρηση RSSI & Packet Loss Αποτελεί μια απλή εφαρμογή κατά την οποία ο κόμβος στέλνει 100 μηνύματα Hello, World! στον Coordinator, ενώ το πρόγραμμα που τρέχει ο υπολογιστής μετράει τον αριθμό μηνυμάτων που λήφθηκαν και αποθηκεύει σε αρχείο την τιμή RSSI κάθε μηνύματος. Στο παρακάτω διάγραμμα απεικονίζονται το % Packet Loss και το μέσο RSSI (σε dbm) για διάφορες αποστάσεις σε περιβάλλον με έντονη βλάστηση (δέντρα, θάμνοι κλπ): Γραφήματα Packet Loss & RSSI - Απόσταση ,72-66,61-70,23-77,88-79,93-81,21-83,58-87, Packet Loss RSSI Εικόνα 4-14:Γραφήματα Packet Loss & RSSI - Απόστασης 54

55 5 ΚΩΔΙΚΕΣ ΕΦΑΡΜΟΓΩΝ 5.1 Λήψη Μετρήσεων από Κόμβο /************************************************* * Λήψη μετρήσεων από κόμβο - πρόγραμμα ArduinoFIO * Πλιάτσιος Δημήτριος * Σεπτέμβριος 2016 ************************************************/ #include <Sleep_n0m1.h> #include <DHT.h> #include <Printers.h> #include <XBee.h> #define DHTPIN 3 #define PWRPIN 12 //Για να μην τραβάνε συνεχώς ρεύμα οι αισθητήρες τους τροφοδοτώ από το D4 #define DHTTYPE DHT11 //Τύπος DHT Sensor DHT dht(dhtpin, DHTTYPE); XBee xbee=xbee(); Sleep sleep; void setup() { Serial.begin(9600); pinmode(pwrpin, OUTPUT); dht.begin(); void loop() { digitalwrite(pwrpin, HIGH); delay(500); //Διαβάζει τις μετρήσεις από τα PIN A0-A1 float soilmoist = analogread(a0); int lum = analogread(a1); //Το payload του XBee υποστηρίζει πίνακα απο uint8_t //Η lum μπορεί να πάρει τιμές >255 -> τη χωρίζω σε 2 bytes uint8_t lum_low=lum&(0xff); uint8_t lum_high=(lum>>8)&(0xff); soilmoist=((1050-soilmoist)*100)/1050; //Μετατρέπω το εύρος της σχετικής υγρασίας από κλιμακα σε 0-100% float humidity = dht.readhumidity(); float temperature = dht.readtemperature(); if (isnan(humidity) isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); return; //Υπολογισμός Δείκτη Θερμότητας σε Celsius (isfahreheit = false) float heatindex = dht.computeheatindex(temperature, humidity, false); 55

56 Serial.print("Temperature: "); Serial.print(temperature); Serial.print(" *C \t"); Serial.print("Relative Humidity: "); Serial.print(humidity); Serial.print("% \t"); Serial.print("Heat Index: "); Serial.print(heatIndex); Serial.print(" *C \t"); Serial.print("Soil Moisture:"); Serial.print(soilMoist); Serial.print("\t"); Serial.print("Lux:"); Serial.print(lum); Serial.print("\n"); //Κραταω τα 2 πρώτα δεκαδικά ψηφία int humidity_decpart=100*(humidity-(int)humidity); int temperature_decpart=100*(temperature-(int)temperature); int heatindex_decpart=100*(heatindex-(int)heatindex); int soilmoist_decpart=100*(soilmoist-(int)soilmoist); uint8_t payload[]={(int)temperature, temperature_decpart,(int)humidity, humidity_decpart, (int)heatindex, heatindex_decpart, (int)soilmoist, soilmoist_decpart, lum_high, lum_low; //Ορίζεται τη MAC_Address του παραλήπτη XBeeAddress64 address=xbeeaddress64(0x0013a200,0x40e98add); ZBTxRequest tx=zbtxrequest(address,payload,sizeof(payload)); xbee.send(tx); //Διακόπη παροχής ρεύματος στους sensors digitalwrite(pwrpin, LOW); delay(100); sleep.pwrdownmode(); //sleep mode sleep.sleepdelay(300000); 56

57 /******************************************** * Λήψη Μετρήσεων από Κόμβο πρόγραμμα σε JAVA * Πλιάτσιος Δημήτριος-6733 * Σεπτέμβριος 2016 ********************************************/ package com.digi.xbee.example; import com.digi.xbee.api.xbeedevice; import com.digi.xbee.api.utils.hexutils; import com.digi.xbee.api.exceptions.xbeeexception; public class MainApp { //Επιλογή BaudRate και σειριακής θύρας private static final String PORT = "COM62"; private static final int BAUD_RATE = 9600; public static void main(string[] args) { XBeeDevice mydevice = new XBeeDevice(PORT, BAUD_RATE); try { mydevice.open(); System.out.println("***Receive Node Measurements***\n"); System.out.println("PANID:"); System.out.println(HexUtils.byteArrayToHexString( mydevice.getpanid())); System.out.println(" >> Waiting for data..."); //Μόλις λάβει δεδομένα το xbee θα τρέξει τον κώδικα //από το MyDataReceiveListener.java mydevice.adddatalistener(new MyDataReceiveListener()); catch (XBeeException e) { System.out.println(" >> Error"); e.printstacktrace(); System.exit(1); 57

58 /******************************************** * Λήψη Μετρήσεων από Κόμβο πρόγραμμα σε JAVA * Πλιάτσιος Δημήτριος-6733 * Σεπτέμβριος 2016 ********************************************/ package com.digi.xbee.example; import java.io.ioexception; import java.io.randomaccessfile; import java.text.simpledateformat; import java.util.calendar; import com.digi.xbee.api.listeners.idatareceivelistener; import com.digi.xbee.api.models.xbee64bitaddress; import com.digi.xbee.api.models.xbeemessage; public class MyDataReceiveListener implements IDataReceiveListener public void datareceived(xbeemessage xbeemessage) { //Η δομή XbeeMessage είναι το frame που έλαβε το XBee XBee64BitAddress address=xbeemessage.getdevice(). get64bitaddress(); byte[] data=xbeemessage.getdata(); Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); System.out.format("\nReceived %d bytes from device %s at %s \n", data.length,address,sdf.format(cal.gettime())); RandomAccessFile raf; try { //Ανοίγει το JSON αρχείο και εισάγει μια κατάλληλα διαμορφωμένη γραμμή με τις τιμές των μετρήσεων raf = new RandomAccessFile("./measurements/"+address.toString()+".json","rw"); raf.seek(raf.length()-4); StringBuilder str=new StringBuilder(); str.append("{\"c\":[{\"v\":\"date("); str.append(cal.get(calendar.year)); str.append(", "); str.append(cal.get(calendar.month)); str.append(", "); str.append(cal.get(calendar.day_of_month)); str.append(", "); str.append(cal.get(calendar.hour_of_day)); str.append(", "); str.append(cal.get(calendar.minute)); str.append(", "); str.append(cal.get(calendar.second)); str.append(")\",{\"v\":"); //Οι δεκαδικές τιμές λαμβάνονται ως δύο ξεχωριστά bytes και //συγκεντρώνονται στο string str.append(string.format("%d.%d",data[0],data[1])); str.append(",{\"v\":"); str.append(string.format("%d.%d", data[2],data[3])); str.append(",{\"v\":"); str.append(string.format("%d.%d", data[4],data[5])); 58

59 str.append(string.format("%d.%d", data[6],data[7])); str.append(",{\"v\":"); //Η τιμή luminance έχει έυρος επομένως απαιτούνται //2 bytes //Στο result τα 2 bytes ενσωματώνονται σε ένα int result = (data[9] & 0xff) ((data[8] & 0xff) << 8); str.append(string.format("%d",result)); str.append("],"); raf.writebytes(str.tostring()); raf.writebytes(system.getproperty("line.separator")); raf.writebytes("]"); raf.writebytes(system.getproperty("line.separator")); raf.writebytes(""); raf.close(); catch (IOException e) { e.printstacktrace(); 59

60 <!--Όνομα Αρχείου:generateXML.php--> <!--Περιγραφή:Διαβάζει τα στοιχεία της βάσης δεδομένων και τα επιστρέφει σε μορφή XML--> <?php $username="root"; $password=""; $database="sensors"; //Δημιουργία XML αρχείου $dom = new DOMDocument("1.0"); $node = $dom->createelement("markers"); $parnode = $dom->appendchild($node); //Σύνδεση με τον MySQL Server $connection=mysqli_connect (" ", $username, $password); if (!$connection) { die("not connected : ". mysqli_error($connection)); //Επιλογή της βάσης δεδομένων $db_selected = mysqli_select_db($connection, $database); if (!$db_selected) { die ("Can\'t use db : ". mysqli_error($connection)); //Επιλογή των δεδομένων $query = "SELECT * FROM sensors"; $result = mysqli_query($connection, $query); if (!$result) { die("invalid query: ". mysqli_error($connection)); header("content-type: text/xml"); //Διαβάζει κάθε σειρά του πίνακα και αποθηκεύει τα στοιχεία στο XML αρχείο while ($row $node = $dom->createelement("marker"); $newnode = $parnode->appendchild($node); $newnode->setattribute("id", $row['id']); $newnode->setattribute("description", $row['description']); $newnode->setattribute("mac_address", $row['mac_address']); $newnode->setattribute("type", $row['type']); $newnode->setattribute("lat", $row['lat']); $newnode->setattribute("lng", $row['lng']); $connection->close(); echo $dom->savexml();?> 60

61 //********************************************************** // Ονομα Αρχείου:dropDown.js // Περιγραφή:Λαμβάνει τα XML δεδομένα από το generatexml.php // και εισάγει τους κόμβους σε dropdown menu //********************************************************** function parsexml(str) { if (window.activexobject) { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadxml(str); return doc; else if (window.domparser) { return (new DOMParser).parseFromString(str, 'text/xml'); function downloadurl(url, callback) { var request = window.activexobject? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function () { if (request.readystate == 4) { request.onreadystatechange = donothing; callback(request.responsetext, request.status); ; request.open('get', url, true); request.send(null); function donothing() { $('#selectnode').ready(function() { downloadurl('generatexml.php', function (data) { var xml = parsexml(data); var markernodes = xml.documentelement.getelementsbytagname("marker"); for (var i = 0; i < markernodes.length; i++) { var id = markernodes[i].getattribute("id"); var description = markernodes[i].getattribute("description"); var mac_address = markernodes[i].getattribute("mac_address"); var lat = markernodes[i].getattribute("lat"); var lng = markernodes[i].getattribute("lng"); ); ); $('#selectnode').append(new Option(description)); 61

62 //******************************************************************* // Ονομα Αρχείου:drawChart.js // Περιγραφή:Διαβάζει το κατάλληλο αρχείο json (με βάση τον κόμβο που // επιλέχτηκε από το dropdown), όπου αποθηκεύονται οι μετρήσεις και // χρησιμοποιεί Google Charts για να εφμανίσει τα διαγράμματα //******************************************************************* google.charts.load('current', {'packages':['line']); function drawchart() { var jsondata; var filename="./measurements/"+document.getelementbyid("mac_address").val ue + ".json"; var xmlhttp = new XMLHttpRequest(); xmlhttp.open('get', filename, false); xmlhttp.send(); jsondata = xmlhttp.responsetext; //Δημιουργείται ο πίνακας με τα δεδομένα του JSON var data = new google.visualization.datatable(jsondata); //Δημιουργούνται 5 "όψεις" που αντιστοιχούν σε κάθε μέτρηση var tempview = new google.visualization.dataview(data); var humview = new google.visualization.dataview(data); var hiview = new google.visualization.dataview(data); var smview = new google.visualization.dataview(data); var lumview = new google.visualization.dataview(data); //Σε κάθε view επιλέγεται για εμφάνιση η κατάλληλη στήλη tempview.setcolumns([0,1]); humview.setcolumns([0,2]); hiview.setcolumns([0,3]); smview.setcolumns([0,4]); lumview.setcolumns([0,5]); //Εμφανίζονται τα διαγράματα στη σελίδα var tempchart = new google.charts.line(document.getelementbyid('temperature')); tempchart.draw(tempview, {chart:{title: 'Θερμοκρασία',legend:{position:'none',colors:['red']); var humchart = new google.charts.line(document.getelementbyid('humidity')); humchart.draw(humview, {chart:{title: 'Υγρασία',legend:{position:'none',colors:['blue']); var hichart = new google.charts.line(document.getelementbyid('heatindex')); hichart.draw(hiview, {chart:{title: 'Δείκτης Θερμότητας',legend:{position:'none',colors:['purple']); var smchart = new google.charts.line(document.getelementbyid('soilmoisture')); smchart.draw(smview, {chart:{title: 'Υγρασία Χώματος',legend:{position:'none',colors:['green']); var lumchart = new google.charts.line(document.getelementbyid('luminance')); lumchart.draw(lumview, {chart:{title: 'Φωτεινότητα',legend:{position:'none',colors:['orange']); 62

63 //********************************************************** // Ονομα Αρχείου:map.js // Περιγραφή:Λαμβάνει τα XML δεδομένα από το generatexml.php, // και εμφανίζει χάρτη με τις θέσεις των κόμβων, καθώς και // πληροφορίες για τους κόμβους //********************************************************** //<![CDATA[ var map; var markers = []; var infowindow; var locationselect; function load() { map = new google.maps.map(document.getelementbyid("map"), { center: new google.maps.latlng(40.279, ), zoom: 20, maptypeid: 'satellite', maptypecontroloptions: {style: google.maps.maptypecontrolstyle.dropdown_menu ); infowindow = new google.maps.infowindow(); showmarkers(); locationselect = document.getelementbyid("locationselect"); locationselect.onchange = function() { var markernum = locationselect.options[locationselect.selectedindex].value; if (markernum!= "none"){ google.maps.event.trigger(markers[markernum], 'click'); ; function showmarkers() { downloadurl('generatexml.php', function(data) { var xml = parsexml(data); var markernodes = xml.documentelement.getelementsbytagname("marker"); var bounds = new google.maps.latlngbounds(); var customicons = { Router: { icon: ' Coordinator: { icon: ' 'End-Device': { icon: ' ; for (var i = 0; i < markernodes.length; i++) { var id = markernodes[i].getattribute("id"); var description = markernodes[i].getattribute("description"); var mac_address = markernodes[i].getattribute("mac_address"); var type=markernodes[i].getattribute("type"); var latlng = new google.maps.latlng( parsefloat(markernodes[i].getattribute("lat")), parsefloat(markernodes[i].getattribute("lng"))); var icon = customicons[type] {; createmarker(latlng, description, mac_address,type, 63

64 icon); bounds.extend(latlng); map.fitbounds(bounds); locationselect.style.visibility = "visible"; locationselect.onchange = function() { var markernum = locationselect.options[locationselect.selectedindex].value; google.maps.event.trigger(markers[markernum], 'click'); ; ); function createmarker(latlng, description, mac_address, type, icon) { var html = "<b>" + description + "</b> <br/>mac:<b>" + mac_address+"</b> <br> <i>"+type+"</i>"; var marker = new google.maps.marker({ map: map, position: latlng, icon:icon.icon ); google.maps.event.addlistener(marker, 'click', function() { infowindow.setcontent(html); infowindow.open(map, marker); ); markers.push(marker); function downloadurl(url, callback) { var request = window.activexobject? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readystate == 4) { request.onreadystatechange = donothing; callback(request.responsetext, request.status); ; request.open('get', url, true); request.send(null); function parsexml(str) { if (window.activexobject) { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadxml(str); return doc; else if (window.domparser) { return (new DOMParser).parseFromString(str, 'text/xml'); function donothing() { //]]> 64

65 <!--Όνομα Αρχείου:insertNode.php--> <!--Περιγραφή:Εισάγει μια εγγραφή στη βάση δεδομένων--> <?php $username="root"; $password=""; $database="sensors"; //Σύνδεση με τον MySQL Server $connection=mysqli_connect (" ", $username, $password); if (!$connection) { die("not connected : ". mysqli_error($connection)); //Επιλογή της βάσης δεδομένων $db_selected = mysqli_select_db($connection, $database); if (!$db_selected) { die ("Can\'t use db : ". mysqli_error($connection)); $id = $_POST['id']; $description = $_POST['description']; $mac_address = $_POST['mac_address']; $lat = $_POST['lat']; $lng = $_POST['lng']; //Εισαγωγή εγγραφής στη βάση δεδομένων $query = "INSERT INTO `sensors`(`description`, `mac_address`,`type`, `lat`, `lng`) VALUES ('$description','$mac_address', '$type','$lat','$lng')"; $result = mysqli_query($connection, $query); if (!$result) { die("invalid query: ". mysqli_error($connection)); //Δημιουργία του αντίστοιχου JSON αρχείου $filename='./measurements/'.$mac_address.'.json'; $fh = fopen($filename, "w") or die("unable to open file!"); $jsonheader='{ "cols": [ {"label":"ημέρα","type":"date", {"label":"θερμοκρασία","type":"number", {"label":"σχετική Υγρασία","type":"number", {"label":"δείκτης Θερμότητας","type":"number", {"label":"υγρασία Χώματος","type":"number", {"label":"φωτεινότητα","type":"number" ], "rows": [ ] '; fwrite($fh, 'test'); fclose($fh); $connection->close();?> 65

66 <!--Όνομα Αρχείου:editNode.php--> <!--Περιγραφή:Τροποποιεί ή διαγράφη τα στοιχεία μιας εγγραφής στη βάση δεδομένων--> <?php $username="root"; $password=""; $database="sensors"; //Σύνδεση με τον MySQL Server $connection=mysqli_connect (" ", $username, $password); if (!$connection) { die("not connected : ". mysqli_error($connection)); //Επιλογή της βάσης δεδομένων $db_selected = mysqli_select_db($connection, $database); if (!$db_selected) { die ("Can\'t use db : ". mysqli_error($connection)); $id = $_POST['id']; $description = $_POST['description']; $mac_address = $_POST['mac_address']; $lat = $_POST['lat']; $lng = $_POST['lng']; //Έλεγχος αν έχει επιλεγεί διαγραφή του κόμβου if(isset($_post['edit'])){ $query = "UPDATE sensors SET description='$description',mac_address='$mac_address',lat='$lat',lng='$lng' WHERE id='$id'"; $result = mysqli_query($connection, $query); if (!$result) { die("invalid query: ". mysqli_error($connection)); else if(isset($_post['delete'])){ $query = "DELETE FROM sensors WHERE id='$id'"; $result = mysqli_query($connection, $query); if (!$result) { die("invalid query: ". mysqli_error($connection)); //Διαγραφή JSON αρχείου $filename='./measurements/'.$mac_address.'.json'; unlink($filename); $connection->close();?> 66

67 5.2 Μέτρηση RSSI & Packet Loss /************************************************* * Μέτρηση RSSI & Packet Loss πρόγραμμα ArduinoFIO * Πλιάτσιος Δημήτριος * Σεπτέμβριος 2016 ************************************************/ #include <Printers.h> #include <XBee.h> XBee xbee=xbee(); void setup() { Serial.begin(9600); for (int i = 0; i < 100; i++){ uint8_t payload[]={72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33;//payload bytes =Hello, World! //Χρησιμοποιώ την 64-bit διεύθυνση η οποία αναγράφεται στο κάθε XBee XBeeAddress64 address=xbeeaddress64(0x0013a200,0x40e98add); ZBTxRequest tx=zbtxrequest(address,payload,sizeof(payload)); xbee.send(tx); delay(500); void loop() { 67

68 /********************************************** * Μέτρηση RSSI & Packet Loss πρόγραμμα σε JAVA * Πλιάτσιος Δημήτριος * Σεπτέμβριος 2016 **********************************************/ package com.digi.xbee.example; import com.digi.xbee.api.xbeedevice; import com.digi.xbee.api.utils.hexutils; import com.digi.xbee.api.exceptions.xbeeexception; public class MainApp { //Επιλογή BaudRate και σειριακής θύρας private static final String PORT = "COM62"; private static final int BAUD_RATE = 9600; public static void main(string[] args) { XBeeDevice mydevice = new XBeeDevice(PORT, BAUD_RATE); try { mydevice.open(); System.out.println("***Measure RSSI & Packet Loss***\n"); System.out.println("PANID:"); System.out.println(HexUtils.byteArrayToHexString( mydevice.getpanid())); System.out.println(" >> Waiting for data..."); //Μόλις λάβει δεδομένα το xbee θα τρέξει τον κώδικα //από το MyDataReceiveListener.java mydevice.adddatalistener(new MyDataReceiveListener()); catch (XBeeException e) { System.out.println(" >> Error"); e.printstacktrace(); System.exit(1); 68

69 /********************************************** * Μέτρηση RSSI & Packet Loss πρόγραμμα σε JAVA * Πλιάτσιος Δημήτριος * Σεπτέμβριος 2016 **********************************************/ package com.digi.xbee.example; import java.io.filewriter; import java.io.ioexception; import com.digi.xbee.api.exceptions.xbeeexception; import com.digi.xbee.api.listeners.idatareceivelistener; import com.digi.xbee.api.models.xbeemessage; import com.digi.xbee.api.utils.byteutils; public class MyDataReceiveListener implements IDataReceiveListener { int count=0; //αριθμός frames που public void datareceived(xbeemessage xbeemessage) { count++; int rssi; //Received Signal Strength Indicator try { //Με την αποστολή/λήψη ενός frame αποθηκεύεται στο ΧBee //η τιμή του RSSI. Λαμβάνεται με την AT εντολή DB rssi = ByteUtils.byteArrayToInt( xbeemessage.getdevice().getparameter("db")); System.out.format("Frame %d/100 - RSSI: - %d!!!\n",count,rssi); //Η τιμή του RSSI αποθηκεύεται σε αρχείο FileWriter fw = new FileWriter("rssi.txt",true); fw.write(string.format("%d\r\n",rssi)); fw.close(); catch (XBeeException IOException e) { e.printstacktrace(); 69

70 6 ΠΑΡΑΡΤΗΜΑ Στο κυρίως μέρος της διπλωματικής αναφέρθηκαν ορολογίες, οι οποίες δεν αποτελούν αντικείμενο της διπλωματικής, όμως για πληρότητα όμως θα γίνει αναφορά σε αυτή την ενότητα. 6.1 Διαμόρφωση Ολίσθησης Φάσης Phase Shift Keying Για τη διαμόρφωση, χρησιμοποιείται ένας αριθμός από διακεκριμένα σήματα, ώστε να αναπαρασταθούν τα ψηφιακά δεδομένα. Η Phase-shift Keying (PSK) αποτελεί μια τεχνική διαμόρφωσης, η οποία κωδικοποιεί τα δεδομένα ολισθαίνοντας την φάση του φέροντος Δυαδική PSK Binary PSK Η Δυαδική (Binary PSK- BPSK) αποτελεί την πιο απλή μορφή της PSK, καθώς περιλαμβάνει μόνο 2 σύμβολα. Αυτό την καθιστά ανθεκτική σε θόρυβο και παρεμβολές, όμως έχει τη δυνατότητα να κωδικοποιεί μόνο 1 bit ανά σύμβολο, με αποτέλεσμα να είναι ακατάλληλη για εφαρμογές με υψηλό data-rate. Τα δύο σύμβολα s 1(t) και s 2(t), τα οποία αντιστοιχούν στο δυαδικό 1 και 0, εκφράζονται ως: s 1 (t) = 2E b T b cos(2πf c t), 0 t T b s 2 (t) = 2E b T b cos(2πf c t + π) = 2E b T b cos(2πf c t), 0 t T b όπου το T b είναι η διάρκεια κάθε bit και E b η μεταδιδόμενη ενέργεια ανά bit. Παρατηρείται δηλαδή ολίσθηση φάσης κατά 180 η οποία ισοδυναμεί με αντιστροφή του ημιτονοειδούς σήματος. 70

71 Εικόνα 6-1:Αστερισμός BPSK Η πιθανότητα σφάλματος μπορεί να υπολογιστεί ως: P error = Q( 2E b N 0 ), όπου Q(x) = 1 2π x t 2 e 2 dt και N 0 2 η φασματική πυκνότητα ισχύος του λευκού θορύβου. Η πιθανότητα σφάλματος είναι αντιστρόφως ανάλογη της μεταδιδόμενης ενέργειας ανά bit Quadrature Phase-Shift Keying Ορθογωνική Διαμόρφωση Ολίσθησης Φάσης (QPSK) Η Quadrature PSK κωδικοποιεί κάθε σύμβολο με 2 bit, άρα περιλαμβάνει 4 σύμβολα τα οποία εκφράζονται ως: 2E b T b cos (2πf c t + π 4 ) 11 s(t) = 2E b T b cos (2πf c t + 3π 4 ) 01 2E b T b cos (2πf c t 3π 4 ) 00 { 2E b T b cos (2πf c t π 4 ) 10 71

72 Εικόνα 6-2:Αστερισμός QPSK Η πιθανότητα σφάλματος μπορεί να υπολογιστεί ως: P error = Q( 2E b N 0 ), όπου Q(x) = 1 2π x t 2 e 2 dt και N 0 2 η φασματική πυκνότητα ισχύος του λευκού θορύβου. Παρατηρείται ότι η πιθανότητα σφάλματος της QPSK είναι ίδια με αυτή της BPSK. Απαιτείται όμως διπλάσια ισχύς καθώς κάθε σύμβολο περιέχει διπλάσιο αριθμό bit. 6.2 Διεύρυνση Φάσματος Άμεσης Ακολουθίας Στοιχείων Η Διεύρυνση Φάσματος είναι μια τεχνική διαμόρφωσης, κατά την οποία το εύρος ζώνης του εκπεμπόμενου σήματος είναι μεγαλύτερο από αυτό που απαιτεί το μεταδιδόμενο μήνυμα. Στη μέθοδο Direct Sequence Spread Spectrum (DSSS) κάθε bit του αρχικού σήματος αναπαρίσταται από πολλά bit στο μεταδιδόμενο σήμα, χρησιμοποιώντας μια ακολουθία ψευδοτυχαίων ψηφίων με τιμές 1 και -1. Τα ψηφία αυτά παράγονται μέσω ενός αλγορίθμου ο οποίος δέχεται ως είσοδο μια τιμή, η οποία λέγεται seed. Ο αλγόριθμος είναι ντετερμινιστικός και οι παραγόμενες τιμές δεν είναι στατιστικά τυχαίες. Ο δέκτης, γνωρίζοντας τον αλγόριθμο 72

73 και το seed που χρησιμοποιήθηκε, μπορεί να ανακτήσει το αρχικό σήμα. Η DSSS έχει τα ακόλουθα πλεονεκτήματα: Αντοχή σε παρεμβολές Κοινή χρήση του καναλιού Δύσκολη υποκλοπή του μηνύματος, καθώς το εκπεμπόμενο σήμα μοιάζει με λευκό θόρυβο Συνδυασμός DSSS και BPSK Οι εξισώσεις των BPSK συμβόλων s 1(t) και s 2(t), μπορούν να εκφραστούν σε μια εξίσωση: s BPSK (t) = d(t) 2E b 1, για το δυαδικό 1 cos(2πf T c t), 0 t T b και d(t) = { b 1, για το δυαδικό 0 Για να παραχθεί το DSSS σήμα, πολλαπλασιάζεται με c(t), η οποία εκφράζει την ψευδοτυχαία ακολουθία και παράγεται το σήμα: s DSSS (t) = c(t)d(t) 2E b T b cos(2πf c t), 0 t T b Ο δέκτης, πολλαπλασιάζει το λαμβανόμενο σήμα με c(t). Η ακολουθία θα είναι η ίδια και για οποιοδήποτε t θα είναι c(t)*c(t)=1 (υπάρχουν δύο δυνατοί πολλαπλασιασμοί 1*1=1 ή -1*-1=1). Επομένως το ανακτημένο σήμα θα είναι: c(t) s DSSS (t) = c(t) c(t)d(t) 2E b T b cos(2πf c t) = d(t) 2E b T b cos(2πf c t) = s BPSK (t) 73

74 Εικόνα 6-3: Διαμόρφωση-Αποδιαμόρφωση DSSS 6.3 Πρότυπο Προηγμένης Κρυπτογράφησης Advanced Encryption Standard (AES) Το AES χρησιμοποιεί τον αλγόριθμο κρυπτογράφησης Rijndael, ο οποίος αναπτύχθηκε από τους Joan Daemen και Vincent Rijmen. Επιλέχθηκε το 2001 από το Εθνικό Ινστιτούτο Τυποποίησης και Τεχνολογίας (US National Institute of Standards and Technology) για να αποτελέσει τη βάση του AES. Ο αλγόριθμος δέχεται ως είσοδο δεδομένα με σταθερό μέγεθος block 128-bit και εκτελεί μια σειρά πράξεων, οι οποίες περιλαμβάνουν αντικαταστάσεις και μεταθέσεις. Το block έχει τη μορφή ενός 4x4 column-major πίνακα από 16 byte, ο οποίος ονομάζεται πίνακας κατάστασης (state matrix): b 0 b 4 b 8 b 12 b [ 1 b 5 b 9 b 13 ] b 2 b 6 b 10 b 14 b 3 b 7 b 11 b 15 Το μέγεθος του κλειδιού είναι 128,192 ή 256-bit και επιπλέον ορίζει τον αριθμό γύρων (rounds) που θα εκτελεστούν οι πράξεις: 74

ΠΕΡΙΕΧΟΜΕΝΑ ΕΡΓΑΣΙΑΣ ΕΙΣΑΓΩΓΗ 5

ΠΕΡΙΕΧΟΜΕΝΑ ΕΡΓΑΣΙΑΣ ΕΙΣΑΓΩΓΗ 5 ΠΕΡΙΕΧΟΜΕΝΑ ΕΡΓΑΣΙΑΣ ΕΙΣΑΓΩΓΗ 5 1 ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΔΙΠΛΩΜΑΤΙΚΗΣ 6 1.1 ΓΕΝΙΚΑ ΓΙΑ ΤΑ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ 6 1.2 ΤΟ ΠΡΟΒΛΗΜΑ ΥΨΗΛΗΣ ΚΑΤΑΝΑΛΩΣΗΣ 6 1.3 ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΓΙΑ ΒΕΛΤΙΩΣΗ ΚΑΤΑΝΑΛΩΣΗΣ 7 2 ΤΟ ΠΡΩΤΟΚΟΛΛΟ

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

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

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

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

Μοντέλο Ανάπτυξης Ασύρµατων Αισθητήρων και Πληροφοριακού Ελέγχου µέσω Ενσωµατωµένου Συστήµατος

Μοντέλο Ανάπτυξης Ασύρµατων Αισθητήρων και Πληροφοριακού Ελέγχου µέσω Ενσωµατωµένου Συστήµατος Μοντέλο Ανάπτυξης Ασύρµατων Αισθητήρων και Πληροφοριακού Ελέγχου µέσω Ενσωµατωµένων Συστηµάτων Development Model of Wireless Sensor and Information Control via Embedded Systems Ανάγκη χρήση ασύρµατων αισθητήρων

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

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

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

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

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

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

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

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου CSMA/CA στο 802.11 Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου Medium Access Control Συνήθως πολλοί κόμβοι μοιράζονται ένα κοινό μέσο Πρόβλημα: απαιτείται διαχείριση της πρόσβασης των κόμβων

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

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

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

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

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

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

Θέμα: Προηγμένες Τεχνικές για την Παρακολούθηση και τον Έλεγχο Κτιριακών Ενεργειακών Καταναλώσεων

Θέμα: Προηγμένες Τεχνικές για την Παρακολούθηση και τον Έλεγχο Κτιριακών Ενεργειακών Καταναλώσεων Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών «Κατανεμημένη πράσινη ηλεκτρική ενέργεια και οι προηγμένες δικτυακές υποδομές για τη διαχείριση και την οικονομία της» Μεταπτυχιακή Διπλωματική Εργασία του

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

Εισαγωγή στο 802.11 AC Συμβουλές και Λύσεις Υλοποίησης Ασύρματων Δικτύων στο RouterOS v6 MUM 2015 GREECE. Ελευθέριος Λιοδάκης

Εισαγωγή στο 802.11 AC Συμβουλές και Λύσεις Υλοποίησης Ασύρματων Δικτύων στο RouterOS v6 MUM 2015 GREECE. Ελευθέριος Λιοδάκης Εισαγωγή στο 802.11 AC Συμβουλές και Λύσεις Υλοποίησης Ασύρματων Δικτύων στο RouterOS v6 MUM 2015 GREECE Ελευθέριος Λιοδάκης Σχετικά με εμένα! Λιοδάκης Ελευθέριος D&C ELECTRONICS MikroTik Certified Consultant

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

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

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

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

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναµεταδότες, Γέφυρες, Μεταγωγείς, δροµολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

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

ΕΠΙΠΕΔΟ ΣΥΝΔΕΣΗΣ ΜΑC

ΕΠΙΠΕΔΟ ΣΥΝΔΕΣΗΣ ΜΑC ΕΠΙΠΕΔΟ ΣΥΝΔΕΣΗΣ Το επίπεδο σύνδεσης αποτελείται από δύο υποεπίπεδα: Το υποεπίπεδο ελέγχου προσπέλασης μέσων (Medium Access Control) Το υποεπίπεδο λογικού ελέγχου σύνδεσης (Logical Link Control) To υποεπίπεδο

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

Πτυχιακή Εργασία. Ασύρματα Δίκτυα της Τεχνολογίας Hot Spot

Πτυχιακή Εργασία. Ασύρματα Δίκτυα της Τεχνολογίας Hot Spot Πτυχιακή Εργασία Ασύρματα Δίκτυα της Τεχνολογίας Hot Spot Σκοπός της σημερινής παρουσίασης είναι να παρουσιαστεί και να αναλυθεί η δομή και ο τρόπος λειτουργίας ενός δικτύου Hot Spot. Υπεύθυνος Παρουσίασης

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΣΥΡΜΑΤΟΙ ΑΙΣΘΗΤΗΡΕΣ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΣΥΡΜΑΤΟΙ ΑΙΣΘΗΤΗΡΕΣ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΣΠΟΥΔΑΣΤΗΣ: Κυρίστης Σωτήρης ΕΠΙΒΛΕΠΩΝ

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναμεταδότες, Γέφυρες, Μεταγωγείς, δρομολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2013-2014 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 Λύσεις Πρώτης Προόδου (συνολικά 100 μονάδες) 1. Αντιπαραθέσετε

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

Μάθημα 6: Αρχιτεκτονική TCP/IP

Μάθημα 6: Αρχιτεκτονική TCP/IP Μάθημα 6: Αρχιτεκτονική TCP/IP 6.1 Συσχέτιση OSI και TCP/IP Η αρχιτεκτονική TCP/IP ακολουθεί ένα πρότυπο διαστρωμάτωσης παρόμοιο με το μοντέλο OSI. Η αντιστοιχία φαίνεται στο σχήμα 6.1. Η ονομασία της

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

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

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα : Στρώμα Ζεύξης στα Δίκτυα ΗΥ- Ethernet MAC Στρώμα Σαββαΐδης Στυλιανός

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

WIRELESS SENSOR NETWORKS (WSN)

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

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

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος V Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/30 Περιεχόμενα IEEE 802.11i ΤΟ ΠΡΩΤΟΚΟΛΛΟ CCMP Γενικά Λίγα

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

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

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α Ευάγγελος Παπαπέτρου 2 Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων 3 Δίκτυα Slotted Reservation Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΜΥΥ703: Δίκτυα

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

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

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

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

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΜΥΥ703: Δίκτυα Υπολογιστών Ι 1 / 36 Διάρθρωση

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

Υπόστρωμα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

Υπόστρωμα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer. Υπόστρωμα Ελέγχου Πρόσβασης Μέσου Medium Access Control Sub-layer. Πρόβλημα Υπάρχει ένα κανάλι το οποίο «μοιράζονται» πολλοί κόμβοι. Πρόβλημα: Ποίος μεταδίδει και πότε; Περίληψη Κανάλια πολλαπλής πρόσβασης

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

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων 3 Δίκτυα Slotted Reservation Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΜΥΥ703: Δίκτυα

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

ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS)

ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS) ΟΜΑΔΑ ΦΟΙΤΗΤΩΝ: Μιχαηλίνα Αργυρού Κασιανή Πάρη ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS) Δρ. Χριστόφορος Χριστοφόρου Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής WiMAX (Worldwide Interoperability

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

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

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

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

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

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

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

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η Δίκτυα Η/Υ Θεωρία Διάλεξη 2η Kάρτες Δικτύωσης (NIC-Network Interface Controller) Βασικές εντολές δρομολόγησης και ανίχνευσης Η κάρτα δικτύου συνδέει τον υπολογιστή στο τοπικό δίκτυο παράγει και λαμβάνει

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

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναμεταδότες, Γέφυρες, Μεταγωγείς, δρομολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

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

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη

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

Δίκτυα Απευθείας Ζεύξης

Δίκτυα Απευθείας Ζεύξης Δίκτυα Απευθείας Ζεύξης Επικοινωνία μεταξύ δύο υπολογιστώνοιοποίοιείναι απευθείας συνδεδεμένοι. Περίληψη Ζεύξεις σημείου προς σημείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση σφαλμάτων

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος

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

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

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

ΥΛΟΠΟΙΗΣΗ MAC ΠΡΩΤΟΚΟΛΛΟΥ 802.15.4 ΓΙΑ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ

ΥΛΟΠΟΙΗΣΗ MAC ΠΡΩΤΟΚΟΛΛΟΥ 802.15.4 ΓΙΑ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τμήμα Διδακτικής της Τεχνολογίας και Ψηφιακών Συστημάτων ΥΛΟΠΟΙΗΣΗ MAC ΠΡΩΤΟΚΟΛΛΟΥ 802.15.4 ΓΙΑ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ Βετουλαδίτης Μιλτιάδης Μεταπτυχιακή Διπλωματική Εργασία

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

Λουκάς Ελευθέριος

Λουκάς Ελευθέριος Λουκάς Ελευθέριος eloukas05@aueb.gr Σκοπός Δ. Εργασίας Πορεία προς τη Λύση Multi Service Link Layer (MSLL) MSLL Πρωτόκολλα Πλήρους Ανάκαμψης MSLL Πρωτόκολλα Περιορισμένης Ανάκαμψης Σενάρια Προσομοίωσης

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 2: Στοιχεία Μετάδοσης Κώδικες 2 Κώδικες Κωδικοποίηση Δεδομένων: Όπως έχει ήδη αναφερθεί, προκειμένου τα δεδομένα να γίνουν κατανοητά από ένα ηλεκτρονικό

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

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα

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

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρόβλημα: ταυτόχρονη μετάδοση δύο ή περισσότερων κόμβων στο ίδιο κανάλι (μήκος κύματος). Ένα τέτοιο γεγονός ονομάζεται σύγκρουση. Ένα πρωτόκολλο MAC έχει συνήθως ως

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

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

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

AODV - SD ΕΠΕΚΤΑΣΗ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ AODV ΓΙΑ ΑΝΑΚΑΛΥΨΗ ΥΠΗΡΕΣΙΩΝ ΣΕ ΚΙΝΗΤΑ AD HOC ΔΙΚΤΥΑ SIMULATION WITH J-SIM

AODV - SD ΕΠΕΚΤΑΣΗ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ AODV ΓΙΑ ΑΝΑΚΑΛΥΨΗ ΥΠΗΡΕΣΙΩΝ ΣΕ ΚΙΝΗΤΑ AD HOC ΔΙΚΤΥΑ SIMULATION WITH J-SIM AODV - SD ΕΠΕΚΤΑΣΗ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ AODV ΓΙΑ ΑΝΑΚΑΛΥΨΗ ΥΠΗΡΕΣΙΩΝ ΣΕ ΚΙΝΗΤΑ AD HOC ΔΙΚΤΥΑ SIMULATION WITH J-SIM MANETS MANETS = Mobile Ad Hoc Networks Δεν υπάρχει fixed network infrastructure

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

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

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

1.8 Το μοντέλο OSI 1 / 33

1.8 Το μοντέλο OSI 1 / 33 1.8 Το μοντέλο OSI 1 / 33 Η ανάγκη της τυποποίησης 2 / 33 Το μοντέλο στρωματοποιημένης αρχιτεκτονικής δικτύου, του διεθνή οργανισμού τυποποίησης (ISO) 3 / 33 Μοντέλο αναφοράς διασύνδεσης ανοικτών συστημάτων

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

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

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

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 6: Συσκευές τηλεπικοινωνιών και δικτύωσης (Θ) Ενεργά στοιχεία δικτύων Δύο συστήματα Η/Υ μπορούν να συνδεθούν χρησιμοποιώντας: Δια-αποδιαμορφωτές

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

Τοπικά Δίκτυα Local Area Networks (LAN)

Τοπικά Δίκτυα Local Area Networks (LAN) Τοπικά Δίκτυα Local Area Networks (LAN) Ορισμός Τοπικών Δικτύων Τοπικό δίκτυο επικοινωνιών δεδομένων ονομάζεται ένα δίκτυο όπου τα υπολογιστικά συστήματα που συνδέονται μεταξύ τους βρίσκονται σε περιορισμένη

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ335a Δίκτυα Υπολογιστών Διδάσκουσα: Παπαδοπούλη Μαρία BlindSense

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ335a Δίκτυα Υπολογιστών Διδάσκουσα: Παπαδοπούλη Μαρία BlindSense Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ335a Δίκτυα Υπολογιστών Διδάσκουσα: Παπαδοπούλη Μαρία 2015-2016 BlindSense Ομάδα: Αθανασάκη Ευαγγελία 3076 (csd3076@csd.uoc.gr) Αναγνώστου Λεωνίδας 2828

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

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

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

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

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

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων ΔΙΚΤΥΑ Π. Φουληράς Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων Οποιοδήποτε δικτυακό σύστημα παραχωρεί σε μία εφαρμογή αποκλειστική χρήση των μεριζομένων πόρων θέτει σε εμπλοκή τους άλλους υπολογιστές για απαράδεκτα

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

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

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

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους

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

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Διάρθρωση 1 Βασικές

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

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Εισαγωγή- Βασικές Έννοιες Διδάσκων : Δρ. Παρασκευάς Κίτσος diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

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

Ασύρµατα ίκτυα Αισθητήρων. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Ασύρµατα ίκτυα Αισθητήρων. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Ασύρµατα ίκτυα Αισθητήρων Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Αισθητήρες Ο αισθητήρας (sensor) είναι µια συσκευή που µετρά ένα φυσικό µέγεθος και το µετατρέπει σε σήµα αναγνώσιµο

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

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

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

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

Μάθημα 3: Τοπολογίες Δικτύων

Μάθημα 3: Τοπολογίες Δικτύων Μάθημα 3: Τοπολογίες Δικτύων 3.1 Γενικά Με το όρο τοπολογία δικτύου αναφερόμαστε στον τρόπο με τον οποίο συνδέονται οι κόμβοι ενός δικτύου. Οι τοπολογίες διακρίνονται σε φυσικές και λογικές. Οι φυσικές

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

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 Υφιστάμενη κατάσταση Οι φορητές συσκευές όλο πληθαίνουν καθημερινά. Όλο και περισσότεροι χρήστες

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

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19 1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19 2 / 19 Το Φυσικό Επίπεδο Το Φυσικό Επίπεδο ή στρώμα (Physical layer) ασχολείται με τη μετάδοση των bit (1 0) που απαρτίζουν

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

ΔΙΚΤΥΑ (13) Π. Φουληράς

ΔΙΚΤΥΑ (13) Π. Φουληράς ΔΙΚΤΥΑ (13) Π. Φουληράς Τεχνολογίες WAN και Δρομολόγηση LAN Επεκτείνεται μόνον σε ένα κτίριο ή ομάδα κτιρίων WAN (Wide Area Network) Επεκτείνονται σε μεγάλες περιοχές MAN Ενδιάμεσο ως προς το μέγεθος της

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

Υπόστρωµα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

Υπόστρωµα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer. Υπόστρωµα Ελέγχου Πρόσβασης Μέσου Medium Access Control Sub-layer. Πρόβληµα Υπάρχει ένα κανάλι το οποίο «µοιράζονται» πολλοί κόµβοι. Πρόβληµα: Ποίος µεταδίδει και πότε; Περίληψη Κανάλια πολλαπλής πρόσβασης

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

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

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

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

2 η Σειρά Ασκήσεων Data Link Layer

2 η Σειρά Ασκήσεων Data Link Layer HY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2017-2018 Διδάσκουσα: Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστημίου Κρήτης 2 η Σειρά Ασκήσεων Data Link Layer Άσκηση 1 Αναφέρεται τα 4 επιθυμητά

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

A1. Φυσικό επίπεδο 1. Αντιπαραθέσετε (κάνετε τη σύγκριση) με 2-3 προτάσεις την στατιστική πολυπλεξία και την πολυπλεξία με διαίρεση χρόνου.

A1. Φυσικό επίπεδο 1. Αντιπαραθέσετε (κάνετε τη σύγκριση) με 2-3 προτάσεις την στατιστική πολυπλεξία και την πολυπλεξία με διαίρεση χρόνου. ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2014-2015 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 27.10.2014 mockup Πρόοδος Οδηγίες: Η κάθε απάντηση θα πρέπει να συνοδεύεται

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

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM Παραδείγµατα δικτυακών τεχνολογιών Ethernet Internet ATM Τοπικά δίκτυα (LANs) Τα πιο απλά δίκτυα Κάθε υπολογιστής έχει όνοµα διεύθυνση δικτύου (Internet) διεύθυνση τοπικού δικτύου (Ethernet) alice 28 35

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

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση

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

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο Μοντέλο Επικοινωνίας Δεδομένων Επικοινωνίες Δεδομένων Μάθημα 6 ο Εισαγωγή Με τη βοήθεια επικοινωνιακού σήματος, κάθε μορφή πληροφορίας (κείμενο, μορφή, εικόνα) είναι δυνατόν να μεταδοθεί σε απόσταση. Ανάλογα

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

Εκτέλεση προγράμματος

Εκτέλεση προγράμματος ιεπιφάνεια controller Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες 1 2 Αυτόματα Εκτέλεση προγράμματος παραγωγή Χειροκίνητα για απλές λίγες κινήσεις Εντολή προς εντολή για έλεγχο ορθότητας

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

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

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

Νέες Επικοινωνιακές Τεχνολογίες

Νέες Επικοινωνιακές Τεχνολογίες Νέες Επικοινωνιακές Τεχνολογίες Λύσεις Θεμάτων http://nop33.wordpress.com Τι ορίζουμε ως Τοπικό Δίκτυο Υπολογιστών; Ποια είναι τα βασικά χαρακτηριστικά των Τοπικών Δικτύων; Ποιες οι βασικές τοπολογίες

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

Σταθερή περιβάλλουσα (Constant Envelope)

Σταθερή περιβάλλουσα (Constant Envelope) Διαμόρφωση ολίσθησης φάσης (Phase Shift Keying-PSK) Σταθερή περιβάλλουσα (Constant Envelope) Ίση Ενέργεια συμβόλων 1 Binary Phase Shift keying (BPSK) BPSK 2 Quaternary Phase Shift Keying (QPSK) 3 Αστερισμός-Διαγράμματα

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

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

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

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

Ψηφιακά Συστήματα Εισαγωγή στο ZigBee και στο barcode

Ψηφιακά Συστήματα Εισαγωγή στο ZigBee και στο barcode ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ψηφιακά Συστήματα Εισαγωγή στο ZigBee και στο barcode Μόσχογλου Στυλιανός 6978 6η Σεπτεμβρίου, 2012 1 Ε ι σ α

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

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

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

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

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Κεφάλαιο 4: ικτύωση και ιαδίκτυο Η Επιστήµη των Υπολογιστών: Μια Ολοκληρωµένη Παρουσίαση (δέκατη αµερικανική έκδοση) J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

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

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

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

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Ε.Παπαπέτρου

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

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά

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

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

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

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

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

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

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet) ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν µεταξύ τους Πως συνδέονται ανοµοιογενή δίκτυα µεταξύ τους Εικονικά κυκλώµατα συνδεδεµένα σε σειρά ιαδικτύωση

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

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος B Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 31 Διάρθρωση

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

Τμήμα Μηχανικών Πληροφορικής

Τμήμα Μηχανικών Πληροφορικής Τμήμα Μηχανικών Πληροφορικής ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ ΚΑΙ ΠΡΟΣΟΜΟΙΩΣΗ ΤΟΥ ΦΥΣΙΚΟΥ ΣΤΡΩΜΑΤΟΣ ΤΟΥ ΔΟΡΥΦΟΡΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ORBCOMM Study and simulation of ORBCOMM physical layer ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΤΣΑΝΙΔΟΥ

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

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του).

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του). ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2014-2015 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 20.11.20104 Πρόοδος Οδηγίες: Η κάθε απάντηση θα πρέπει να συνοδεύεται

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