ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη αρχιτεκτονικής δικτύου για σύστημα έξυπνων κάμερων

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

Download "ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη αρχιτεκτονικής δικτύου για σύστημα έξυπνων κάμερων"

Transcript

1 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σχεδίαση και ανάπτυξη αρχιτεκτονικής δικτύου για σύστημα έξυπνων κάμερων Τμήμα Ηλεκτρολογων Μηχανικών και Τεχνολογίας Υπολογιστών Πανεπιστήμιο Πατρών Μάριος Χατζηγεωργίου του Λαζάρου Μαρτιος 2011 Επιβλέπων: Δ. Σερπάνος Συνεξεταστής: Γ. Καλύβας

2

3 Περίληψη Περίληψη Τα ασύρματα δίκτυα αισθητήρων (WSNs) είναι πολύ αναγνωρισμένα στις μέρες μας και γύρω από αυτά έχουν αναπτυχθεί χιλιάδες εφαρμογές που με χρήση άλλης τεχνολογίας ήταν σχεδόν ακατόρθωτες. Ένα WSN αποτελείται από κόμβους οι οποίοι είναι προγραμματισμένοι να επικοινωνούν και να συλλέγουν πληροφορίες μέσω των αισθητήρων που είναι αναρτημένοι πάνω τους. Οι πληροφορίες ή σύνολο των πληροφοριών καταλήγουν τελικά στους κόμβους που είναι προγραμματισμένοι ως τερματικοί κόμβοι ή βάσεις. Οι βάσεις είναι συνήθως συνδεδεμένες με ένα υπολογιστή και μεταφέρουν τα δεδομένα του δικτύου σε αυτόν. Τα κύρια χαρακτηριστικά των ασύρματων δικτύων αισθητήρων είναι η χαμηλή κατανάλωση ενεργείας των συσκευών-κόμβων (motes), η σταθερότητα και η απλότητα του κώδικα καθώς και η μεγάλη αξιοπιστία. Μερικές εφαρμογές των WSNs είναι για παράδειγμα η μέτρηση της υγρασίας στον τάπητα ενός γηπέδου γκολφ, η παρακολούθηση των κρίσιμων μεγεθών σε μεγάλες κατασκευές (π.χ. οι τάσεις των νημάτων μιας κρεμμαστης γέφυρας ή η παρακολούθηση της καταπόνησης των δοκών ενός ουρανοξύστη). Στα πλαίσια της διπλωματικής εργασίας αυτής παρουσιάζουμε ένα ασύρματο δίκτυο αισθητήρων όπου οι αισθητήρες είναι έξυπνες κάμερες! Παρουσιάζει μεγάλο ενδιαφέρον η μελέτη ενός τέτοιου δικτύου καθώς και η ανάπτυξη εφαρμογών γύρω από αυτό.

4 Περίληψη iv

5 Abstract Abstract Wireless Sensor Networks (WSNs) are very much recognized these days, and thousands of applications have been developed in relation to them, which, would have been impossible if other technologies were used. A WSN is made up of nodes programmed to collect information through sensors attached to them and transmit them. The information ends up finally to the nodes which are programmed as terminal nodes or base-stations. These base-stations are usually connected to a computer and transfer the data that have been retrieved from the network to it. The main features of a WSN is the low energy consumption by the node equipment (motes), the stability and simplicity of the code as well as their great reliability. Some applications of the WSNs are, for example, the measurement of humidity in a golf course, the monitoring of the crucial sizes in great constructions (e.g. the tensions of the fibers in a suspension bridge, the monitoring of the strains of girders in a skyscraper) Within the context of this thesis, we present a WSN where the sensors are smart cameras! The study of such a network presents great interest as well as the development of applications based on it.

6 Abstract vi

7 Ευχαριστίες Ευχαριστίες Θα ήθελα να ευχαριστήσω τον επιβλέπων καθηγητή μου Κ. Δημήτρη Σερπάνο για την ευκαιρία που μου έδωσε μεσα απο αυτή την εργασία να ασχοληθώ με τα αντικείμενα των ασυρμάτων δικτύων αισθητήρων και των έξυπνων καμέρων. Επίσης θα ήθελα να ευχαριστήσω τον μεταπτύχιακο φοιτητη Κ. Ανδρέα Παπαλάμπρου του οποιου η βοήθεια και συμπαρασταση ηταν πολυτιμη. Η συνεργασία μας ήταν ιδιαίτερα εποικοδομητική και οι γνώσεις που ελαβα θα με συνοδεύουν στην σταδιοδρομία μου ως ηλεκτρολόγο μηχανικό. Η εκπόνηση της συγκεκριμένης Διπλωματικής Εργασίας δε θα ήταν δυνατή χωρίς την συμπαρασταση των συμφοιτητων και πραγματικων μου φιλων. Τους ευχαριστώ για τη συνεχή και αμέριστη προσφορά τους στην προσπάθεια μου αυτή. Τέλος θα ήθελα να ευχαριστήσω τους γονείς μου Λάζαρο και Μυριάνθη για την κάθε είδους στήριξη που μου παρείχαν κατα την διάρκεια των σπουδών μου και ως ελάχιστη πράξη ευγνωμοσύνης τους αφιερώνω την εργασία αυτή η οποία αποτελεί το επιστέγασμα των σπουδών μου.

8 Ευχαριστίες viii

9 Πίνακας Περιεχομένων Πίνακας Περιεχομένων Περίληψη... iii Abstract... v Ευχαριστίες... vii Πίνακας Περιεχομένων...ix Ασύρματα δίκτυα αισθητήρων...1 Χαρακτηριστικά Ασύρματων Δικτυων Αισθητήρων...2 Δομές Δικτύων WSN...3 HSNs-Heterogeneous Sensor Networks...4 TinyOS... 5 Η γλώσσα προγραμματισμού nesc...6 Υλικό ενός WSN Το εκπαιδευτικό πακέτο CITRIC...17 Περιγραφή Πακέτου...17 Τεχνικά Χαρακτηριστικά...18 Υλοποίηση δικτύου...21 Έξυπνες καμερες Citric user interface...28 Εργαλεία ανάπτυξης λογισμικού...29 Διαδικασία γρήγορης εγκατάστασης του περιβάλλοντος Citric Εφαρμογές Αναγνώριση Κίνησης...39 Image Differencing...46 Κώδικας και επεξηγηση...47 Background Subtraction...53 Σύγκριση Εφαρμογών...63 Παρουσίαση αποτελεσμάτων...64 A A.1 Παράρτημα Α...I Διαδικασία εγκατάστασης TinyOS...I Ευρετήριο πινάκων και εικόνων...iii Βιβλιογραφία... V Επίλογος... VII Επισυναπτώμενα ηλεκτρονικά μέσα...ix

10 Πίνακας Περιεχομένων x

11 1 Ασύρματα Δίκτυα Αισθητήρων Ασύρματα δίκτυα αισθητήρων 1 A wireless sensor network (WSN) is a wireless network consisting of spatially distributed autonomous devices that use sensors to monitor physical or environmental conditions. These autonomous devices, or nodes, combine with routers and a gateway to create a typical WSN system. The distributed measurement nodes communicate wirelessly to a central gateway, which provides a connection to the wired world where you can collect, process, analyze, and present your measurement data. To extend distance and reliability in a wireless sensor network, you can use routers to gain an additional communication link between end nodes and the gateway. [Wikipedia]1 Ένα ασύρματο δίκτυο αισθητήρων είναι ένα ασύρματο δίκτυο που αποτελείται από χωρικά κατανεμημένες αυτόνομες συσκευές οι οποίες χρησιμοποιούν αισθητήρες για να καταγράφουν φυσικές οι περιβαλλοντικές συνθήκες. Οι κατανεμημένοι κόμβοι επικοινωνούν ασύρματα με ένα κεντρικό κόμβο-βαση, ο οποίος παρέχει σύνδεση με κάποιο ενσύρματο δίκτυο όπου μπορούμε να συλλέξουμε, να επεξεργαστούμε, να αναλύσουμε και να παρουσιάσουμε τα δεδομένα του δικτύου. Picture 1: Εμπορικό σύστημα WSN 1 1

12 1 Ασύρματα Δίκτυα Αισθητήρων Χαρακτηριστικά Ασύρματων Δικτυων Αισθητήρων 1.1 Χαμηλή Κατανάλωση ενέργειας. Στις περισσότερες περιπτώσεις οι κόμβοι του δικτύου, τροφοδοτούνται με μπαταρίες οι οποίες μετά από κάποιο χρόνο διάστημα θα χάσουν την ενέργειά τους, αυτό έχει σαν αποτέλεσμα να σταματήσει η λειτουργία του δικτύου. Συνεπως όσο πιο χαμηλή είναι η κατανάλωση του κάθε κόμβου ξεχωριστά, τόσο αυξάνεται το χρονικό διάστημα λειτουργίας του δικτύου και τόσο μειώνεται το κόστος συντήρησης του. Πολλά τέτοια δίκτυα χρησιμοποιούν ανανεώσιμες πηγές ενέργειας (συνήθως ηλιακής), μια τέτοια υλοποίηση προυποθέτει την ύπαρξη ήλιου κατά την διάρκεια λειτουργίας ή την χρήση και σε αυτή την περίπτωση μπαταριών. Από την στιγμή όμως που οι κόμβοι του δικτύου υπόκεινται σε περιορισμούς μεγέθους δεν είναι εύκολη υπόθεση η χρηση ηλιακων κυψελων για ενέργεια. Αυτόνομη και προγραμματιζόμενη λειτουργία. Ο κάθε κόμβος θα πρέπει να μπορεί να λειτουργήσει αυτόνομα, δηλαδή να ξέρει πότε να πάρει μετρήσεις, και με ποιό ρυθμό, που θα στείλει τις μέτρησεις που πήρε (πχ Broadcasting σε όλους όσοι είναι στην εμβέλεια του). Ταυτόχρονα θα έχει την δυνατότητα να προγραμματίζεται δυναμικά, για παράδειγμα να μπορεί το base station να ελεγξει την λειτουργία των κόμβων διαδίδοντας στο δίκτυο καινούργια δεδομένα λειτουργίας για το κάθε κόμβο με αποτέλεσμα τον δυναμικό προγραμματισμό του δικτύου. Χαμηλό κόστος. Την δεδομένη στιγμή το κόστος των κόμβων(motes) που κυκλοφορούν στην αγορά είναι απαγορευτικό για μεγάλης κλίμακας δίκτυα διοτι ακομη δεν εχουν καταστει πληρως εμπορικα προιοντα και εχουν ακομη ερευνητικο χαρακτηρα. Για παράδειγμα εάν θέλουμε να παρακολουθήσουμε την υγρασία στον ταπητα ενως γηπεδου γκολφ θα χρειαστούμε παρα πολλους κόμβους και πολλα χρηματα για την αγορά τους, ωστοσο μια εμπεριστατωμενη ερεύνα ισως να αποδείξει ότι είναι η πιο φτηνή λύση για ενα τέτοιο εγχειρημα! Γρήγορη δημιουργία δικτύου. Τα περισσότερα δίκτυα έχουν την ικανότητα μέσα σε μερικά λεπτά να έχουν χαρτογραφούν την αρχιτεκτονική τους και να ξεκινήσουν την προγραμματιζόμενη λειτουργία τους. Αυτό βέβαια 2

13 1 Ασύρματα Δίκτυα Αισθητήρων είναι σχετικό διότι εξαρτάται αρκετά και από το μέγεθος του δικτύου και σίγουρα από το υλικό και λογισμικό των κόμβων. Προσαρμοστικότητα. Βασικό χαρακτηριστικό τέτοιου είδους δικτύων είναι η ικανότητα τους να προσαρμόζονται στα νέα δεδομένα του δικτύου. Για παράδειγμα η απώλεια κάποιων κόμβων δεν καταστρέφει το δίκτυο ολόκληρο διότι οι κόμβοι εχουν την ικανότητα να προσαρμόζονται και να δημιουργουν καινούριες συνδέσεις μεταξύ των για να διατηρηθεί η συνέχεια του δικτύου. Απλότητα. Οι περιορισμένοι υπολογιστικοί και ενεργειακοί πόροι των συσκευων που αποτελουν τους κομβους ενός τετοιου δικτύου απαίτουν τον σχεδιασμό απλών και αποδοτικών αλγορίθμων για την διεκπεραίωση των προγραμματισμένων διεργασιών που εκτελεί το δίκτυο. Απόδοση. Θυσιάζοντας την ταχύτητα αποστολής δεδομένων, οι κόμβοι μειώνουν τις επανεκπομπές πακέτων λόγω σφαλμάτων, αυξάνοντας με αυτό τον τρόπο την αξιοπιστία στην μετάδοση του κάθε πακέτου. 1.2 Δομές Δικτύων WSN Σύμφωνα με τα βασικά δομικά στοιχειά ενός WSN-HSN διακρίνουμε διάφορες μορφές αρχιτεκτονικής δικτύου που μπορούμε να υλοποιήσουμε ώστε να μας εξυπηρετούν ανάλογα με την εφαρμογή που θέλουμε να υλοποιήσουμε. Peer-to-Peer (Ίσο προς ίσο): Σε αυτή την τοπολογία όλοι οι κόμβοι μεταξύ τους είναι ίσοι στην ιεραρχία ο καθένας μπορεί να είναι ανά πάσα στιγμή server ή client και έχουν το δικαίωμα να επικοινωνούν όλοι μεταξύ τους άμεσα. Αποτελεί την πιο ελκυστική αρχιτεκτονική δικτύου και αναμφίβολα την πιο απαιτητική από πλευράς λογισμικού! Τοπολογία Star (αστέρα): Σε κάθε τέτοια τοπολογία υπάρχει ο κεντρικός κόμβος ο οποίος είναι ο server και γύρω του οι υπόλοιποι κόμβοι που είναι clients. Κανένας client δεν μπορεί να επικοινωνήσει άμεσα με άλλο client παρά μόνο μέσω του server. Αποτελεί την πιο απλή και κλασσική αρχιτεκτονική και ταιριάζει σε μεγάλο αριθμό εφαρμογών. 3

14 1 Ασύρματα Δίκτυα Αισθητήρων Τοπολογία Tree (Δέντρου): Σε αυτή την μορφή πρώτο στην ιεραρχία βρίσκουμε το root note μετά πιο κάτω από αυτό είναι τα central hub τα οποία το καθένα ξεχωριστά δημιουργεί μια δική του τοπολογία τύπου αστέρα, άρα αυτή η τοπολογία είναι ένας συνδυασμός των δύο πιο πάνω και για αυτό ονομάζεται και hybrid(υβριδικό). Mesh (Πλέγμα): αυτή η τοπολογία είναι ένα διευρυμένο p2p(peer to peer) δίκτυο. Με αυτό τον τρόπο όλοι οι κόμβοι μπορούν να επικοινωνήσουν μεταξύ τους ακόμη και οχι μόνο με τους γειτονικους τους κόμβους. Αυτό επιτυγχάνεται με διαδοχικά άλματα ( hops ). Στην περίπτωση αυτή πρέπει να λαμβάνονται μετρά για την καταστροφή πακέτων τα οποια δεν κατέληξαν στον προορισμό τους μετά απο καποιο αριθμό αλμάτων για να αποφύγουμε την επιβάρυνση του δικτύου. 1.3 HSNs-Heterogeneous Sensor Networks Η έρευνα γύρω από τα ασύρματα δίκτυα αισθητήρων επικεντρώνεται συνήθως γύρω από αισθητήρες χαμηλού εύρους ζώνης (πχ ήχου, φωτός, υγρασίας, κραδασμών, υπέρυθρους κ.α.) οι οποίοι περιορίζουν την δυνατότητα αναγνώρισης πολύπλοκων, μακροσκοπικών φυσικών φαινομένων. Αυτός ο περιορισμός μπορεί να αρθεί χρησιμοποιώντας αισθητήρες μεγάλου εύρους ζώνης όπως αισθητήρες εικόνων, για να παρέχουν οπτική αναγνώριση, κατανόηση του χώρου κ.α. Αυτή η νέα κλάση των ασυρμάτων δικτύων αισθητήρων ονομάζεται heterogeneous sensor networks (HSNs) [CITRICICDSC08]. Η ενσωματωση αισθητηρων μεγάλου εύρους ζώνης σε κόμβους συμβατικών δικτύων αισθητήρων χαμηλής ισχύος στα HSNs απαιτεί καινούριες τεχνικές επεξεργασίας των πληροφοριών εντός-δικτυου ώστε να μειωθεί ο φόρτος διακινούμενης πληροφορίας και το κόστος επικoινωνίας στο ασύρματο δίκτυο. 4

15 1 Ασύρματα Δίκτυα Αισθητήρων 1.4 TinyOS Το TinyOS είναι ένα ανοικτού κώδικα λειτουργικό σύστημα και είναι ίσως το πιο διαδεδομένο για ασύρματα δίκτυα αισθητήρων. Η πρώτη έκδοση παρουσιάστηκε το 2000 από το πανεπιστήμιο του Berkeley. Αυτή την στιγμή η τελευταία έκδοση είναι η η οποία παρουσιάσθηκε τον Απρίλιο του Η εγκατάσταση του λειτουργικού σε κόμβους με περιορισμένους πόρους και με απαίτηση βέλτιστης κατανάλωσης ενέργειας προϋποθέτει ότι το λειτουργικό θα πρέπει: Να έιναι αρκετά μικρό σε μέγεθος μνήμης. Να είναι ικανό να ελαχιστοποιεί την κατανάλωση ενέργειας. Να είναι αξιόπιστο ( μεταφορά πακέτων, επεξεργασία κτλ) Να υποστηρίζει την δυνατότητα επαναπρογραμματισμού. Να υποστηρίζει ποικίλες εφαρμογές Να μπορεί να εφαρμόσει μιας μορφής παραλληλισμού (πολλές φορές χρειάζεται να επεξεργάζεται ένα πακέτο και ταυτόχρονα να «ακούμε» για άλλο). Το περιβάλλον για να προγραμματίσουμε ένα δίκτυο με χρήση του λειτουργικού TinyOS πρέπει να εγκατασταθεί στο λειτουργικό σύστημα του υπολογιστή μας. Στην περίπτωση της διπλωματικής αυτής χρησιμοποιείται το λειτουργικό σύστημα linux mint 9 (Isadora) το οποίο βασίζεται στο Debian. Για να εγκατασταθεί το περιβάλλον TinyOS στο λειτουργικό σύστημα του υπολογιστή μας πρέπει να ακολουθήσουμε μια συγκεκριμένη διαδικασία η οποία παρατίθεται στο παράρτημα Α. Η διαδικασία συγγραφής ενός προγράμματος που τρέχει πάνω σε TinyOS είναι αρκετά πολύπλοκη διαδικασία και αποτελεί ξεχωριστό θέμα για εκπόνηση διπλωματικής παρόλα αυτά η διαδικασία φόρτωσης ενός ήδη υπάρχοντος προγράμματος στον κόμβο ή βάση του ασυρμάτου δικτύου είναι αρκετά εύκολη διαδικασία και παρατίθεται στην ενότητα

16 1 Ασύρματα Δίκτυα Αισθητήρων Οι εφαρμογές οι οποίες τρέχουν πάνω στο λειτουργικό TinyOS γράφονται στην γλωσσά προγραμματισμού nesc η οποία είναι μια διάλεκτος της γλωσσάς 1.5 Η γλώσσα προγραμματισμού nesc Η nesc2 σχεδιάστηκε ως προέκταση της γλώσσας C για την δημιουργία εφαρμογών, για την πλατφόρμα του TinyOS. Είναι component-based, eventdriven γλώσσα προγραμματισμού. Αυτό σημαίνει ότι τα προγράμματα αποτελούνται από components συνενωμένα μεταξύ τους, η διαδικασία με την οποία συνενώνονται τα components ονομάζεται wiring. Το δομικό στοιχείο της γλώσσας προγραμματισμού nesc είναι το component εξίσου σημαντικοί ορισμοί όμως είναι τα interfaces και το wiring. Component: Ένα component ( module ή configuraration) συγκεντρώνει τις ιδιότητες άλλων components (πχ timer, αισθητηρας, leds) σε μια δομική μονάδα που τις χρησιμοποιεί για να παράξει και να παρέχει καινούριες ιδιότητες οι οποίες μπορούν να χρησιμοποιηθούν από άλλα components. Interfaces: Ένα interface καθορίζει τον τρόπο αλληλεπίδρασης μεταξύ των components διότι στην ουσία η επικοινωνία μεταξύ των components ακολουθεί συγκεκριμένους κανονες. Modules/Configurarations: Ένα component μπορεί να είναι ένα module ή ένα configuraration. Component Module module ComponentNameC{ Configuraration configuraration ComponentNameAppC{ //signature //signature implementation{ implementation{ //implementation //implementation Network Embedded Systems C 2 6

17 1 Ασύρματα Δίκτυα Αισθητήρων Η υλοποίηση του module αποτελεί τον κώδικα της εφαρμογής (δήλωση μεταβλητών, υλοποίηση συναρτήσεων, κλήση συναρτήσεων) ενώ η υλοποίηση του configuraration αποτελεί το wiring της εφαρμογής όπου τα components συνενωνοται μεταξύ τους. Στο πεδίο signature δηλώνουμε τις σχέσεις του component με τα interfaces δηλαδή ποια interfaces χρησιμοποιεί και ποια παρέχει. Για το σκοπό αυτό χρησιμοποιείται η σύμβαση UserComponent.Interface -> ProviderComponent.Interface. To interface όπως παρατηρούμε είναι ο τρόπος επικοινωνίας μεταξύ των components και επίσης γίνεται αντιληπτό ότι ένα component χρησιμοποιεί κάποια interfaces και παρέχει κάποια άλλα. Η γλώσσα προγραμματισμού nesc ακολουθεί μια split-phase 3 λογική για να το πετύχει αυτό χρησιμοποιούνται τα commands και τα events. Commands: Κάθε component υλοποιεί κάποια commands τα οποία μπορεί να καλέσει ένα άλλο component μέσω του interface που συνδέει τα 2 components. Events: Αφού εκτελεστεί κάποιο command η εκτέλεσή του σηματοδοτείται από κάποιο event. Για την κατανόηση των ορισμών που δίνονται πιο πάνω θα επεξηγηθεί μια υποτυπώδης εφαρμογή γραμμένη σε nesc η οποία παρέχεται από το εκπαιδευτικό πακέτο του TinyOS. Το συγκεκριμένο πρόγραμμα αυξάνει ένα counter κατά 1 και τα 3 τελευταία bits του αριθμού απεικονίζονται στα leds της συσκευής TelosB Το TinyOS πρέπει να συμβαδίζει με τους περισσότερους αισθητήρες οι οποίοι έχουν split-phase 3 hardware έτσι υλοποιήθηκε ώστε και το software να είναι split-phase. 7

18 1 Ασύρματα Δίκτυα Αισθητήρων CounterToLedsApp.nc configuration CounterToLedsApp { implementation { Δήλωση των components components CounterToLeds,MainC,LedsC; χρησιμοποιούνται components new TimerMilliC() as Timer; //user.interface -> provider.interface Το interface CounterToLeds.Leds -> LedsC.Leds; χρησιμοποιεί CounterToLeds.Boot -> MainC.Boot; LedsC.Leds... CounterToLeds.Timer -> Timer; που CounterToLeds.Leds το interface CounterToLeds.nc module CounterToLeds { uses { interface Leds; interface Boot; interface Timer<TMilli>; implementation { uint8_t counter = 0; enum { PERIOD = 250, ; Δήλωση των interfaces χρησιμοποιούνται που Υλοποίηση δήλωση/αρχικοποίηση του counter Δήλωση σταθεράς PERIOD (περίοδος αύξησης του counter) event void Boot.booted() { call Timer.startPeriodic(PERIOD); Μόλις ξεκινήσει να λειτουργεί η συσκευή...καλούμε την εντολή εκκίνησης του timer (λειτουργία ανά περιόδους) event void Timer.fired() { counter++; call Leds.set(counter); Μόλις λήξει η περίοδος του timer αυξάνουμε τον counter εμφανίζουμε τον counter στα leds. Εδώ φαίνεται ξεκάθαρα η χρήση της split-phase λογικής διότι απο την στιγμή που εκτελέσαμε την εντολή call Timer.startPeriodic(PERIOD); περιμένουμε χωρίς ουσιαστικά να κάνει κάτι άλλο το πρόγραμμα μέχρι την στιγμή που θα εγερθεί το event void Timer.fired(). Αυτό είναι πολύ σημαντικό στοιχείο της γλώσσας nesc διότι με αυτό τον τρόπο επιτυγχάνεται η εξοικονόμηση σημαντικών πόρων του συστήματος και συνεπώς η εξοικονόμηση ενέργειας. 8

19 1 Ασύρματα Δίκτυα Αισθητήρων Tasks (διεργασίες): Οι δύο πιο πάνω συναρτήσεις commands και events είναι πάντα διεργασίες με ελάχιστο χρονικό κόστος, εκτελούν μικρές αλλά απόλυτα αναγκαίες διεργασίες. Τα υπόλοιπα υπολογιστικά κομμάτια μιας εφαρμογής που απαιτούν περισσότερο χρόνο εκτέλεσης υλοποιούνται με τα tasks τα οποία είναι λειτουργίες χαμηλότερης σημασίας για αυτό και καλούνται από commands ή events αλλά δεν εκτελούνται άμεσα από το λειτουργικό όσο υπάρχουν αλλά commands ή events να εκτελέσει. Όταν ένα task ξεκινήσει δεν μπορεί να σταματήσει από άλλο task ή σύγχρονο event (αν ένα task είναι αρκετά μεγάλο υπάρχει περίπτωση ο κόμβος να χάσει πακέτα από άλλους κόμβους στην διαδικασία εκτέλεσης του). Χρονοπρογραμματιστής: Είναι υπεύθυνος για την ομαλή λειτουργία των components έχει μια στοίβα στην οποία καταχωρεί tasks όταν καλούνται στο σύστημα γενικά ακολουθεί FIFO 4λογική και θεωρείται non-preemptive5, βέβαια αυτό δεν ισχύει εντελώς με βάση τα πιο πάνω, δηλαδή σε περίπτωση που έρθει ασύγχρονο event τότε το task διακόπτεται για να εκτελεστεί το event. Ο χρονοπρογραμματιστής θα δίνει στο επεξεργαστή tasks να εκτελέσει όσο υπάρχουν στην στοίβα όταν η στοίβα αδειάσει βάζει τον επεξεργαστή σε sleep mode. Τύποι δεδομένων: Signed Unsigned bits 16 int16_t uint16_t 8 int8_t uint8_t 32 int32_t uint32_t Table 1: nesc data types Επίσης μπορεί να χρησιμοποιηθεί και τύπος bool και όλοι οι τύποι δεδομένων της C6 FIFO first in first out: ο πρώτος που μπαίνει θα είναι και πρώτος που θα εξυπηρετηθεί. 4 Νon-preemptive : καμία διεργασία δεν διακόπτεται για να εκτελεσθεί άλλη. 5 Παρόλο που επιτρέπεται η χρήση τύπων δεδομένων της C, δεν συστήνεται διότι ο τύπος int σε 6 μια πλατφόρμα μπορεί να είναι 32 bits ενώ σε μια άλλη 16bits 9

20 1 Ασύρματα Δίκτυα Αισθητήρων Internal functions:όπως έχουμε αναφέρει η nesc είναι διάλεκτος της C άρα η σύνταξη και η χρήση όλων των δυνατοτήτων της C είναι δυνατή σε ένα nesc πρόγραμμα. Ας παρουμε για παραδειγμα τη δήλωση και χρήση συναρτήσεων της C. Τέτοιου είδους συναρτήσεις μπορούμε να χρησιμοποιήσουμε στο implementation του module με την ίδια σύνταξη. Όταν θέλουμε να καλέσουμε την συνάρτηση γίνεται με τον ίδιο τρόπο όπως στη C, δηλαδή απλά γράφοντας το όνομα της συνάρτησης (δεν ειναι το ιδιο με τις commands που χρειάζονται την λέξη call) και ότι παραμέτρους δέχεται. 1.6 Υλικό ενός WSN Picture 2: Crossbow TelosB platform Για να κατασκευάσουμε ένα ασύρματο δίκτυο αισθητήρων πρέπει να επιλέξουμε τις συσκευές των κόμβων σύμφωνα με τις απαιτήσεις της εφαρμογής που θα υλοποιήσουμε. Υπάρχει πληθώρα συσκευών που απευθύνονται σε διαφορετικό είδος εφαρμογών η κάθε μια. Η κύρια διαφορά μεταξύ των συσκευών-κόμβων είναι στο εύρος ζώνης και ως εκ τούτου στην ταχύτητα μετάδοσης των δεδομένων και στην κατανάλωση ενέργειας. Στα πλαίσια της διπλωματικής αυτής χρησιμοποιείται η συσκευή TelosB της εταιρίας Crossbow. Παρακάτω παρατίθεται ένας πίνακας των τεχνικών χαρακτηριστικών της συσκευής αυτής. 10

21 1 Ασύρματα Δίκτυα Αισθητήρων Picture 3: Block Diagram of a TelosB platform Specifications TelosB TPR2400CA Module Processor Performance 16-bit RISC Program Flash Memory 48K bytes Measurement Serial Flash 1024K bytes RAM 10K bytes Configuration EEPROM 16K bytes Serial Communications UART Analog to Digital Converter 12 bit ADC Digital to Analog Converter 12 bit DAC Other Interfaces Digital I/O,I2C,SPI Current Draw 1.8 ma ~ 5.1 μa RF Transceiver Frequency band 2400 MHz to MHz Transmit (TX) data rate 250 kbps RF power -24 dbm to 0 dbm Receive Sensitivity -90 dbm (min), -94 dbm (typ) Adjacent channel rejection 47 db Outdoor Range 75 m to 100 m Indoor Range 20 m to 30 m Current Draw 23 ma, 21 μa, 1 μa Electromechanical Battery 2X AA batteries User Interface USB Size 65 x 31 x 6 ( mm) Weight 23 gr Table 2: Πίνακας τεχνικών χαρακτηριστικών πλατφόρμας TelosB 11

22 1 Ασύρματα Δίκτυα Αισθητήρων Επικοινωνία με υπολογιστή Η επικοινωνία των telos με τον υπολογιστή επιτυγχάνεται μέσω μιας θύρας USB και συγκεκριμένα μέσω ενός FTDI7 chip. Η εταιρεία παρέχει και τα κατάλληλα drivers (για linux, windows, Macintosh, BSD, windows ce) στην ιστοσελίδα τους ( Σε περιβάλλον windows, μετά την εγκατάσταση των drivers μια συσκευή telos θα εμφανίζεται στα Windows ως μια COM port ή ως συσκευή /dev σε Linux, OSX, BSD. Άρα για να επικοινωνήσει ο υπολογιστής με την συσκευή αρκεί να χρησιμοποιήσει το port που ανάθεσε το λειτουργικό Windows στην συγκεκριμένη USB θύρα ή το όνομα του σχετιζόμενου με την συσκεύη file σε Linux, OSX, BSD.. Η συσκευή επικοινωνεί με τον υπολογιστής μεσο της USART1 του MSP430.(σε περιβάλλον Linux με την εντολή motelist το σύστημα παρουσιάζει ποιες συσκευές telos είναι συνδεδεμένες και που) Προγραμματισμός συσκευής Ο προγραμματισμός γίνεται μέσω της θύρας USB που βρίσκεται ενσωματωμένη στην συσκευή. Αυτό γίνεται με μια παραλλαγμένη έκδοση του MSP430 Bootstrap Loader, το msp430-bsl, το οποίο προγραμματίζει την flash του μικροελεγκτή. Το telos είναι εφοδιασμένο με προστασία από ψευδή resets που μπορει να προκύψουν κατά την διαδικασία προγραμματισμού. Επίσης το hardware περιμένει συγκεκριμένη σειρά χαρακτήρων για να ξεκινήσει την διαδικασία προγραμματισμού. Ο προγραμματισμός του κόμβου χρησιμοποιώντας το πρόγραμμα msp430-bsl γίνεται ως εξής: Έστω το πρόγραμμα είναι στο αρχείο app.ihex και στην COM3(ή /dev/ttyusb2 σε linux) χρησιμοποιώντας της πιο κάτω εντολή με τα συγκεκριμένα flags ξεκινάει η διαδικασία: FTDI Future Technology Devices International: Είναι μια εταιρεία που κατασκευάζει chips που 7 μετατρέπουν δεδομένα από USB σε RS232 σήματα (και το αντίστροφο). 12

23 1 Ασύρματα Δίκτυα Αισθητήρων >msp430-bsl TelosB c 2 -r e I p app.ihex MSP430 Bootstrap Loader Version: 1.39-telos-6 Mass Erase Transmit default password Invoking BSL Transmit default password Current bootstrap loader version: 1.61 (Device ID: f16c) Changing baudrate to Program 2742 bytes programmed Reset device Χρησιμοποιώντας TinyOS η διαδικασία εγκατάστασης κάποιου προγράμματος σε ένα κόμβο γίνεται πιο απλή χρησιμοποιώντας την εντολή make TelosB install,n (όπου n είναι ο 16-bit αριθμός, ταυτότητα του κόμβου). Σε επόμενη παραγραφο παρατιθενται πιο αναλυτικά αυτές οι διαδικασίες Yποδοχή επέκτασης Στο σύστημα του telos υπάρχουν δύο υποδοχές επέκτασης (U2 και U28) και δύο ζευγάρια jumpers που καθορίζουν την λειτουργία των pins. Οι υποδοχές επεκτάσεις χρησιμοποιούνται για να μπορούμε να προσθέτουμε επιπλέον περιφερειακές συσκευές, όπως αναλογικούς αισθητήρες, οθόνες, ψηφιακά περιφερειακά κτλ. Η U2 είναι μια 10-pin IDC header και η U28 είναι 6-pin header. Η U2 δεν διαφέρει μεταξύ telosa και TelosB, παρέχει ψηφιακές/αναλογικές εισόδους/εξόδους. Η U28 υπάρχει στην δεύτερη έκδοση του telos (TelosB) και παρέχει πρόσβαση στις συγκεκριμένες λειτουργίες της δεύτερης έκδοσης. Πιο κάτω αναφέρουμε τα pins και την λειτουργία τους: 13

24 1 Ασύρματα Δίκτυα Αισθητήρων Picture 4: Ακροδέκτες Επέκτασης συσκεύης TelosB-U2 U2 Pin 1 Ονομασία Analog Vcc (AVcc) UART8 Receive(UART0RX) Analog Input 0 (ADC0) UART Transmit(UART0TX) Analog Input 1 (ADC1) I2C9 Clock (I2C_SCL) Shared Digital I/O 4 (GIO4) Analog Input 2 (ADC2) Exclusive Digital I/O 1 (GIO1) I2C Data (I2C_SDA) Shared Digital I/O 5 (GIO5) Analog Ground (Gnd) Analog Input 3 (ADC3) Exclusive Digital I/O 0 (GIO0) Λειτουργία Τάση τροφοδοσίας που παρέχει το telos σε μια εξωτερική συσκευή (3V) Είσοδος της UART Η πρώτη (0) αναλογική είσοδος Έξοδος της UART Η δεύτερη (1) αναλογική είσοδος Το ρόλοι που χρειάζεται ο δίαυλος I2C για να συγχρονίσει την μεταφορά δεδομένων. Κοινή ψηφιακή (4) είσοδος/έξοδος Η τρίτη (2) αναλογική είσοδος Αποκλειστική Ψηφιακή (1) είσοδος/εξοδος Δεδομένα του διαύλου I2C Κοινή ψηφιακή (5) είσοδος/εξοδος Γείωση του συστήματος Η τέταρτη (3) αναλογική είσοδος Αποκλειστική ψηφιακή (0) είσοδος/εξοδος Table 3: Πίνακας Ακροδεκτών Επέκτασης TelosB-U28 UART universal asynchronous receiver/transmitter είναι Hardware το οποίο μετατρέπει 8 παράλληλα δεδομένα σε σειριακή μορφή. I2C inter integrated Circuit είναι ένας δίαυλος επικοινωνίας μεταξύ ηλεκτρονικών συσκευών 9 14

25 1 Ασύρματα Δίκτυα Αισθητήρων Τα pins 6, 7, 8 και 10 έχουν διπλή σημασία (όπως φαίνεται και στον πίνακα), δηλαδή για παράδειγμα ανάλογα με την εφαρμογή που καλείτε να υλοποιήσει το συγκεκριμένο telos μπορεί το pin 10 να είναι ή αναλογική είσοδος ή ψηφιακή I/O (Το συγκεκριμένο pin εάν θα χρησιμοποιηθεί για ψηφιακό I/O τότε θα πρέπει να αντικατασταθεί η αντίσταση R14 με μια άλλη μηδενική αντίσταση για να ενεργοποιηθεί η είσοδος στον μικροελεγκτή. Επίσης η R16 θα πρέπει να αντικατασταθεί με μηδενική αντίσταση για να ενεργοποιηθεί και η GIO1. Σε περίπτωση που ενεργοποιήθηκαν τα ψηφιακά GIO0 και GIO1 τότε εάν ο χρήστης αλλάξει Mode και προσπαθήσει να διαβάσει αναλογικές εισόδους τα αποτελέσματα δεν θα είναι σωστά.) Picture 5: Ακροδέκτες Επέκτασης συσκεύης TelosB-U28 U28 Pin Ονομασία Analog Input 6 (ADC0) DAC0 Analog Input 7 (ADC7) DAC 1 / SVS in Exclusive Digital I/O 2 (GIO2) Timer A Capture (TA1) Exclusive Digital I/O 3 (GIO3) External DMA trigger (DMAE0) User Interrupt (UserInt) Reset Λειτουργία Η πέμπτη (6) αναλογική είσοδος Αναλογική έξοδος Η έκτη (5) αναλογική είσοδος Αναλογική έξοδος / supply voltage supervisor Αποκλειστική ψηφιακη είσοδος/έξοδος Ρολόι Α Αποκλειστική ψηφιακή είσοδος/εξοδος Εξωτερικός έλεγχος του direct memory access Εξωτερικό interrupt Εξωτερικό reset Table 4: Πίνακας Ακροδεκτών Επέκτασης TelosB-U2 15

26 1 Ασύρματα Δίκτυα Αισθητήρων Επιπλέον παρέχεται ενας ξεχωριστός supply voltage supervisor στην θέση U7 και αποτελείται από 2-pins: Picture 6: Ακροδέκτες Επέκτασης συσκεύης TelosB-U7 Pin 1 1 Ονομασία Analog Input 7 (ADC7) DAC 1 /SVS In 2 SVS out U7 Λειτουργία Αναλογική είσοδος Αναλογική έξοδος / supply voltage supervisor είσοδος Supply voltage supervisor έξοδος. Table 5: Πίνακας Ακροδεκτών Επέκτασης TelosB-U7 16

27 2 Το Εκπαιδευτικό Πακέτο CITRIC Το εκπαιδευτικό πακέτο CITRIC 2 Στα πλαίσια αυτής της διπλωματικής εργασίας ασχοληθήκαμε με την ανάπτυξη εφαρμογής αναγνώρισης κίνησης για σύστημα ασυρμάτων έξυπνων καμερων. Η διπλωματική βασίζεται στο ερευνητικό πακέτο CITRIC_0.85 το οποίο είναι ένα πακέτο υλικού και λογισμικού που περιλαμβάνει σχεδόν ότι χρειαζόμαστε για την υλοποίηση τέτοιων εφαρμογών. 2.1 Περιγραφή Πακέτου Το εκπαιδευτικό πακέτο CITRIC έχει ως στόχο την παρουσίαση και εκμάθηση ενός συστήματος ασυρμάτου δικτύου αισθητήρων όπου οι αισθητήρες είναι έξυπνες κάμερες (αισθητήρες εικόνων). Το πακέτο αναπτύχθηκε στο πανεπιστήμιο του Berkeley στο τμήμα ηλεκτρολόγων μηχανικών και επιστήμης υπολογιστών 10. Picture 7: Tυπική αρχιτεκτονική ενος ασύρματου δικτύου αισθητήρων

28 2 Το Εκπαιδευτικό Πακέτο CITRIC Το κεντρικό στοιχείο του πακέτου αυτού είναι μια πλακέτα που ενσωματώνει μια κάμερα και ένα μικρουπολογιστικο σύστημα η οποία μπορεί να αναρτηθεί πάνω από οποιονδήποτε κόμβο ασυρμάτου δικτύου αισθητήρων για να δημιουργηθεί ένας κόμβος-καμερα (camera mote). Ο σχεδιασμός αυτός καθιστά δυνατή τη επεξεργασία των πληροφοριών που λαμβάνονται από την κάμερα μέσα στο δίκτυο πριν αυτές αρχίσουν να μεταδίδονται μεταξύ των κόμβων του δικτύου ούτως ώστε να μην επιβαρύνονται ο πόροι επικοινωνίας του δικτύου. Μέχρι τώρα τα δίκτυα καμερων διακινούσαν μεγάλο όγκο πληροφορίας και η επεξεργασία των εικόνων γινόταν αφού τα δεδομένα καταλήξουν όλα σε κάποιον υπολογιστή που κάνει την επεξεργασία αυτή. Με λίγα λόγια η ιδέα είναι να αποκεντρωθεί η διαδικασία της επεξεργασίας των πληροφοριών σε ένα τέτοιο δίκτυο και να διαμοιραστεί και μεταξύ των κόμβων του δικτύου και στο σημείο όπου λαμβάνονται οι πληροφορίες. Παρέχεται επίσης μια εφαρμογή γραμμένη σε γλώσσα προγραμματισμού C++ η οποία αποτελεί την διεπαφή μεταξύ του δικτύου και του υπολογιστή καθώς και την διεπαφή μεταξύ του υπολογιστή και του χρήστη. Επίσης παρέχονται ειδικές βιβλιοθήκες για την ανάπτυξη εφαρμογών στην γλώσσα προγραμματισμού C οι οποίες αξιοποιούν τις δυνατότητες του μικρουπολογιστικου συστήματος και της κάμερας καθώς και ο compiler ο οποίος είναι απαραίτητος για την δημιουργία περισσότερων τέτοιων εφαρμογών. 2.2 Τεχνικά Χαρακτηριστικά Η πλατφόρμα CITRIC αποτελείται από την πλακέτα με την κάμερα αναρτημένη πάνω σε ένα απλό κόμβο ενός WSN. Σε αυτό το σημείο πρέπει να αναφερθεί ότι το εκπεδευτικο πακέτο προτείνει την πλατφόρμα tmote sky, στην περίπτωση της διπλωματικής αυτής όμως χρησιμοποιείται η πλατφόρμα TelosB της Crossbow. Πάρα το γεγονός ότι έχουμε διαφορετική πλατφόρμα το σύστημα λειτουργεί κανονικά και στα πλαίσια που περιγράφουν οι κατασκευαστές, 18

29 2 Το Εκπαιδευτικό Πακέτο CITRIC γεγονός το οποίο επιβεβαιώνει τους ισχυρισμούς τους ότι η πλακέτα με την κάμερα μπορεί να αναρτηθεί πάνω από ένα τυχαίο, υφιστάμενο WSN Citric cameraboard Η πλακέτα με την κάμερα αποτελείται από την πλακέτα του επεξεργαστή (διαστάσεων 4.6*5.8 cm) και την αποσπωμενη ψηφιακή κάμερα (ή αισθητήρα εικόνας). Ο σχεδιασμός του cameraboard είναι τέτοιος ώστε να ελαχιστοποιεί το μέγεθος, την κατανάλωση ενέργειας καθώς και το κόστος κατασκευής. Picture 8: Citric cameraboard Χρησιμοποιήθηκε ο μικροεπεξεργαστής Intel PXA270 ο οποίος μπορεί να λειτουργήσει σε συχνότητα εως 624 MHz και διαθέτει 256 kb εσωτερικής στατικής μνήμης RAM καθώς και ένα βοηθητικό MMX επεξεργαστή κατάλληλο για εφαρμογές πολυμέσων. Το πλεονέκτημα του επεξεργαστή είναι ότι είναι μεταβλητής τάσης και συχνότητας λειτουργίας γεγονός που τον καθιστά πολύ οικονομικό από πλευράς κατανάλωσης ενεργείας και κατάλληλο για το πακέτο CITRIC. O επεξεργαστής συνδέεται σε μια εξωτερική μνήμη SDRAM μεγέθους 64 ΜB και σε μια 16ΜΒ εξωτερική μνήμη NOR Flash. Η RAM χρησιμοποιείται για 19

30 2 Το Εκπαιδευτικό Πακέτο CITRIC την αποθήκευση εικόνων κατά την διάρκεια της επεξεργασίας ενώ η Flash χρησιμοποιείται για την αποθήκευση κώδικα. Picture 9: Block Diagram of Citric cameraboard Για την τροφοδοσία χρησιμοποιείται το ολοκληρωμένο κύκλωμα διαχείρισης ισχύος NXP PCF Το cameraboard μπορεί να τροφοδοτείται από 4 ΑΑ μπαταρίες ή από μετασχηματιστή 5V ή από καλώδιο USB Citric mote Όταν συνδέσουμε το cameraboard πάνω από ένα mote (πχ TelosB) δημιουργούμε ένα Citric mote. Oι κόμβοι των WSNs χρησιμοποιούν το πρωτόκολλο IEEE που είναι γνωστό και ως ZigBee. Λόγω του χαμηλού εύρους ζώνης του πρωτοκόλλου αυτού, που είναι απαραίτητο για την χαμηλή κατανάλωση ενέργειας των WSN, έχει μεγάλη σημασία η επεξεργασία των δεδομένων(εικόνων) που λαμβάνονται από την κάμερα πριν αυτά μεταδοθούν μεσώ του δικτύου 20

31 2 Το Εκπαιδευτικό Πακέτο CITRIC Picture 10: Citric mote H κατανάλωση ενεργείας είναι σχετικά σταθερή ακόμα και όταν η τάση των μπαταριών αρχίσει να πέφτει με το πέρασμα του χρόνου. Υπολογίζεται ότι μπορούν να αντέξουν 16 ώρες συνεχούς λειτουργίας. 2.3 Υλοποίηση δικτύου Για να υλοποιήσουμε το δίκτυο πρέπει να εγκαταστήσουμε στις συσκευές TelosB τα παρεχόμενα από το πακέτο Citric προγράμματα τα οποία υλοποιήθηκαν σε γλώσσα προγραμματισμού nesc. Ο τρόπος με τον οποίο μπορούμε να εγκαταστήσουμε τα προγράμματα στις συσκευές παρατίθεται στην ενότητα Διαδικασία γρήγορης εγκατάστασης του περιβάλλοντος Citric. Από το πακέτο παρέχονται 2 προγράμματα το ένα εγκαθίσταται στις συσκευές που θα αποτελέσουν τους κόμβους του δικτύου και το άλλο στις συσκευές που θα αποτελέσουν τους σταθμούς βάσης του δικτύου. 21

32 2 Το Εκπαιδευτικό Πακέτο CITRIC Αξίζει να επισημάνουμε ότι τα προγράμματα αυτά παραβιάζουν μερικές βασικές αρχές της γλώσσας προγραμματισμού nesc. Ο λόγος που συμβαίνει αυτό είναι διότι η λογική του δικτύου έξυπνων καμέρων είναι διαφορετική από την λογική των δικτύων για τα οποία κατασκευάστηκε η γλώσσα nesc. Η διαφορά των 2 δικτύων έγκειται στο γεγονός ότι σε αντίθεση με τους αισθητήρες χαμηλού εύρους ζώνης (υγρασίας, φωτός, καπνού) οι οποίοι είναι αναλογικά κυκλώματα και παρέχουν μια συνεχή τιμή στους ακροδέκτες τους σαν αποτέλεσμα της μέτρησης που λαμβάνουν, οι κάμερες που χρησιμοποιήθηκαν στην εφαρμογή αυτή παρέχουν πληροφορία στο δίκτυο η οποία δεν είναι πάντα διαθέσιμη στην δικτυακή συσκευή TelosB. Με άλλα λόγια δεν αποφασίζει η συσκευή TelosB πότε θα στείλει ένα πακέτο στο δίκτυο αλλά ο επεξεργαστής που βρίσκεται στο cameraboard. Επίσης λόγω της περιορισμένης μνήμης των συσκευών TelosB υλοποιούνται κάποιες λογικές δομές ουρών στην μνήμη του cameraboard οι οποίες αποθηκεύουν τα υπο μετάδοση πακέτα. Λόγω της ύπαρξης των πιο πάνω ιδιαιτεροτήτων το πρόγραμμα λειτουργίας των συσκευών που αποτελούν τους κόμβους χρησιμοποιεί την μέθοδο του polling για να ακούει συνεχώς αν η κάμερα έχει κάποιο πακέτο προς μετάδοση. Η διαδικασία του polling είναι κάπως παράνομη σύμφωνα με την λογική της γλώσσας προγραμματισμού nesc διότι δεσμεύει πόρους του συστήματος, δεν ακολουθεί την split-phase λογική της γλώσσας, και έχει επίσης επιπτώσεις στην κατανάλωση ενέργειας. Όλα όσα αναφέρονται πιο πάνω δεν έχουν ιδιαίτερες επιπτώσεις στο πρόγραμμα του σταθμού βάσης διότι αυτό τροφοδοτείται από τον υπολογιστή στον οποίο βρίσκεται συνδεδεμένη η συσκευή Παρακάτω παρατίθεται μια ανάλυση του προγραματος που τρέχει στους κόμβους του δικτύου. 22

33 2 Το Εκπαιδευτικό Πακέτο CITRIC CitricMoteP.nc #include #include #include #include #include "printf.h" "AM.h" "Serial.h" "citric_packet.h" "TimeSyncMsg.h" #ifndef UART_WAIT_DELAY #define UART_WAIT_DELAY 100 #endif #ifdef NOPRINTF #define printf(...) #define printfflush() #endif module CITRICMoteP{ uses { /* App Interfaces */ interface Boot; interface Timer<TMilli> as WaitTimer; interface Leds; /* Radio Interfaces */ interface SplitControl as RadioControl; interface AMSend as RadioSend; interface Receive as RadioReceive; interface Packet as RadioPacket; interface AMPacket as RadioAMPacket; interface PacketLink as RadioLink; /* Serial interface interface interface interface interface (UART0) Interfaces */ SplitControl as SerialControl; AMSend as UartSend; Receive as UartReceive; Packet as UartPacket; AMPacket as UartAMPacket; Συμπεριληψη απαραίτητων βιβλιοθηκών Ορισμος σταθερας Delay Ορισμος συναρτησεων C Δήλωση των interfaces που χρησιμοποίει το Component CITRICmoteP. Interfaces που χρησιμοποιούνται ασυρματη μεταδοση πακέτων για την Interfaces που χρησιμοποιούνται για την μεταδοση πακέτων απο την καμερα προς το TelosB /* Shared Resource Arbitration Interfaces */ interface Resource as UartResource; /* MsgQueue Interfaces*/ interface Init as UartQueInit; interface MsgQueue as UartQue; implementation { message_t* message_t* message_t am_addr_t uint8_t Interfaces που χρησιμοποιούνται υλοποιηση λογικων ουρών. Υλοποίηση εφαρμογής g_radio_msg; g_msg_uart; g_msg_signal; g_radio_addr; g_radio_len; task task task task task void void void void void radiosendtask(); uartquery(); queryloop(); retransquery(); radiosend(); void void void void Start(); Init(); attatchtimesync(uint8_t* payload); PrintGlobalTime(); Δήλωση μεταβλητων Δήλωση συναρτησεων Δήλωση συναρτήσεων C void Init() { call UartQueInit.init(); Υλοποιηση internal συναρτησης Init() Εκτελεση command void Start() { Υλοποιηση internal συναρτησης Start() 23 για την

34 2 Το Εκπαιδευτικό Πακέτο CITRIC post uartquery(); Εκτελεση command event void Boot.booted(){ Init(); call RadioControl.start(); Event το οποιο σηματοδοτει οτι αναψε η συσκευη. Γινεται κλήση της internal συναρτησης init() και της εντολής ΡadioControl.start() event void RadioControl.startDone(error_t error) { if(error == SUCCESS) { call SerialControl.start(); else { call RadioControl.start(); Event το οποιο σηματοδοτεί την εκκινιση του Radio...σε περιπτωση λαθους επιμενουμε μεχρι να λειτουργησει αλλιως εκτελουμε το command για εκκινηση του serial (camera<->telosb) event void SerialControl.startDone(error_t error) { if(error == SUCCESS) { Start(); else { call SerialControl.start(); event void RadioControl.stopDone(error_t error) { Event το οποιο σηματοδοτεί την εκκινιση του Serial...σε περιπτωση λαθους επιμενουμε μεχρι να λειτουργησει αλλιως εκτελουμε την internal συναρτηση Start(); Event που σηματοδοτει το σβησιμο του Radio event void SerialControl.stopDone(error_t error) { Event που σηματοδοτει το σβησιμο του Serial event message_t *UartReceive.receive(message_t *msg, void *payload, uint8_t len) { uint8_t cb_type; Οταν λαβουμε πακέτο απο την camera call WaitTimer.stop(); cb_type = CBPKT_GET_TYPE(payload); if(cb_type == CB_TYPE_NOOUTGOING) { post uartquery(); else { g_radio_msg = msg; g_radio_len = call UartPacket.payloadLength(msg); g_radio_addr = call UartAMPacket.destination(msg); post radiosendtask(); call UartResource.release(); εξεταζουμε τι ειδους πακέτο ειναι αν δεν ειναι εξερχομενο πακετο βαζουμε το task uartquery στην ουρα του χρονοπρογραμματιστή αλλιως βαζουμε το task radiosendtask στην ουρα του χρονοπρογραμματιστή για να σταλεί το πακέτο Απελευθέρωση των πόρων της Uart return msg; task void uartquery() { g_msg_uart = call UartQue.Deque(); call UartResource.request(); Tο task uartquery αφαιρει ενα πακέτο απο την ουρα των εισερχομένων πακέτων και το προωθει για επεξεργασια event void UartResource.granted(){ post queryloop(); κλήση του task queryloop task void queryloop() { uint8_t len; am_addr_t addr, src; error_t err; uint8_t* payload; message_t* msg; task queryloop δήλωση απαραίτητων μεταβλητών 24

35 2 Το Εκπαιδευτικό Πακέτο CITRIC if(g_msg_uart!= NULL && call RadioAMPacket.type(g_msg_uart) == HANDLERID_CITRIC) { //normal outgoing packet len = call RadioPacket.payloadLength(g_msg_uart); addr = call RadioAMPacket.destination(g_msg_uart); src = call RadioAMPacket.source(g_msg_uart); msg = g_msg_uart; else { //if there's no incoming message, just send signal msg = &g_msg_signal; len = CBPKT_HEADER_LENGTH; addr = TOS_NODE_ID; src = TOS_NODE_ID; payload = call UartPacket.getPayload(msg, len); CBPKT_SET_TYPE(payload, CB_TYPE_NOINCOMING); CBPKT_SET_ACTUALSRCID(payload, TOS_NODE_ID); call UartAMPacket.setSource(msg, src); Αν υπάρχει πακέτο προς μετάδοση απο την κάμερα θετουμε τις καταλληλες τιμές στις μεταβλητές για να μεταδοθεί Αν δεν υπάρχει καποιο εισερχόμενο πακέτο (απο τον basestation) θετουμε τις καταλληλες τιμές στις μεταβλητές στην ουσια δεν γινεται τιποτα Στελνουμε το πακέτο στην UART err = call UartSend.send(addr, msg, len); if(err!= SUCCESS) { post queryloop(); else { call Leds.led2Toggle(); call WaitTimer.startOneShot(UART_WAIT_DELAY); Σε περιπτωση λαθους επαναλαμβανεται το task queryloop Αλλιως αναβοσβήνει το led2 κατα την αναμονη Event που σηματοδοτει η αποστολή πακετου event void UartSend.sendDone(message_t* msg, error_t error) { event void WaitTimer.fired() { printf("retrans\n"); printfflush(); post retransquery(); task void retransquery() { error_t err; uint8_t* payload; payload = call UartPacket.getPayload(&g_msg_signal, CBPKT_HEADER_LENGTH); CBPKT_SET_TYPE(payload, CB_TYPE_RETRANSREQ); Εαν δεν μεταδοθει το πακέτο σε ενα χρονικό διαστημα καλουμε το task retransquery task retransquery Αν υπάρξει προβλημα με την αποστολη του πακέτου επαναλαμβανεται το task retransquery μετα απο κάποιο χρονικό διάστημα err = call UartSend.send(0, &g_msg_signal, CBPKT_HEADER_LENGTH); if(err!= SUCCESS) { post retransquery(); else { call WaitTimer.startOneShot(UART_WAIT_DELAY); 25

36 2 Το Εκπαιδευτικό Πακέτο CITRIC task void radiosendtask() { call RadioLink.setRetries(g_radio_msg, 20); call RadioLink.setRetryDelay(g_radio_msg, 200); Οταν προκειται να στειλουμε ενα πακετο απο το radio προσπαθουμε καθε 200 ms για 20 φορες post radiosend(); task void radiosend() { error_t err; Αποστολή πακέτου απο το radio err = call RadioSend.send(g_radio_addr, g_radio_msg, g_radio_len); if (err == SUCCESS) { else { post radiosend(); event void RadioSend.sendDone(message_t* msg, error_t error){ if(msg == g_radio_msg) { call Leds.led0Toggle(); Σε περιπτωση επιτυχους αποστολής απο το radio αναβοσβήνει το led0 και επιστρεφουμε στο task uartquery post uartquery(); event message_t* RadioReceive.receive(message_t *msg, void *payload, uint8_t len){ if(call UartQue.isFull() == TRUE) return msg; else return call UartQue.Enque(msg); Σε περιπτωση παραλαβής πακέτου απο το radio (basestation) βαζουμε το πακέτο στην ουρα των εισερχομένων αν δεν υπαρχει χωρος... return msg; Στην ουσία το πρόγραμμα που τρέχει στον κάθε κόμβο του δικτύου υλοποιεί ενα network adapter ο οποίος περιμένει την κάμερα για εξερχόμενα πακέτα και την ενημερώνει για τυχών εισερχόμενα πακέτα. Κατι παρόμοιο υλοποιείται και για τον σταθμό βάσης. 26

37 2 Το Εκπαιδευτικό Πακέτο CITRIC 2.4 Έξυπνες καμερες...a smart camera is defined as a vision system which, in addition to image capture circuitry, is capable of extracting application-specific information from the captured images, along with generating event descriptions or making decisions that are used in an intelligent and automated system. [Belbachir11] Σύμφωνα με τον πιο πάνω ορισμό οι κάμερες που χρησιμοποιούμε μπορούν πράγματι να χαρακτηριστούν έξυπνες διότι πέρα από την ικανότητα τους να λαμβάνουν εικόνες μπορούν να εξάγουν πληροφορίες από αυτές. Τις πληροφορίες αυτές τις χρησιμοποιούν για να λάβουν κάποιες αποφάσεις σχετικά με την εφαρμογή την οποία υλοποιούν. Μερικές από τις πιο γνωστές εφαρμογές των έξυπνων καμερών είναι οι εξής : Βιομετρική αναγνώριση και έλεγχος πρόσβασης (πχ αναγνώριση ίριδας οφθαλμού) Μέτρηση γεωμετρικών διαστάσεων εξ'αποστασεως Αναγνώριση κωδικών (πχ barcodes, qr-codes) Καθοδήγηση ρομποτικών συσκευών Παρακολούθηση χώρων και εντοπισμός συμβάντων (εντοπισμός εισβολέων, φωτιάς, καπνού κλπ) Αναγνώριση και καταμέτρηση αντικειμένων Αναγνώριση κίνησης Όταν έχουμε ένα σύστημα έξυπνων καμερων που σχηματίζει ένα δίκτυο το όφελος από το γεγονός ότι οι κάμερες είναι έξυπνες είναι διπλό. Είναι το όφελος της εφαρμογής που μπορεί να υλοποιηθεί και επίσης είναι το γεγονός ότι μπορούμε, αντί να διακινούμε τις εικόνες μέχρι το σημείο που θα επεξεργαστούν και να επιβαρύνουμε με αυτό τον τρόπο το δίκτυο, να τις επεξεργαζόμαστε στο σημείο όπου λαμβάνονται και να διακινούμε μόνο την χρήσιμη πληροφορία που 11 Ahmed Nabil Belbachir-Smart Cameras 27

38 2 Το Εκπαιδευτικό Πακέτο CITRIC θα εξάγουμε από την επεξεργασία. Αυτή είναι η κεντρική ιδέα στην οποία βασίζεταί ο σχεδιασμός του πακέτου CITRIC. 2.5 Citric user interface Το πακέτο citric περιλαμβάνει επίσης κάποιο λογισμικό γραμμένο σε γλωσσά προγραμματισμού C++ το οποίο είναι η διεπαφή μεταξύ του δικτύου των καμερων όπως επίσης και η διεπαφή μεταξύ του υπολογιστή και του χρήστη. Το πρόγραμμα έχει την ονομασία citric_server και αναπτύχθηκε στο MS Visual Studio. Πρέπει να τονιστεί ότι το λογισμικό αυτό δεν αποτελεί κεντρικό σημείο επεξεργασίας των δεδομένων αλλά παρουσίασης των πληροφοριών. Η επεξεργασια των δεδομενων γινεται στους κομβους του δικτυου και συγκεκριμένα στον επεξεργαστη του cameraboard. Το λογισμικό αυτό διαχειρίζεται πακέτα επικοινωνίας μεταξύ των κόμβων, του υπολογιστή αλλά υποστηρίζει και την σύνδεση μέσω του διαδικτύου για κάποιον που θέλει να συνδεθεί. Γνωρίζει ανά πάσα στιγμή την κατάσταση των κόμβων και επίσης μας παρέχει την δυνατότητα να αλλάξουμε τις παραμέτρους των κόμβων. Στο ήδη υπάρχον λογισμικό μπορεί εύκολα να προστεθούν επιπλέον λειτουργίες επεκτείνοντας τον υφιστάμενο κώδικα. Ο server δέχεται τις πληροφορίες από το ασύρματο δίκτυο μέσω μιας σειριακής θύρας και διανεμει τις καταλληλες πληροφορίες στην καταλληλη εφαρμογη που τρεχει εκεινη την στιγμή. Στην περίπτωση που έχουμε σύνδεση στον server μέσω TCP/IP από κάποιο client τότε μπορούμε να μεταδώσουμε και πληροφορίες προς αυτόν. Το λογισμικό του server ακολουθεί μια δομή που αποτελείται από 3 μπλοκ όπως φαίνεται πιο κάτω [MOTE COMMUNICATION] <-> [TASK MANAGING] <-> [CLIENT COMMUNICATION ] κάθε μπλοκ επικοινωνεί αμφίδρομα με το γειτονικό του αλλά με χρήση διαφορετικού πρωτοκόλλου. 28

39 2 Το Εκπαιδευτικό Πακέτο CITRIC Για την επέκταση του κώδικα αυτού ώστε να μπορούμε να παρουσιάσουμε τις πληροφορίες που λαμβάνονται από μια καινούρια εφαρμογή του cameraboard αρκεί να αλλάξουμε τον κώδικα που βρίσκεται στα αρχεία Xmain.cpp, _UserTask.cpp και _UserTask.h. Παράδειγμα για την τροποποίηση αυτού του αρχείου δίνεται στην ενότητα 3.5 Παρουσίαση Αποτελεσμάτων όπου τροποποιείται ο κώδικας του αρχείου _UserTask.cpp για την παρουσίαση και αποθήκευση των δεδομένων 2 διαφορετικών εφαρμογών. 2.6 Εργαλεία ανάπτυξης λογισμικού Στο πακέτο περιλαμβάνονται κάποια εργαλεία που έχουν ως στόχο την διευκόλυνση του χρήστη στην ανάπτυξη εφαρμογών για το cameraboard. Τα εργαλεία αυτά είναι ο compiler arm-linux και κάποια matlab scripts. Επίσης περιλαμβάνονται κάποια header files και κάποιες έτοιμες συναρτήσεις στην γλώσσα προγραμματισμού C που χρειάζονται για την συγγραφή ενός προγράμματος που θα τρέχει στο cameraboard. Με χρήση των πιο πάνω εργαλείων η συγγραφή ενός προγράμματος γίνεται πολύ ευκολότερη παρά να προσπαθούσαμε να το κατασκευάσουμε από το μηδέν. Επίσης στο CD του πακέτου citric περιγράφεται η δομή των μεταδιδόμενων πακέτων. Στην επόμενη παράγραφο περιγράφεται αναλυτικά ο τρόπος με τον οποίο οργανώνουμε το περιβάλλον ανάπτυξης λογισμικού για τις κάμερες στα πλαίσια ενός οδηγού εκμάθησης των δυνατοτήτων του πακέτου CITRIC. 29

40 2 Το Εκπαιδευτικό Πακέτο CITRIC 2.7 Διαδικασία γρήγορης εγκατάστασης του περιβάλλοντος Citric Στην παράγραφο αυτή παρατίθεται ένας οδηγός γρήγορης εγκατάστασης του εκπαιδευτικού πακέτου CITRIC σε περιβάλλον του λειτουργικού συστήματος linux mint 9 και σύμφωνα με το πιο κάτω σχήμα. Picture 11: Diagram of Citric configuration Βήμα 1ο : Ετοιμασία του cameraboard Κατ' αρχήν πρέπει να προετοιμάσουμε το cameraboard ώστε να επικοινωνήσει με τον υπολογιστή μας καθώς και με το TelosB. Ένα citric-mote μπορεί να λειτουργήσει ειται λαμβάνοντας τροφοδοσία από το usb ή από μπαταρίες, αυτό καθορίζεται σύμφωνα με την θέση του διακόπτη στην πάνω αριστερή γωνιά του cameraboard. Στην εικόνα φαίνεται το cameraboard με τον διακόπτη σε θέση για να λαμβάνει τροφοδοσία από το usb. Για να εκκινήσουμε το cameraboard πατάμε το λευκό κουμπί που φαίνεται στην φωτογραφία με την ένδειξη power-on. 30

41 2 Το Εκπαιδευτικό Πακέτο CITRIC Picture 12: Citric mote Από την στιγμή που συνδέεται στον υπολογιστή το cameraboard αναγνωρίζεται σαν συσκευή usb. Στο λειτουργικό σύστημα linux ανάλογα με το πόσες usb συσκευές είναι συνδεδεμένες στον υπολογιστή θα αναγνωριστεί σαν /dev/ttyusbn ( όπου n-1 o αριθμός των usb συσκευών που ήταν από πριν συνδεδεμένες στον υπολογιστή, ξεκινώντας το μέτρημα από το 0! ). Αν δεν υπάρχει καμιά συνδεδεμένη συσκευή usb τότε το cameraboard θα αναγνωρίζεται ως /dev/ttyusb0. Η πληροφορία αυτη θα χρειαστεί κατά την ετοιμασία του προγράμματος minicom το οποίο χρησιμοποιείται για την επικοινωνία του cameraboard με τον υπολογιστή μας. Για την σειριακή επικοινωνία του cameraboard με τον υπολογιστή χρειαζόμαστε το πρόγραμμα minicom. Για την εγκατάσταση του προγραμματος στον υπολογιστη αρκεί να δώσουμε την εντολή sudo apt-get install minicom στο terminal. minicom Αφού εγκατασταθεί το πρόγραμμα με την εντολή -s θα εμφανιστεί η πιο κάτω οθόνη και τότε μπορούμε να καθορίσουμε τις παραμέτρους λειτουργίας του προγράμματος. 31

42 2 Το Εκπαιδευτικό Πακέτο CITRIC [configuration] Filenames and paths File transfer protocols Serial port setup Modem and dialing Screen and keyboard Save setup as dfl Save setup as.. Exit Exit from Minicom Επιλέγουμε το serial port setup και αλλάζουμε τις ρυθμίσεις σύμφωνα με την πιο κάτω εικόνα A Serial Device : /dev/ttyusb0 B - Lockfile Location : /var/lock C Callin Program : D - Callout Program : E Bps/Par/Bits : N1 F - Hardware Flow Control : No G - Software Flow Control : No Change which setting? Επίσης πρέπει να σιγουρευτούμε ότι έχουμε εγκατεστημένο στον υπολογιστή μας το zmodem protocol το οποίο χρησιμοποιείται για την αποστολή και λήψη δεδομένων από και προς το cameraboard. Αν δεν είναι εγκατεστημένο δίνουμε στο terminal την εντολή sudo apt-get install lrzsz Βήμα 2ο: Ετοιμασία του κόμβου Ακολούθως προγραμματίζουμε την συσκευή TelosB σαν κόμβο του δικτύου υποθέτοντας ότι το περιβάλλον TinyOS 2.x είναι επιτυχώς εγκατεστημένο στον υπολογιστή μας. Αντιγράφουμε το φάκελο CITRIC_0.85 που βρίσκεται στο CD στο home directory του υπολογιστή μας. Δημιουργούμε στο home directory του υπολογιστή μας ένα αρχείο με όνομα.bash_citric με χρήση του pico ή του nano (πχ pico.bash_citric στο terminal). Στο αρχείο γράφουμε τις εξής γραμμές 32

43 2 Το Εκπαιδευτικό Πακέτο CITRIC export CITRICROOT=$HOME/CITRIC_0.8 export PATH=$PATH:$CITRICROOT/tools/arm-linux/bin Ακολούθως με χρήση του nano ή του pico προσθέτουμε τις πιο κάτω γραμμές στο αρχείο.bashrc if [ -f ~/.bash_citric ]; then. ~/.bash_citric fi Φορτώνουμε το πρόγραμμα στο TelosB ως εξής : Βάζουμε το TelosB σε μια θυρα usb του υπολογιστή μας και σε ένα terminal γράφουμε την εντολή motelist, θα πρέπει να δούμε στην οθόνη μας το serial number της συσκευής. Μετακινούμαστε στο αρχείο ~/CITRIC_0.85/tos/apps/citric/citric_mote και δίνουμε την εντολή make TelosB. Αν όλα γίνουν σωστά ακολούθως εγκαθιστούμε το πρόγραμμα στο TelosB με την εντολή make TelosB install,n όπου n είναι ένας αριθμός από το 1 εως το 254 και παριστά τον αριθμό του κόμβου που επιθυμούμε! Βήμα 3ο : Το πρόγραμμα του cameraboard Στον φάκελο /CITRIC_0.85/tools θα βρούμε το συμπιεσμένο αρχείο arm-linux.tgz. Αποσυμπιέζουμε το αρχείο αυτό ειται με δεξί κλικ extract here ή με την εντολή tar -zxvf arm-linux.tgz στο terminal. Στο πακέτο υπάρχουν 2 demo εφαρμογές και βρίσκονται στο directory ~/CITRIC_0.85/citric/apps/. Επιλέγουμε την εφαρμογή demo_bgsub και την κάνουμε compile. Αυτό μπορεί να γίνει απευθείας από το terminal γράφοντας την εντολή cd ~/CITRIC_0.85/citric/apps/demo_bgsub για να μετακινηθούμε στο directory της εφαρμογής και ακολούθως την εντολή 33

44 2 Το Εκπαιδευτικό Πακέτο CITRIC make η οποία θα κάνει compile την εφαρμογή σύμφωνα με το makefile αρχείο στο directory. Βήμα 4ο : Φόρτωση προγράμματος στο cameraboard Μπορούμε να φορτώσουμε το δοκιμαστικό πρόγραμμα στο cameraboard με χρήση του minicom Στο terminal γράφουμε την εντολή minicom για να εκκινήσουμε το minicom, ακολούθως πατάμε ctrl-a και μετα z. Θα παρουσιαστεί η πιο κάτω οθόνη Minicom Command Summary Commands can be called by CTRL-A <key> Main Functions Other Functions Dialing directory..d run script (Go)...G Clear Screen...C Send files...s Receive files...r configure Minicom..O comm Parameters...P Add linefeed...a Suspend minicom...j Capture on/off...l Hangup...H exit and reset...x send break...f initialize Modem...M Quit with no reset.q Terminal settings..t run Kermit...K Cursor key mode...i linewrap on/off...w local Echo on/off..e Help screen...z Paste file...y scroll Back...B Select function or press Enter for none. Written by Miquel van Smoorenburg Some additions by Jukka Lahtinen i18n by Arnaldo Carvalho de Melo Στην πιο πάνω οθόνη επιλέγουμε το S για αποστολή αρχείου προς το cameraboard. Ακολούθως εμφανίζεται το μενού επιλογής πρωτοκόλλου. Επιλέγουμε το zmodem και πατάμε enter. +-[Upload]--+ zmodem ymodem xmodem kermit ascii Επιλογή αρχείου για αποστολή σύμφωνα με την πιο κάτω οθόνη. Το πρόγραμμα minicom χρησιμοποιεί διεπαφή κειμένου και έχει την εξής 34

45 2 Το Εκπαιδευτικό Πακέτο CITRIC ιδιαιτερότητα: πατάμε 2 φορες το spacebar για την είσοδο σε directory και 1 φορά για την επιλογή αρχείου προς αποστολή. Με χρήση της πιο πάνω τακτικής πάμε στο directory ~/CITRIC_0.85/citric/apps/demo_bgsub και επιλέγουμε το εκτελέσιμο demo_bgsub [Select one or more files for upload] Directory: /home/jaein [CITRIC_0.85] [Desktop] [Documents] [Downloads] [Examples] [Music] [PDF] ( Escape to exit, Space to tag ) Αφού επιλέξουμε το αρχείο demo_bgsub, το minicom το μεταδίδει στο cameraboard Βήμα 5ο : Εκτέλεση προγράμματος στο cameraboard Όταν τελειώσει η μεταφορά του αρχείου επιστρέφουμε πίσω στο terminal του minicom, στην ουσία αυτό είναι το terminal που τρέχει στο λειτουργικό του cameraboard και όχι στον υπολογιστή μας! Πατωντας την εντολή ls κανονικά θα πρέπει να εμφανίζεται το αρχείο demo_bgsub στο τρέχων directory το οποίο είναι το /tmp. Δίνοντας την εντολή ch αποκτούμε δικαιώματα εκτέλεσης εφαρμογής. Ακολούθως εκτελούμε την εφαρμογή δίνοντας την εντολή./demo_bgsub και παρατηρούμε το αντίστοιχο αποτέλεσμα στο terminal. frame frame frame frame frame frame Αν κινήσουμε παρατηρήσουμε ένα αντικείμενο 35 μπροστά από την camera θα

46 2 Το Εκπαιδευτικό Πακέτο CITRIC frame frame blob size = 2204, x blob size = 9687, x writing im0534.jpg frame , y 315, y Παρατηρούμε δηλαδή ότι το πρόγραμμα εντοπίζει αλλαγή στη εικόνα! Βήμα 6ο : Ετοιμασία του κόμβου-βαση Ο κόμβος-βαση λαμβάνει μηνύματα από τους άλλους κόμβους του δικτύου και είναι συνδεδεμένος με τον υπολογιστή. Το πρόγραμμα για τον κόμβο-βαση βρίσκεται στο directory ~/CITRIC_0.85/tos/apps/citric/citric_base, όταν πάμε σε αυτό το directory μεσώ του terminal πατάμε την εντολή make εφόσον όλα πάνε καλά πατάμε την εντολή make TelosB install,0 όπου το 0 δηλώνει την ταυτότητα του κόμβου βάσης. Βήμα 7ο-8ο : Εκκίνηση της διεπαφής citric_server Η τρέχουσα έκδοση του server έχει ενσωματωμένη στον κώδικα την θύρα /dev/ttyusb0 από την οποία λαμβάνει τα δεδομένα ( όπου είναι συνδεδεμένος ο κόμβος-βαση ). Για να αλλάξουμε την θύρα αυτή, στην περίπτωση που ο κόμβοςβαση βρίσκεται σε διαφορετική διεύθυνση, ανοίγουμε με ένα text editor το αρχείο /CITRIC_0.85/server/HSN/C-Server/_MoteComm.cpp και θα δούμε σε κάποιο σημείο τα εξής: #ifdef linux char MCOMM_PORT[100] = "/dev/ttyusb0"; #else char MCOMM_PORT[100] = "COM9"; #endif Αντικαθιστούμε το /dev/ttyusb0 με την επιθυμητή θύρα (πχ /dev/ttyusb1) που θα βρούμε τρέχοντας την εντολή motelist σε ένα terminal. Εναλλακτικά... μπορούμε από την αρχή να φροντίσουμε ότι ο κόμβος βάση βρίσκεται συνδεδεμένος στην θύρα /dev/ttyusb0! 36

47 2 Το Εκπαιδευτικό Πακέτο CITRIC Αφου σιγουρευτούμε για τα πιο πάνω πάμε στο αρχείο /CITRIC_0.85/server/HSN μέσω του terminal και δίνουμε την εντολή make για να κάνουμε compile ton server. Όταν δημιουργηθεί το εκτελέσιμο πατάμε δεξί κλικ πάνω του properties και στην καρτέλα permissions επιλέγουμε Allow executing file as program. Από το terminal μετά και εφόσον βρισκόμαστε πάντα στο directory /CITRIC_0.85/server/HSN δίνουμε την εντολή./citric_server για να εκτελέσουμε το πρόγραμμα. MAIN MENU [ 1] Mote Selection [ 2] Display Packets [ 3] Log Packets [ 4] Send Packet [ 5] Display Status [ 6] RUN DEMO - BOUNDING BOXES [ 0] EXIT Στο σημείο αυτό αξίζει να αναφερθεί η λειτουργία του προγράμματος citric_server σύμφωνα με την πιο πάνω οθόνη [1]Mote Selection : Χρησιμοποιείται για επιλογή των κόμβων που πρόκειται να λάβουν κάποιο μύνημα που θα μεταδοθεί [2]Display Packets : Χρησιμοποιείται για την παρουσίαση των πακέτων που λαμβάνονται από τους κόμβους του δικτύου. [3]Log Packets : Χρησιμοποιείται για την αποθήκευση των πακέτων που λαμβάνονται από τους κόμβους του δικτύου. [4]Send Packet : Παρέχει την δυνατότητα αποστολής κάποιου πακέτου προς τους κόμβους που επιλέγουμε απο την επιλογή 1 του menu. [5]Display Status : Παρουσίαση κατάστασης των ενεργών κόμβων του δικτύου [6]RUN DEMO - BOUNDING BOXES : Η επιλογή αυτή παρεχει την δυνατότητα στον χρήστη να παρατηρήσει τις πληροφορίες που λαμβάνει ο σταθμός-βασής απο τις διάφορες εφαρμογές που τρέχουν στους κόμβους του δικτύου. Η 37

48 2 Το Εκπαιδευτικό Πακέτο CITRIC λειτουργία της επιλογής αυτής εξαρτάται απο τον κώδικα που βρίσκεται στο αρχείο _UserTask.cpp. Παρέχεται η δυνατότητα σε οποιονδήποτε προσπαθεί να αναπτύξει κάποια εφαρμογή να τροποποιήσει το αρχείο αυτό χωρίς να επηρεάσει τις υπόλοιπες λειτουργίες του προγράμματος citric_server. 38

49 3 Εφαρμογές Εφαρμογές 3 Στα πλαίσια της διπλωματικής αυτής αναπτύξαμε μια εφαρμογή αναγνώρισης κίνησης η οποία τρέχει στον επεξεργαστή του cameraboard και χρησιμοποιεί τα παρεχόμενα API 12 από το πακέτο citric. Η εφαρμογή αυτή παρακολουθεί το περιβάλλον κοντά στην κάμερα και στην περίπτωση ανίχνευσης κίνησης στέλνει στον κόμβο βάσης φωτογραφίες μέχρι η κίνηση να σταματήσει. Σημειώνεται ότι ακολουθώντας την διαδικασία που περιγράφεται στο προηγούμενο κεφάλαιο μπορούμε να φορτώσουμε την εφαρμογή αυτή στις κάμερες του δικτύου και να την τρέξουμε στο ίδιο δίκτυο. 3.1 Αναγνώριση Κίνησης Υπάρχει πληθώρα αλγορίθμων αναγνώρισης κίνησης οι οποίοι κατηγοριοποιούνται σύμφωνα με τις απαιτήσεις του προβλήματος. Παρακάτω θα αναλύσουμε 2 από τις πιο γνωστές προσεγγίσεις του προβλήματος της αναγνώρισης κίνησης με χρήση ενός αισθητήρα εικόνων Frame Differencing Motion Detection Μια από τις πιο γνωστές προσεγγίσεις είναι η σύγκριση του κάθε τρέχοντος frame με το προηγούμενο. Είναι μια χρήσιμη προσέγγιση για την περίπτωση που θέλουμε να αναγνωρίσουμε την ύπαρξη κίνησης αλλά να μην μεταδώσουμε την εικόνα και απλώς να ειδοποιήσουμε τον χρήστη ότι υπήρξε κίνηση. Η βασική ιδέα του αλγορίθμου αυτού είναι η αποθήκευση των pixels του τρέχοντος frame και του προηγούμενου frame σε 2 αντίστοιχους μονοδιάστατους πίνακες. Συγκρίνουμε το κάθε στοιχείο των 2 πινάκων και σχηματίζουμε ένα 3ο πινάκα ο οποίος αποτελεί την διαφορά των 2 προηγούμενων. Αν βλέπαμε αυτό τον πίνακα σαν εικόνα θα παρατηρούσαμε μια εικόνα με μαύρο φόντο και λευκά pixel στα σημεία που εντοπίστηκε διαφορά. 12 Application Programming Interface 39

50 3 Εφαρμογές Είναι εύκολο τώρα να μετρήσουμε τα pixel που διαφέρουν μεταξύ των 2 frames και αν ο αριθμός τους ξεπερνά κάποιο όριο να ενεργοποιήσουμε κάποιον συναγερμό ή να αποθηκεύσουμε το τρέχων frame. Είναι δυνατή η χρήση φίλτρων τα οποία διαχωρίζουν την πραγματική κίνηση από θόρυβο ο οποίος εντοπίζεται μεταξύ 2 frames. Picture 13: Simple Motion Detection Στην πιο πάνω εικόνα παρατηρούμε το αποτέλεσμα του αλγορίθμου που περιγράφεται στην παράγραφο αυτή. Παρατηρείται το γεγονός ότι αν το κινούμενο αντικείμενο κινείται πολύ αργά δεν εντοπίζεται μεγάλη διαφορά μεταξύ των 2 frames και γιαυτό βλέπουμε μόνο μικρά κομμάτια κόκκινων pixel, υπάρχει ακόμη και η απομακρυσμένη περίπτωση όπου όταν το αντικείμενο κινείται πάρα πολύ αργά δεν εντοπίζεται καθόλου διαφορά αφού ο αριθμός των pixel που αλλάζουν μεταξύ των frames είναι πάντα κάτω από το όριο ενεργοποίησης του συναγερμού. 40

51 3 Εφαρμογές Ο αλγόριθμος πιο αναλυτικά είναι ο εξής 1. Λήψη του 1ου frame 2. Αποθήκευση του 1ου frame 3. επανέλαβε για πάντα Λήψη νέου frame Αποθήκευση του νέου frame σαν τρέχων frame Σύγκριση του τρέχοντος frame με το προηγούμενο frame Αν η διαφορά είναι πάνω από το όριο σήμανε συναγερμό και επέστρεψε στο 3 Αν δεν εντοπιστεί διαφορά θέσε το 2ο frame σαν 1ο και επέστρεψε στο Background Subtraction Motion Detection Μια άλλη προσέγγιση είναι να συγκρίνουμε το κάθε τρέχων frame με ένα αρχικό frame που αποτελεί ορισμό του φόντου. Αν δεν υπάρχει κανένα αντικείμενο στο αρχικό frame τότε η σύγκριση του με το τρέχων frame θα αποφέρει τον πλήρη εντοπισμό του κινούμενου αντικειμένου ανεξάρτητα της ταχύτητας με την οποία κινείται. Η προσέγγιση όμως αυτή έχει ένα μεγάλο μειονέκτημα που είναι μάλλον και προφανές: Τι θα συμβεί εάν μεταβληθεί το φόντο με κάποιο τρόπο και εμείς ακόμα συγκρίνουμε το τρέχων frame με το αρχικό; Θα εντοπίζουμε συνεχεία κίνηση! Υπάρχει όμως μια σχετικά καλή λύση για τον αλγόριθμο αυτό η οποία λέει ότι ανά τακτά χρονικά διαστήματα μεταβάλλουμε την εικόνα που αποτελεί ορισμό του φόντου σύμφωνα με το τρέχων frame, δηλαδή αντικαθιστούμε κάποια pixel της εικόνας φόντου με τα αντίστοιχα pixels του τρέχοντος frame. Με την τακτική αυτή ενημερώνουμε κλιμακωτά την εικόνα που αποτελεί τον ορισμό του φόντου έτσι ώστε αν έχει αλλάξει κάτι στο πραγματικό φόντο να σταματήσει κάποτε ο αλγόριθμος να θεωρεί ότι εντοπίζει κίνηση. Παρόλα αυτά μηχανισμός σύγκρισης των 2 εικόνων του αλγορίθμου αυτού είναι ο ίδιος με του προηγούμενου. 41

52 3 Εφαρμογές Picture 14: Motion Detection by Backround Subtraction Στην εικόνα βλέπουμε το αποτέλεσμα του αλγορίθμου εντοπισμού κίνησης μέσω αφαίρεσης του φόντου το αποτέλεσμα είναι σαφώς καλύτερο απο την απλή εφαρμογή. Ο αλγόριθμος πιο αναλυτικά είναι ο εξής 1. Λήψη του 1ου frame 2. Αποθήκευση του 1ου frame σαν ορισμός φόντου 3. επανέλαβε για πάντα Λήψη νέου frame Αποθήκευση του νέου frame σαν τρέχων frame Σύγκριση του τρέχοντος frame με το frame φόντου. Αν η διαφορά είναι πάνω από το όριο σήμανε συναγερμό και επέστρεψε στο 3 Αν δεν εντοπιστεί διαφορά ανανέωσε το frame φόντου και επέστρεψε στο 3 42

53 3 Εφαρμογές N-queens-based Algorithm for Motion Detection - Μια ενδιαφέρουσα προσέγγιση Στην δημοσίευση του Srinivasa Rao Angajala Moving Object Detection Algorithm in Distributed Wireless Sensor Networks περιγράφεται ενας αλγοριθμος αναγνωρισης κινησης που εχει ως στοχο την μειωση της κατανάλωσης ενεργειας σε ενα δικτυο εξυπνων καμερων. Ο αλγόριθμος είναι ειδικός για αναγνώριση εισβολέα στον παρακολουθούμενο χώρο και είναι εμπνευσμένος από το γνωστό πρόβλημα N-Queens. Το πρόβλημα των Ν-Queens: Πάνω σε ταμπλό σκακιού διαστάσεων NxN πρέπει να τοποθετηθούν Ν βασίλισσες με τρόπο κατά τον οποίο να μην μπορεί να επιτεθεί καμιά βασίλισσα προς καμιά άλλη με μια κίνηση! Δηλαδή δεν πρέπει να υπάρχουν 2(ή περισσότερες) βασίλισσες σε καμιά από τις οριζόντιες, κάθετες ή οριζόντιες γραμμές του ταμπλό. Ο αλγόριθμος δεν λύνει το πρόβλημα που περιγράφηκε αλλά χρησιμοποιεί μια ή περισσότερες πιθανές λύσεις του προβλήματος. Στην πιο κάτω εικόνα φαίνεται μια πιθανή λύση του προβλήματος. Picture 15: N-Queens problem solution 43

Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN

Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN Σημεία παρουσίασης 1. Ασύρματα Δίκτυα 2. TinyOS 3. nesc 4. Εφαρμογή (Παρατήρηση υγρασίας) 1. Ασύρματα δίκτυα αισθητήρων 1. Ασύρματα δίκτυα αισθητήρων Ορισμός «Ένα

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

WIRELESS SENSOR NETWORKS (WSN)

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

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

Εφαρμογές Σειριακής Επικοινωνίας

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

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

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

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) Περιγραφή της Άσκησης Ο σκοπός της πρώτης άσκησης είναι κυρίως η εξοικείωση με το περιβάλλον προγραμματισμού του Arduino, γι αυτό και δεν είναι ιδιαίτερα σύνθετη. Αρχικά, θα

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

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε ένα αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων. Εκτός από τον μικροελεγκτή Arduino, το breadboard,

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

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές Εισαγωγή στο Arduino Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Τι είναι Μικροελεγκτής; Ηλεκτρονική συσκευή που διαχειρίζεται ηλεκτρονικά

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

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

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

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΘΕΜΑ : ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΔΙΑΡΚΕΙΑ:? περίοδος Οι μικροελεγκτές είναι υπολογιστές χωρίς περιφερειακά, σε ολοκληρωμένα κυκλώματα. Μπορούν να συνδυάσουν αρκετές από τις βασικές λειτουργίες άλλων ειδικών

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

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

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

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

WDT και Power Up timer

WDT και Power Up timer Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ PIC O μικροελεγκτής PIC κατασκευάζεται από την εταιρεία Microchip. Περιλαμβάνει τις τρεις βασικές κατηγορίες ως προς το εύρος του δίαυλου δεδομένων (Data Bus): 8 bit (σειρές PIC10, PIC12,

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

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

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino UNO Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O

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

Εγκατάσταση του Arduino IDE

Εγκατάσταση του Arduino IDE ΑΣΠΑΙΤΕ Συλλογή και Επεξεργασία Δεδομένων Εργαστήριο ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), για το προγραμματισμό του Arduino. Χρησιμοποιώντας το

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

Το κύκλωμα σε breadboard

Το κύκλωμα σε breadboard Φύλλο εργασίας 8 - Ανιχνευτής απόστασης Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε έναν ανιχνευτή απόστασης. Θα χρησιμοποιήσουμε τον αισθητήρα υπερήχων (ή απόστασης) HC-SR04 για τον υπολογισμό της απόστασης.

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

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Μάθημα: Ρομποτική Αντικείμενο : Μεταφορά δεδομένων μέσω του πρωτοκόλλου RS232

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

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

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΟΙΚΟΝOΜΟΥ ΧΑΡΗΣ (6424) ΦΩΚΟΣ ΝΙΚΟΛΑΟΣ(6592) ΚΑΜΒΥΣΗΣ ΝΙΚΟΛΑΟΣ(7178) 2013-2014 ΠΕΡΙΕΧΟΜΕΝΑ Σκοπός της εργασίας Ανάλυση Arduino Uno Δημιουργία πληροφορίας Αποστολή και

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

Ενσωµατωµένα Συστήµατα

Ενσωµατωµένα Συστήµατα Ενσωµατωµένα Συστήµατα για εφαρµογές πραγµατικού χρόνου Μικροελεγκτής Arduino Ιωάννης Καλόµοιρος Αναπληρωτής Καθηγητής Τµήµα Μηχανικών Πληροφορικής Μάθηµα 7ο Τι είναι το Arduino... Ένα open-hardware σύστηµα

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

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ Οδηγίες Παραμετροποίησης Power Electronics Control Ε.Π.Ε. Τύποι Συσκευών: LFT169 - LFR169 Περιγραφή: Πομπός και Δέκτης Τηλεχειρισμού 169MHz

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

Γνωριμία με το Arduino

Γνωριμία με το Arduino Γνωριμία με το Arduino Τι είναι το Arduino; Το arduino είναι ένας μικρός υπολογιστής σε μέγεθος παλάμης που περιλαμβάνει ένα μικροελεγκτή (για εκτέλεση εντολών) και ένα σύνολο εισόδων/εξόδων για επικοινωνία

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

Υλοποίηση Τεχνολογιών έξυπνων σπιτιών

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

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

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

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

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

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

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

Οδηγίες εγκατάστασης και χρήσης του Quartus

Οδηγίες εγκατάστασης και χρήσης του Quartus Εγκατάσταση του Quartus Οδηγίες εγκατάστασης και χρήσης του Quartus Δημήτρης Μαγγίρας, Γιώργος Δημητρακόπουλος 1. Κατεβάζουμε την έκδοση 13.0SP1 από εδώ ακολουθώντας τις οδηγίες που φαίνονται στην εικόνα.

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

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

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ Σκοπός της άσκησης Οι φοιτητές θα εξοικειωθούν με την πλακέτα του μικροελεγκτή και θα αναγνωρίσουν τα βασικά της στοιχεία. Επίσης θα εξοικειωθούν

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο

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

Βασικές οδηγίες εγκατάστασης και χρήσης. Σύστημα περιπολίας GMS Αισθητήρας ανάγνωσης επιτρεπόμενη απόσταση από το σημείο ελέγχου 3-5cm.

Βασικές οδηγίες εγκατάστασης και χρήσης. Σύστημα περιπολίας GMS Αισθητήρας ανάγνωσης επιτρεπόμενη απόσταση από το σημείο ελέγχου 3-5cm. Βασικές οδηγίες εγκατάστασης και χρήσης Σύστημα περιπολίας GMS-3000 1. Αισθητήρας ανάγνωσης επιτρεπόμενη απόσταση από το σημείο ελέγχου 3-5cm. 1. Το ενδεικτικό αναβοσβήνει 3 φορές σε περίπτωση επιτυχούς

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

Οδηγός χρήσης AE6000. Ασύρματος προσαρμογέας Mini USB AC580 Dual Band

Οδηγός χρήσης AE6000. Ασύρματος προσαρμογέας Mini USB AC580 Dual Band Οδηγός χρήσης AE6000 Ασύρματος προσαρμογέας Mini USB AC580 Dual Band a Περιεχόμενα Επισκόπηση προϊόντος Χαρακτηριστικά 1 Εγκατάσταση Εγκατάσταση 2 Ρύθμιση παραμέτρων ασύρματου δικτύου Wi-Fi Protected Setup

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

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών. Σελίδα 1 από 7 Οδηγός σύνδεσης Υποστηριζόμενα λειτουργικά συστήματα Μπορείτε να πραγματοποιήσετε εγκατάσταση του λογισμικού του εκτυπωτή χρησιμοποιώντας το CD Λογισμικό και τεκμηρίωση για τα ακόλουθα λειτουργικά

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

Μάθημα 4.7 Θύρες περιφερειακών

Μάθημα 4.7 Θύρες περιφερειακών Μάθημα 4.7 Θύρες περιφερειακών - Εισαγωγή - Η σειριακή θύρα - Η παράλληλη θύρα - Οι θύρες πληκτρολογίου και ποντικιού τύπου PS/2 - Ο διάδρομος USB Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις

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

Κατανεμημένα Συστήματα. Javascript LCR example

Κατανεμημένα Συστήματα. Javascript LCR example Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate

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

SIMATIC MANAGER SIMATIC MANAGER

SIMATIC MANAGER SIMATIC MANAGER 1 Προγραμματισμός του PLC. 1. Γενικά Μια προσεκτική ματιά σε μια εγκατάσταση που θέλουμε να αυτοματοποιήσουμε, μας δείχνει ότι αυτή αποτελείται από επιμέρους τμήματα τα οποία είναι συνδεδεμένα μεταξύ τους

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

TeleCost Hotel για Panasonic TDA

TeleCost Hotel για Panasonic TDA TeleCost Hotel για Panasonic TDA 1. Οδηγίες Εγκατάστασης του Λογισμικού του Συστήματος Telecost Hotel Γενικά Για την εγκατάσταση του Λογισμικού του Συστήματος TeleCost HL θα πρέπει να ακολουθηθούν συνοπτικά

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

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

για τις ρυθμίσεις LabView μέσα από το κανάλι   και του καλωδίου USB. 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Δραστηριότητα: 11 Μάθημα: Εργαστήριο Δικτύων Υπολογιστών Αντικείμενο : Μέτρηση

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

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

Εγχειρίδιο Ζωντανών Μεταδόσεων Υπηρεσιών Βίντεο. Πανεπιστημίου Κρήτης. Εγχειρίδιο τεχνικού μετάδοσης

Εγχειρίδιο Ζωντανών Μεταδόσεων Υπηρεσιών Βίντεο. Πανεπιστημίου Κρήτης. Εγχειρίδιο τεχνικού μετάδοσης Εγχειρίδιο Ζωντανών Μεταδόσεων Υπηρεσιών Βίντεο Πανεπιστημίου Κρήτης Εγχειρίδιο τεχνικού μετάδοσης Περιεχόμενα 1. ΖΩΝΤΑΝΕΣ ΜΕΤΑΔΟΣΕΙΣ... 3 1.1. ΕΙΣΑΓΩΓΗ... 3 1.2. ΠΡΟΕΤΟΙΜΑΣΙΑ ΓΙΑ ΤΗΝ ΜΕΤΑΔΟΣΗ, ΑΙΤΗΜΑ...

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

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

Λογικά σύμβολα των CPU, RAM, ROM και I/O module Μικροϋπολογιστές Λογικά σύμβολα των CPU, RAM, ROM και I/O module Data CPU Data Data Address RAM Control Address Control External Data Data Address Control I/O module External Data External Control ROM

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

Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView

Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView 1o ΕΠΑΛ Ε.Κ. ΝΕΑΠΟΛΗΣ Μπουλταδάκης Σ, Μαυρίδης Κ. Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView Mάθημα: Εργαστήριο Δικτύων Υπολογιστών

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

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται

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

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino. Το Arduino είναι βασισμένο σε μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ ATMEL AVR8 ΠΟΡΛΙΔΑΣ ΔΗΜΗΤΡΙΟΣ ATMEL AVR Atmega16 Χαρακτηριστικά Μικροελεγκτής 8-bit υψηλής απόδοσης και χαμηλής κατανάλωσης Προοδευμένη αρχιτεκτονική RISC (Reduced instruction

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

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Εργαστήριο «Δίκτυα Υπολογιστών Ι» Εργαστήριο «Δίκτυα Υπολογιστών Ι» Άσκηση 5 η Τμήμα Mηχ. Πληροφορικής & Υπολογιστών Παν. Δυτικής Αττικής Ημερομηνία έκδοσης: 3/10/2018 Επιμέλεια: Ιωάννης Ξυδάς, Αντώνης Μπόγρης 1. Εισαγωγή Διαχείριση συσκευών

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

Οργάνωση Υπολογιστών (IΙI)

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝΔΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP Διαδικασία δικτύωσης PC μέσω modem Στις επόμενες παραγράφους περιγράφεται αναλυτικά η διαδικασία που χρειάζεται να ακολουθήσετε προκειμένου

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

Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης

Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης Πανεπιστήμιο Κρήτης Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης Πανεπιστήμιο Κρήτης Περιεχόμενα 1. ΖΩΝΤΑΝΕΣ ΜΕΤΑΔΟΣΕΙΣ... 3 1.1.

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

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης.

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης. Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης. 1. SMART BOARD SERIAL NUMBER: Ο σειριακός αριθμός του Διαδραστικού πίνακα βρίσκεται στην δεξιά πλαϊνή μεριά

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Ενημερώσεις λογισμικού Οδηγός χρήσης

Ενημερώσεις λογισμικού Οδηγός χρήσης Ενημερώσεις λογισμικού Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο

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

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

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

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

1. Περιεχόμενα συσκευασίας... 2. 2. Απαιτήσεις συστήματος... 2. 3. Budget III Web Camera... 2. 4. Τεχνική Υποστήριξη από την Crypto...

1. Περιεχόμενα συσκευασίας... 2. 2. Απαιτήσεις συστήματος... 2. 3. Budget III Web Camera... 2. 4. Τεχνική Υποστήριξη από την Crypto... Budget III Web Camera Ε γ χ ε ι ρ ί δ ι ο Χ ρ ή σ τ η Περιεχόμενα Περιεχόμενα... 1 1. Περιεχόμενα συσκευασίας... 2 2. Απαιτήσεις συστήματος... 2 3. Budget III Web Camera... 2 3.1. Εγκατάσταση της Budget

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

1. Περιεχόμενα Συσκευασίας... 2. 2. Απαιτήσεις Συστήματος... 2. 4. Τεχνική Υποστήριξη... 7. 5. Τεχνικά Χαρακτηριστικά... 7

1. Περιεχόμενα Συσκευασίας... 2. 2. Απαιτήσεις Συστήματος... 2. 4. Τεχνική Υποστήριξη... 7. 5. Τεχνικά Χαρακτηριστικά... 7 Joker Driverless Webcam Ε γ χ ε ι ρ ί δ ι ο Χ ρ ή σ τ η V e r s i o n 1. 0 Περιεχόμενα Περιεχόμενα... 1 1. Περιεχόμενα Συσκευασίας... 2 2. Απαιτήσεις Συστήματος... 2 3. Joker Web Camera... 2 3.1 Εγκατάσταση

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

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT) Τι είναι Είσοδος και τι Έξοδος Με τον όρο Είσοδο (Input) αναφερόμαστε στη ροή δεδομένων προς την Κεντρική Μονάδα Επεξεργασίας

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

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

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

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

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT) Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT) Τι είναι Είσοδος και τι Έξοδος Με τον όρο Είσοδο (Input) αναφερόμαστε στη ροή δεδομένων προς την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), ενώ με τον όρο

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

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016) ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016) Περιγραφή της Άσκησης Στόχος της άσκησης είναι η δημιουργία ενός συστήματος διαχείρισης φωτισμού. Μία φωτομεταβαλλόμενη αντίσταση (LDR) θα διαπιστώνει την ποσότητα του φωτός

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

Δθαξκνγέο αζύξκαηεο ηειεκεηξίαο ζηελ αλαπηπμηαθή πιαηθόξκα Arduino

Δθαξκνγέο αζύξκαηεο ηειεκεηξίαο ζηελ αλαπηπμηαθή πιαηθόξκα Arduino Σερλνινγηθό Δθπαηδεπηηθό Ίδξπκα Κξήηεο ρνιή Σερλνινγηθώλ Δθαξκνγώλ Σκήκα Δθαξκνζκέλεο Πιεξνθνξηθήο & Πνιπκέζσλ Πηπρηαθή εξγαζία Δθαξκνγέο αζύξκαηεο ηειεκεηξίαο ζηελ αλαπηπμηαθή πιαηθόξκα Arduino Διεπζεξηάδεο

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Ενότητα : Ανίχνευση κίνησης δικτύου - Εργαλείο Wireshark. Όνομα Καθηγητή : Δημήτριος Λυμπερόπουλος, Σπύρος Δενάζης Τμήμα : Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα 1ο ΕΠΑΛ Περάματος 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino.

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

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ ΑΜΑΛIΑ ΦΩΚA ΕΠIΚΟΥΡΗ ΚΑΘΗΓHΤΡΙΑ Περιεχόμενο Μαθήματος 2 Arduino Τι είναι το Arduino; 3 μικρή συσκευή (μικροεπεξεργαστής) που συνδέεται με USB στον υπολογιστή μια πλατφόρμα

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο

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

Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης

Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης Πανεπιστήμιο Κρήτης Εγχειρίδιο Ζωντανών Μεταδόσεων Εξελιγμένων Υπηρεσιών Βίντεο Πανελληνίου Σχολικού Δικτύου Εγχειρίδιο τεχνικού μετάδοσης Πανεπιστήμιο Κρήτης Περιεχόμενα 1. ΖΩΝΤΑΝΕΣ ΜΕΤΑΔΟΣΕΙΣ... 3 1.1.

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

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE INTERNET PHONE A.S. DRIGAS Applied Technologies Department NCSR DEMOKRITOS Ag. Paraskevi GREECE dr@imm.demokritos.gr http://imm.demokritos.gr Το Internet Phone θέτει καινούργια δεδοµένα για την επικοινωνία

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Εργαστήριο Αυτομάτου Ελέγχου Ενσωματωμένα συστήματα (Embedded Systems) Ενσωματωμένα συστήματα (Embedded

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Μαθαίνοντας το hardware του αναπτυξιακού

Μαθαίνοντας το hardware του αναπτυξιακού 1. ΑΣΚΗΣΗ 1 Μαθαίνοντας το hardware του αναπτυξιακού Προϋποθέσεις Το εργαστήριο αυτό προϋποθέτει το διάβασμα και χρήση των εξής: Αρχείο mcbstr9.chm HTML, που δίδεται με τα υπόλοιπα αρχεία του εργαστηρίου.

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO Δημιουργός: Επιβλέπων: Μπακάλη Ιωάννα Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ 1 ΤΙ ΕΙΝΑΙ ΤΟ ARDUINO; Είναι ένας συνδυασμός Υλικού (πλακέτας, μικροελεγκτή, αντιστάσεων κτλ) και Λογισμικού

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

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

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

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

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

ΜΕΛΕΤΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΑΤΜΟΣΦΑΙΡΙΚΩΝ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΔΙΕΝΕΡΓΕΙΑ ΑΣΤΡΟΝΟΜΙΚΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ. Ερασιτεχνικής Αστρονομίας ΜΕΛΕΤΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΑΤΜΟΣΦΑΙΡΙΚΩΝ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΔΙΕΝΕΡΓΕΙΑ ΑΣΤΡΟΝΟΜΙΚΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ. Κυριάκος Πανίτσας Διπλ. Ηλεκτρολόγος Μηχανικός-Εκπαιδευτικός

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

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

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

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

ΑΝΑLOG TO DIGITAL CONVERTER (ADC) ΑΝΑLOG TO DIGITAL CONVERTER (ADC) O ADC αναλαμβάνει να μετατρέψει αναλογικές τάσεις σε ψηφιακές ώστε να είναι διαθέσιμες εσωτερικά στο μικροελεγκτή για επεξεργασία. Η αναλογική τάση που θέλουμε να ψηφιοποιηθεί

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

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

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

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού Α.Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού Θεσσαλονίκη, Ιανουάριος 2007 Η Άσκηση 8 του εργαστηρίου

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ 1.1 ΕΙΣΑΓΩΓΗ ΣΤΑ ΑΝΑΛΟΓΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ 1 1.1.1 Αναλογικά σήματα 1 1.1.2 Οι αντιστάσεις 3 1.1.3 Οι πυκνωτές 7 1.1.4 Τα πηνία 11 1.1.5 Οι δίοδοι 13 1.1.6

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

Modbus basic setup notes for IO-Link AL1xxx Master Block

Modbus basic setup notes for IO-Link AL1xxx Master Block n Modbus has four tables/registers where data is stored along with their associated addresses. We will be using the holding registers from address 40001 to 49999 that are R/W 16 bit/word. Two tables that

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

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

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

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

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για τα προϊόντα

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

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Πλατφόρμες ενσωματωμένων συστημάτων Διδάσκων: Παναγιώτης Καρκαζής Περίγραμμα - Δίαυλοι επικοινωνίας - Μνήμες -Συσκευές Ι/Ο Timers Counters keyboards Leds 7 segment display

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

Εξωτερικές συσκευές. Οδηγός χρήσης

Εξωτερικές συσκευές. Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες

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

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

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

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

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

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

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο µπορεί να αλλάξουν χωρίς προειδοποίηση. Οι µοναδικές εγγυήσεις για προϊόντα και

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

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για προϊόντα και

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

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

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

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

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

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

Ενημερώσεις λογισμικού Οδηγός χρήσης

Ενημερώσεις λογισμικού Οδηγός χρήσης Ενημερώσεις λογισμικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο παρόν έγγραφο

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

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση)

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Τεχνικά Εγχειρίδια > Συσκευές Συσκευές Barcode scanner Posiflex CD-3830-1D Για για να κατεβάσετε το αρχείο με τις οδηγίες του Barcode

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