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

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

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΤΗΛΕΧΕΙΡΙΣΜΟΣ ΚΑΙ ΤΗΛΕΕΛΕΓΧΟΣ ΜΕΣΩ INTERNET ΚΑΙ ΜΕΣΩ ΓΡΑΠΤΩΝ ΜΗΝΥΜΑΤΩΝ SMS ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΩΝ: ΚΟΣΚΙΝΟΠΟΥΛΟΥ ΜΑΡΙΑ A.M ΚΑΛΙΤΣΟΥΝΑΚΗ ΜΑΡΙΛΕΝΑ A.M Επιβλέπων Καθηγητής: Κουμπιάς Σ. Πάτρα 2011

2 2 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «ΤΗΛΕΧΕΙΡΙΣΜΟΣ ΚΑΙ ΤΗΛΕΕΛΕΓΧΟΣ ΜΕΣΩ INTERNET ΚΑΙ ΜΕΣΩ ΓΡΑΠΤΩΝ ΜΗΝΥΜΑΤΩΝ SMS» των φοιτητριών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΚΟΣΚΙΝΟΠΟΥΛΟΥ ΜΑΡΙΑ A.M ΚΑΛΙΤΣΟΥΝΑΚΗ ΜΑΡΙΛΕΝΑ A.M Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις 26/01/2012 Ο Επιβλέπων Καθηγητής Κουμπιάς Σταύρος Ο Διευθυντής του Τομέα Καθηγητής Χούσος Ευθύμιος Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 3

4 4 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

5 ΠΕΡΙΛΗΨΗ Σχεδίαση και ανάπτυξη ολοκληρωμένου συστήματος Τηλεχειρισμού και Τηλεελέγχου. Η σχεδίαση του συστήματος βασίζεται στον ισχυρό μικροεπεξεργαστή ATMega644PA της Atmel και όλος ο προγραμματισμός έγινε σε γλώσσα προγραμματισμού Assembly. Το σύστημα διαθέτει 8 ψηφιακές εξόδους (ON/OFF) και 8 ψηφιακές εισόδους (0-12 Volts). Το μικροϋπολογιστικό σύστημα διαθέτει επίσης module κινητής Τηλεφωνίας, μέσω του οποίου λαμβάνονται και αποστέλλονται, προκαθορισμένα μηνύματα, που αφορούν τον χειρισμό και τον έλεγχο των εξόδων και των εισόδων του. Στο σύστημα είναι διασυνδεδεμένο mini embedded PC με ειδικά σχεδιασμένο λειτουργικό σύστημα, βασισμένο στο Linux (Διανομή Debian). Στο υποσύστημα αυτό αναπτύχθηκε ιστοσελίδα σε γλώσσα προγραμματισμού ιστοσελίδων PHP. Ο διαπιστευμένος επισκέπτης της ιστοσελίδας αυτής έχει την δυνατότητα να χειριστεί-ελέγξει τις εξόδους-εισόδους του συστήματος. ABSTRACT Design and development of an integrated remote control and remote monitoring system. The system design is based into a powerful microprocessor Atmel's ATMega644PA and all the programming is written in the programming language, Assembly. The system provides 8 digital outputs (ON / OFF) and 8 digital inputs (0-12 Volts). The microcontroller has also a module system for mobile telephony through which, predefined messages are received and sent, related to the handling/ operation and control of its outputs and inputs. The system is interconnected with a mini "embedded PC" with specially designed operating system based on Linux (distribution Debian). A website was developed into this subsystem in the programming language for websites, PHP. The accredited visitor of this website is able to handle and control the inputs and the outputs of the system. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 5

6 6 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

7 Ευχαριστίες Θα θέλαμε να ευχαριστήσουμε θερμά, τον κύριο Παναγιώτη Μητρόπουλο για την καθοδήγηση, τις πολύτιμες συμβουλές, την αμέριστη βοήθεια και την υπομονή του καθ όλη τη διάρκεια της εκπόνης της εργασίας, τον κύριο Θανάση Μητρόπουλο για την συνεχόμενη και πολύτιμη βοήθειά του, τις εύστοχες παρατηρήσεις του και τη συνεχή του στήριξη, τους φίλους μας για την συμπαράσταση και τις όμορφες στιγμές που μοιραστήκαμε, τις οικογένειές μας για την υποστήριξη πάσης φύσεως και τη βοήθειά τους σε όλη τη διάρκεια των προπτυχιακών σπουδών μας και όχι μόνο, και φυσικά η μία την άλλη για την άψογη συνεργασία, την ειληκρινή στήριξη και βοήθεια και για τις ατέλειωτες ώρες που περάσαμε μαζί... Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 7

8 8 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

9 Περιεχόμενα ΚΕΦΑΛΑΙΟ Εισαγωγή Ιστορική Αναδρομή Ερευνητικές διαστάσεις του θέματος Επιλογή του θέματος Στόχος της εργασίας Η πορεία της διπλωματικής Δομή της Εργασίας...15 ΚΕΦΑΛΑΙΟ Βασικές Έννοιες Συστήματα Πραγματικού Χρόνου Μικροεπεξεργαστές Μικροελεγκτές Ενσωματωμένα συστήματα (embedded systems) Κατηγορίες μικροελεγκτών AVR (Atmel) Δίκτυο GSM Συνοπτική Περιγραφή Δομή Δικτύου Subscriber Identity Module (SIM)...25 ΚΕΦΑΛΑΙΟ Απαιτούμενο Hardware Περιγραφή Απαιτήσεων Δομή του συστήματος GSM Module (Περιγραφή) mini PC Module Μικροελεγκτής AVR Περιγραφή Περιγραφή ακίδων Διακοπές- Interrupt Handling...36 ΚΕΦΑΛΑΙΟ Σχεδίαση Συστήματος Εργαλεία που χρησιμοποιήθηκαν Κυκλώματα Τροφοδοσιών Κυκλώματα οδήγησης σειριακών GSM Module USART mini PC Module USART Κυκλώματα οδήγησης Εισόδων Κυκλώματα ισχύος Εξόδων Κύκλωμα εκκίνησης GSM Module Κύκλωμα ένδειξης σύνδεσης στο δίκτυο GSM Κυκλωματικό Διάγραμμα Συστήματος...50 ΚΕΦΑΛΑΙΟ Προγραμματισμός Συστήματος Εργαλεία που χρησιμοποιήθηκαν STK-500 Starter Kit AVR studio 4 της Atmel Xampp (Version 1.7.3) Επικοινωνία AVR και GSM Module (AT Commands) Επικοινωνία AVR και mini PC Module Προγραμματισμός AVR I/O Ports Usarts...65 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 9

10 5.4.3 Timers Timer/Counter Watchdog Timer EEPROM Προγραμματισμός mini PC Module Εισαγωγή Εγκατάσταση λειτουργικού συστήματος Ανάπτυξη Ιστοσελίδας Βασικές αρχές Ιστοσελίδων Συνοπτική Περιγραφή Προγράμματος AVR...90 ΚΕΦΑΛΑΙΟ Υλοποίηση Συστήματος Εργαλεία που χρησιμοποιήθηκαν Σχεδίαση πλακέτας Κατασκευή πλακέτας Διαδικασία κατασκευής πλακετών Πλακέτα εφαρμογής Ολοκλήρωση πλακέτας (Συγκόλληση)...98 ΚΕΦΑΛΑΙΟ Επικοινωνία Χρήστη - Συστήματος Επισκόπηση Λειτουργίας Επικοινωνία μέσω SMS Επικοινωνία μέσω Internet Εισαγωγή Δομή της Ιστοσελίδας Λειτουργία της Ιστοσελίδας Λειτουργίες Διαχειριστών Εγγραφή στο σύστημα Ρύθμιση παραμέτρων του συστήματος Λειτουργίες Χρηστών Είσοδος στο σύστημα Έξοδος από το σύστημα Αλλαγή κωδικού πρόσβασης Χειρισμός- έλεγχος των εξόδων-εισόδων του συστήματος ΚΕΦΑΛΑΙΟ Γενικά Συμπεράσματα και Συζήτηση Συμπεράσματα Εφαρμογές Εφαρμογές στο σπίτι (Έξυπνα σπίτια) Γενικευμένα παραδείγματα εφαρμογών Συζήτηση Ισχυρά σημεία της δουλειάς Ανοιχτά ζητήματα ΒΙΒΛΙΟΓΡΑΦΙΑ Βιβλία Περιοδικά Δικτυογραφία (αναπτυξιακά προγράμματα) ΠΑΡΑΡΤΗΜΑΤΑ Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

11 ΚΕΦΑΛΑΙΟ 1 Εισαγωγή 1.1 Ιστορική Αναδρομή Ήδη από τις αρχές του 1980 ορισμένοι πρωτοπόροι είχαν οραματιστεί ένα κόσμο, στον οποίο το σύνολο της πληροφορίας θα ήταν διαθέσιμο σε κάθε ενδιαφερόμενο αλλά και προσβάσιμο ανεξαρτήτως τοποθεσίας και απόστασης από την πηγή της πληροφορίας. Επίσης, είχαν διαπιστώσει πως αυτή είναι η πραγματική δύναμη και μαγεία του ψηφιακού κόσμου, η δυνατότητα δηλαδή με την χρήση της τεχνολογίας, η πληροφορία που παράγεται σε ένα σημείο, να μπορεί να μετατρέπεται και να μεταφέρεται σε ψηφιακή μορφή πέρα από τα φυσικά όρια της, να μπορεί να αναπαράγεται από τα κατάλληλα μέσα, όταν χρειάζεται από κάθε ενδιαφερόμενο. Σημαντική παράμετρος είναι και ο χρόνος ο οποίος έχει γίνει πλέον πολύτιμος λόγω της πληθώρας εργασιών και υποχρεώσεων που καλείται να εκπληρώσει ο σύγχρονος άνθρωπος κατά τη διάρκεια του εικοσιτετραώρου. Η ζωής μας σε όλους σχεδόν τους τομείς γίνεται ολοένα και πιο απαιτητική από άποψη χρόνου. Σήμερα, στην ψηφιακή εποχή που ζούμε, η τεχνολογία παίζει καθοριστικό ρόλο στην επικοινωνία μεταξύ των ανθρώπων αλλά και μεταξύ ανθρώπων και μηχανών. Με όλα τα σύγχρονα τεχνολογικά επιτεύγματα ίσως δεν υπάρχει κανένας περιορισμός για τον οποίο δεν μπορούμε να σπάσουμε τα εμπόδια της επικοινωνίας. Σε μόλις λίγα δευτερόλεπτα μπορούμε να κλείσουμε μια συμφωνία χωρίς να ασκήσουμε πολλή προσπάθεια και να τακτοποιήσουμε εκκρεμότητες με έναν πελάτη ή ένα επιχειρηματικό εταίρο. Πλέον δηλαδή, ένας χρήστης μπορεί να διαχειριστεί προϊόντα και υπηρεσίες μέσω ψηφιακών μέσων χωρίς να απαιτείται η φυσική του παρουσία. Δίχως αμφιβολία λοιπόν μία επανάσταση έχει συντελεστεί στον τομέα αυτό και είναι πλέον αποδεκτό από όλη την ανθρωπότητα ότι με την πρόοδο της τεχνολογίας ολοένα και περισσότερες από τις καθημερινές μας ασχολίες, γίνονται προσβάσιμες και διαχειρίσιμες από απόσταση, είτε με την χρήση υπολογιστών είτε άλλων συσκευών. Στο σημείο αυτό αναμφίβολα τίθενται ορισμένα ερωτήματα σχετικά με την εξέλιξη των «έξυπνων μηχανών». Στο κοντινό μέλλον οι μηχανές θα σκέφτονται για μας; Το ανθρώπινο είδος θα παραγκωνιστεί; Για την ακρίβεια αποσυρόμαστε από την ευθύνη της διαχείρισης του κόσμου: μια «αγγαρεία» που ευχαρίστως θα την Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 11

12 αναθέταμε στις ευφυείς μηχανές; Οι μηχανές θα αντικαταστήσουν τους βιομηχανικούς εργάτες; Τέλος η ανθρώπινη εργασία, στην αρχή η σωματική και κατόπιν και η πνευματική, είναι περιττή; Ο Άλμπερτ Αϊνστάιν σε μία από τις ομιλίες του για την τεχνολογία και την διείσδυσή της στην καθημερινή μας ζωή και κατ' επέκταση στην ανθρωπιά είπε τα εξής: «Έχει καταστεί τρομακτικά προφανές ότι η τεχνολογία μας έχει υπερκεράσει την ανθρωπιά μας. Όλη η περιβόητη τεχνολογική μας πρόοδος -ο ίδιος ο πολιτισμός μας- είναι σαν ένα τσεκούρι στα χέρια ενός ψυχοπαθούς.». Αναμφισβήτητα όμως δεν είναι εύκολο να απαντηθούν μονοσήμαντα όλα αυτά τα ερωτήματα σε μερικές σελίδες διπλωματικής.το σίγουρο είναι ότι ακόμη και αν υπάρχει μια πιθανότητα οι χειρότεροι φόβοι μας να πραγματοποιηθούν δεν έχουμε το δικαίωμα να σταματήσουμε την τεχνολογική εξέλιξη. Όπως και να χει το μέλλον είναι «προγραμματισμένο» να είναι επικίνδυνο, γεμάτο προκλήσεις αλλά και τρελά όνειρα. Στο χέρι μας είναι αν ανακαλύψουμε σ αυτό τους χειρότερους εφιάλτες μας ή τα ομορφότερα όνειρα μας. 1.2 Ερευνητικές διαστάσεις του θέματος Επιλογή του θέματος Ενώ γίνονται ολοένα και περισσότερα βήματα στην προσπάθεια για τη βελτίωση της ζωής του ανθρώπου, εντούτοις ένα σημαντικό κομμάτι της καθημερινότητας μας δεν έχει εξελιχθεί, τουλάχιστον σε σημείο που θα επιθυμούσαμε, δηλαδή να μπορεί ένας χρήστης να ενημερωθεί για την κατάσταση του σπιτιού του και να το διαχειριστεί από απόσταση. Ποιον δεν θα ενδιέφερε να μπορεί να βλέπει το σπίτι του από απόσταση, να ενημερώνεται για τις φυσικές συνθήκες που επικρατούν, να επηρεάζει την κατάσταση συσκευών μέσα σε αυτό, με τον ίδιο τρόπο που μπορεί να ελέγχει και να μεταβάλει την κατάσταση των τραπεζικών του λογαριασμών; Στην ενέργεια αυτή σημαντική βοήθεια παρέχει και το γεγονός ότι οι συσκευές οι οποίες κάποτε ήταν απρόσιτες και περιορισμένων δυνατοτήτων, πλέον είναι φθηνές και ταυτόχρονα αξιόπιστες με ποικίλες δυνατότητες. Πριν όμως προχωρήσουμε στην παρουσίαση αξίζει να δούμε την παρούσα κατάσταση στο θέμα αυτό. Oι υπάρχουσες εφαρμογές αποτελούνται από ένα gsm module συνδεδεμένο με κάποιο relay ή κάποιο αισθητήριο όπως θερμόμετρα, υγρόμετρα και παρόμοια αισθητήρια και η λειτουργικότητα αυτών των τεχνολογιών 12 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

13 είναι πολύ απλή και ο χρήστης είτε ελέγχει το relay με αναπάντητη κλήση είτε ενημερώνεται για τις τιμές του αισθητηρίου με sms. Το μειονέκτημα αυτής της προσέγγισης είναι ότι χρειάζεται ένα gsm modem για κάθε συσκευή, το οποίο πέρα από το κόστος, κάθε gsm κοστίζει πάνω από 150 ευρώ, είναι και πολύ δύσχρηστο, γιατί, ακόμα και αν περάσουμε το εμπόδιο του κόστους, πρέπει ο χρήστης να απευθύνεται σε διαφορετικό αριθμό για κάθε συσκευή που θέλει να ελέγχει. Ένα ακόμα μειονέκτημα είναι ότι αυτές οι τεχνολογίες δεν υποστηρίζουν την επικοινωνία μέσω internet. Οι διαθέσιμες προτάσεις σήμερα σε καμία περίπτωση δεν εξαντλούνται στις παραπάνω περιγραφές. Όλες όμως έχουν κοινά ελαττώματα, είναι δαπανηρές και έχουν φτιαχτεί στην πλειονότητα τους να δουλεύουν μόνο με προϊόντα του ίδιου κατασκευαστή. Οι αδυναμίες που εντοπίστηκαν στις υπάρχουσες εφαρμογές καθώς και η ανάγκη του σύγχρονου ανθρώπου να ενημερώνεται και να επηρεάζει από απόσταση τις κάθε είδους συσκευές αποτέλεσαν την αφετηρία για την παρούσα διπλωματική εργασία Στόχος της εργασίας Στην παρούσα εργασία αναπτύχθηκε ένα ολοκληρωμένο σύστημα με σκοπό να αντιμετωπιστούν τα προβλήματα που αναφέρθηκαν προηγουμένως. Σε αυτήν την εργασία στόχος μας ήταν να δημιουργήσουμε ένα σύστημα τέτοιο, ώστε ο χρήστης να μπορεί να επικοινωνεί όχι μόνο μέσω απλού κινητού τηλεφώνου αλλά και μέσω internet με τις συσκευές που αυτός επιθυμεί και είτε να ενημερώνεται για την κατάστασή τους είτε να επεμβαίνει σε αυτές. Η συγκεκριμένη εφαρμογή είμαι μία νέα προσέγγιση, με μεγάλες δυνατότητες, πιο ευέλικτη αλλά και μικρό κόστος Η πορεία της διπλωματικής Το πρώτο βήμα για την υλοποίηση της διπλωματικής ήταν η επιλογή ενός συγκεκριμένου μικρουπολογιστή AVR από την μεγάλη ποικιλία που προσφέρει η κατασκευάστρια εταιρία Atmel. Για λόγους που θα αναλυθούν στην πορεία επελέγη ο ATmega 644PΑ. Στη συνέχεια επελέγησαν συγκεκριμένα χαρακτηριστικά και εσωτερικά περιφερειακά του μικροϋπολογιστή αυτού και συνδυάστηκαν με κατάλληλα εξωτερικά περιφερειακά και υποστηρικτικά ολοκληρωμένα κυκλώματα. Τα ολοκληρωμένα αυτά Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 13

14 κυκλώματα αναζητήθηκαν στην αγορά της Αθήνας αλλά και γενικότερα της Ευρώπης και συγκεντρώθηκαν με αρκετή δυσκολία και χρονική καθυστέρηση. Στο διάστημα αυτό έγινε η πρώτη γνωριμία με το AVR Studio της Atmel και οι πρώτες προσπάθειες προγραμματισμού του AVR πάνω στο Starter Kit STK500. Αποφασίστηκε ο προγραμματισμός να γίνει σε γλώσσα προγραμματισμού Assembly. Μετά από έρευνα διαπιστώθηκε ότι υπάρχει ποικιλία εργαλείων προγραμματισμού του AVR σε Assembly. Επελέγη το περιβάλλον AVR Studio 4, διότι προσφέρει όλη την απαραίτητη λειτουργικότητα και επιπλέον διατίθεται δωρεάν. Κατόπιν, αφού έγινε η επιλογή της αρχιτεκτονικής, κατασκευάστηκε ένα πρωτότυπο κύκλωμα με στόχο τον έλεγχο της ορθότητας και της λειτουργικότητας των αποφάσεων που πάρθηκαν (φωτογραφία 1). Φωτογραφία 1 Παράλληλα ελήφθησαν οι βασικές αποφάσεις σχετικά με την αρχιτεκτονική του λογισμικού και γράφτηκε μια πρώτη εφαρμογή. Έτσι έγινε εφικτός ένας πρώτος έλεγχος. Στη συνέχεια σχεδιάστηκε η αρχιτεκτονική της τελικής πλακέτας με βάση την αρχιτεκτονική του πρωτοτύπου και με κάποιες βελτιστοποιήσεις. Τα σχέδια περάστηκαν στο Orcad και, μετά τις απαραίτητες διορθώσεις, η πλακέτα δόθηκε προς εκτύπωση και διάτρηση. Μετά την απόκτηση του τυπωμένου κυκλώματος ακολούθησε η κόλληση των περιφερειακών και των λοιπών υποστηρικτικών συσκευών. Έτσι υλοποιήθηκε και η 14 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

15 τελική πλακέτα (φωτογραφία 2). Τέλος η εφαρμογή αναπτύχθηκε περαιτέρω και οριστικοποιήθηκε. Φωτογραφία Δομή της Εργασίας Στα επόμενα κεφάλαια θα παρουσιασθεί λεπτομερώς σε όλα της τα στάδια αυτή η εφαρμογή, η οποία οδήγησε στη δημιουργία ενός προϊόντος χαμηλού κόστους χωρίς ωστόσο συμβιβασμό στις δυνατότητες. Συγκεκριμένα, κατασκευάστηκε ένα σύστημα αυτοματισμού σπιτιών, μέσω sms και internet, με συνολικό κόστος μικρότερο των 140 Ευρώ. Στο Κεφάλαιο 1 μετά από μία σύντομη εισαγωγή δίνονται οι ερευνητικές διαστάσεις του θέματος. Συγκεκριμένα παρουσιάζονται οι λόγοι επιλογής του θέματος που αποτέλεσαν την αφετηρία για την εκπόνηση της παρούσας διπλωματικής εργασίας. Επίσης δίνεται ο στόχος της εργασίας καθώς και η πορεία της μέχρι να πάρει την τελική της μορφή. Στο Κεφάλαιο 2 περιγράφονται και αναλύονται όλες οι έννοιες, οι συσκευές και τα συστήματα τα οποία ήταν απαραίτητα για την υλοποίηση της εφαρμογής. Τα στοιχεία αυτά, κατά κάποιον τρόπο, αποτέλεσαν το θεωρητικό πλαίσιο της εργασίας. Συγκεκριμένα παρουσιάζονται τα παρακάτω: συστήματα πραγματικού χρόνου, μικροεπεξεργαστές, μικροελεγκτές, ενσωματωμένα συστήματα- embedded systems, κατηγορίες μικροελεγκτών AVR, δίκτυα GSM και SIM Αναλύοντας τις απαιτήσεις μας για την ολοκλήρωση του Συστήματος, καταλήξαμε ότι απαιτούνται τα ακόλουθα υποσυστήματα: Υποσύστημα GSM (GSM Module), Υποσύστημα mini PC (PC Module) και Μικρουπολογιστικό Σύστημα. Στο Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 15

16 Κεφάλαιο 3 λοιπόν περιγράφονται αυτά τα υποσυστήματα που αποτελούν ουσιαστικά το απαιτούμενο hardware. Στο Κεφάλαιο 4 αναλύεται η σχεδίαση του συστήματος. Αρχικά περιγράφεται το Orcad, το αναπτυξιακό εργαλείο που χρησιμοποιήθηκε για το σχεδιασμό και την υλοποίηση του συστήματος, και στη συνέχεια τα κυκλώματα τροφοδοσιών, οδήγησης σειριακών, οδήγησης εισόδων, ισχύος εξόδων, εκκίνησης GSM Module και ένδειξης σύνδεσης στο δίκτυο GSM Το Κεφάλαιο 5 αφορά τον προγραμματισμό του συστήματος. Αρχικά περιγράφεται λεπτομερώς ο προγραμματισμός του μικροελεγκτή, στη συνέχεια αναφέρονται τα αναπτυξιακά εργαλεία που χρησιμοποιήθηκαν καθώς επίσης και τα πρωτόκολλα επικοινωνίας AVR και GSM Module και AVR και PC Module. Τέλος περιγράφεται λεπτομερώς ο προγραμματισμός του mini PC module όσον αφορά την εγκατάσταση του λειτουργικού συστήματος και την ανάπτυξη της ιστοσελίδας. Το Κεφάλαιο 6 ασχολείται με την υλοποίηση του συστήματος. Αρχικά περιγράφεται η σχεδίαση της πλακέτας και στη συνέχεια ο τρόπο κατασκευής της. Στο Κεφάλαιο 7 περιγράφεται αναλυτικά η επικοινωνία του χρήστη με το σύστημα αφενώς μέσω γραπτών μηνυμάτων SMS και αφετέρου μέσω μιας ιστοσελίδας. Ο κάθε χρήστης μπορεί μέσω του κινητού του τηλεφώνου να επικοινωνεί με το σύστημα, με τη χρήση γραπτών μηνυμάτων. Το σύνολο των διαθέσιμων εντολών καθώς επίσης και των απαντήσεων του συστήματος περιγράφονται στο κεφάλαιο αυτό. Τέλος περιγράφεται η λειτουργία του ιστοτόπου της εφαρμογής μας όσον αφορά τη σκοπιά διαχειριστών και απλών χρηστών. Έπειτα από την ανάλυση του συστήματος που υλοποιήσαμε, στο Κεφάλαιο 8 ακολουθούν τα συμπεράσματα, όπου γίνεται μία συνοπτική παρουσίαση της ερευνητικής προσπάθειας στη βάση του ερευνητικού ερωτήματος και παρουσιάζονται τα γενικά συμπεράσματα που προκύπτουν από την έρευνά μας, Επιπρόσθετα γίνεται αναφορά στις μελλοντικές εφαρμογές που μπορούν να υλοποιηθούν με αφετηρία το προτεινόμενο μοντέλο. 16 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

17 ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες 2.1 Συστήματα Πραγματικού Χρόνου Συστήματα πραγματικού χρόνου ονομάζονται τα συστήματα αυτά στα οποία κύριο στοιχείο είναι ο χρόνος ο οποίος και διαδραματίζει τον πρωταγωνιστικό ρόλο σε όλα τα ζητήματα τα οποία έχουν να κάνουν με τον σχεδιασμό, τον χρονοπρογραμματισμό και γενικότερα με την δόμηση των συστημάτων αυτών. Όπως σε όλα τα υπολογιστικά συστήματα, έτσι και στα συστήματα πραγματικού χρόνου, μας ενδιαφέρει η εξαγωγή σωστών, σαφών και ικανοποιητικών αποτελεσμάτων. Εδώ όμως, εισάγεται πλέον και η έννοια του χρόνου, η οποία διαφοροποιεί τα συστήματα πραγματικού χρόνου από τα κοινά υπολογιστικά συστήματα. Δεν αρκεί, λοιπόν, να έχουμε μία παραγωγή ορθών αποτελεσμάτων από το σύστημά μας, αλλά αυτά τα αποτελέσματα θα πρέπει να παράγονται και να συμμορφώνονται σύμφωνα με χρονικούς περιορισμούς οι οποίοι έχουν τεθεί. Για κάθε εργασία, της οποίας τα αποτελέσματα επιθυμούμε να εκμεταλλευτούμε, υπάρχει μία χρονική προθεσμία (deadline) μέχρι την οποία τα αποτελέσματά της μπορούν να είναι χρήσιμα/εκμεταλλεύσιμα. Σε περίπτωση που αυτή η χρονική προθεσμία δεν ικανοποιηθεί, τα αποτελέσματα που παράγονται μετά την παραβίασή της, συνεισφέρουν ελάχιστα ή και καθόλου στο σύστημα και οι συνέπειες σ αυτό μπορεί να είναι από απλώς επιζήμιες μέχρι ολέθρια καταστροφικές! Πριν λοιπόν προχωρήσουμε στην ανάλυση της υλοποίησης πρέπει πρώτα να αποσαφηνίσουμε την βασική αρχή σχεδίασης του συστήματός μας και αυτή είναι η απαίτηση πραγματικού χρόνου. Βασικό στοιχείο στην υλοποίηση μας είναι η επικοινωνία χρήστη και συσκευών μέσω μηνυμάτων κειμένου sms, επομένως αναφερόμαστε σε μια ασύγχρονη επικοινωνία με το χρήστη. Αυτό συμβαίνει, διότι από τη στιγμή που ο χρήστης θα θελήσει να επικοινωνήσει με το σύστημα θα συμβεί ένας αριθμός από βήματα τα οποία έχουν απροσδιόριστο χρόνο εκτέλεσης. Το sms στέλνεται στο gsm module από όπου θα πρέπει να γίνει η μεταγλώτιση και η επεξεργασία από τον μικροεπεξεργαστή και στη συνέχεια να εκτελεστεί η εντολή. Αντίστοιχα μόλις κάποια συσκευή θέλει να επικοινωνίσει με το χρήστη, για να του στείλει κάποιο μήνυμα συναγερμού, μία αντίστροφη διαδικασία θα εκτελεστεί. Από τα παραπάνω βλέπουμε πως υφίσταται μια προβλέψιμη χαμηλή καθυστέρηση αν και θα Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 17

18 πρέπει να λάβουμε υπόψιν πως μπορεί να υπάρξει μία μεταβλητότητα χρόνου εκτέλεσης των πιο πάνω βημάτων εξαιτίας μη προβλέψιμων παραγόντων. 2.2 Μικροεπεξεργαστές Η επιθυμία των κατασκευαστών συστημάτων να δημιουργήσουν συστήματα με περισσότερες δυνατότητες και με μικρότερο μέγεθος οδήγησε στην ανάγκη για ενσωμάτωση όλων των λειτουργιών ενός υπολογιστή σε ένα ή μερικά ολοκληρωμένα κυκλώματα. Η ανάπτυξη της τεχνολογίας που χρησιμοποιήθηκε για την κατασκευή των κυκλωμάτων αυτών, είχε ως αποτέλεσμα τη βελτίωση των χαρακτηριστικών του μικροεπεξεργαστή και τη δημιουργία του μικροελεγκτή. Ένας μικροεπεξεργαστής αποτελείται βασικά από τρία τμήματα τα οποία συνεργάζονται αρμονικά μεταξύ τους: την αριθμητική και λογική μονάδα (ALU), τη λογική μονάδα (CU) και τους καταχωρητές (registers). Ο μικροεπεξεργαστής είναι ένα ολοκληρωμένο κύκλωμα (IC) γενικού σκοπού το οποίο λειτουργεί μα βάση κάποιο πρόγραμμα το οποίο είναι αποθηκευμένο στην κύρια μνήμη. Το πρόγραμμα αυτό αποτελείται από εντολές οι οποίες αποθηκεύονται η μία μετά την άλλη. Οι εντολές αυτές είναι εντολές σε γλώσσα μηχανής, σειρές δηλαδή από δυαδικά ψηφία, όπου είναι κωδικοποιημένο το είδος της εντολής. Το σύνολο αυτών των εντολών χρησιμεύει ως μία διασύνδεση ανάμεσα στο λογισμικό (software) και το υλικό (hardware), δηλαδή ανάμεσα στα προγράμματα και στους επεξεργαστές. Η λειτουργικότητα ενός μικροεπεξεργαστή εξαρτάται πλήρως από το σύνολο εντολών που είναι ικανός να εκτελέσει. Ο μικροεπεξεργαστής λοιπόν είναι το μυαλό του υπολογιστή, ελέγχει και κατευθύνει όλες τις εργασίες, κάνει υπολογισμούς και παίρνει αποφάσεις. Εάν ένας υπολογιστής μπορούσε να παρομοιασθεί με έναν άνθρωπο, ο μικροεπεξεργαστής θα ήταν ο εγκέφαλός του. 2.3 Μικροελεγκτές Όταν πέρα από τον μικροεπεξεργαστή τοποθετήσουμε στο υλικό μνήμη και περιφερειακές συσκευές εισόδου/εξόδου τότε προκύπτει ένα λειτουργικό υπολογιστικό σύστημα σε πλακίδιο το λεγόμενο «system on board/chip». Αυτή η διάταξη καλείται μικροελεγκτής και το βασικό της χαρακτηριστικό είναι ότι αποτελείται από πολλά ολοκληρωμένα στοιχεία. Ένας μικροελεγκτής ενσωματώνει συνήθως τα παρακάτω χαρακτηριστικά: 18 Κεντρικλη Μονάδα Επεξεργασίας (CPU) Εισόδους- Εξόδους, σειριακές θύρες Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

19 Άλλες σειριακές επικοινωνίες (Ι2C, SPI, CAN) Χρονιστές/ μετρητές και watchdog Μνήμη RAM για την αποθήκευση δεδομένων Μνήμη για την αποθήκευση του προγράμματος (ROM, EPROM, EEPROM, FLASH MEMORY) Γεννήτρια ρολογιού A/D- D/A converter Άλλα εξειδικευμένα περιφερειακά όπως γεννήτρια PWM Το «πακέτο» ενός μικροελεγκτή φέρει κάποια βασικά χαρακτηριστικά που τον καθιστά προτιμότερο για χρήση σε εφαρμογές έναντι της χρησιμοποίησης ξεχωριστά των επιμέρους στοιχείων που τον απαρτίζουν (επεξεργαστής, μνήμες, συσκευές εισόδου-εξόδου, διεπαφές). Αυτά τα χαρακτηριστικά μπορούν να συνοψισθούν στα παρακάτω: Χαμηλό κόστος. Είναι ένα από τα βασικότερα χαρακτηριστικά που κάποιος σχεδιαστής λαμβάνει υπόψιν. Η συνεχής απελευθέρωση στην αγορά μικροελεγκτών από διάφορες εταιρίες βελτίωσαν την ποιότητα αυτών και μείωσαν τις τιμές λόγω του ανταγωνισμού. Μικρότερο μέγεθος. Η ολοκλήρωση των βασικών στοιχείων από τα οποία απαρτίζεται μείωσε τις διαστάσεις σε σχέση με τη χρήση των επιμέρους στοιχείων ως σύνολο. Χαμηλή κατανάλωση ισχύος. Το γεγονός ότι οι μικροελεγκτές λειτουργούν σε συγκριτικά χαμηλές συχνότητες που φτάνουν και τα 32KHz οδηγεί στην κατανάλωση μικρών ποσών ισχύος της τάξης των mw ακόμα και μw. Επιπλέον έχουν τη δυνατότητα να εισέρχονται σε κατάσταση αναμονής sleep mode καταστέλλουν προσωρινά δηλαδή τη λειτουργία της ΚΜΕ και των περιφερειακών, όποτε αυτό μπορεί να γίνει μειώνοντας κατά πολύ την κατανάλωση ισχύος του μικροελεγκτή. Έτσι μπορούν να χρησιμοποιηθούν σε εφαρμογές με αυστηρές απαιτήσεις ως προς αυτήν την παράμετρο. Αυτονομία. Αυτό επιτυγχάνεται μέσω της ενσωμάτωσης σύνθετων περιφερειακών υποσυστημάτων όπως μνήμες και θύρες επικοινωνίας. Έτσι 31 πολλοί μικροελεγκτές δεν χρειάζονται κανένα άλλο ολοκληρωμένο κύκλωμα για να λειτουργήσουν. Επίτευξη ελέγχου ή μετρήσεων σε πραγματικό χρόνο. Ενώ οι ηλεκτρονικοί υπολογιστές πρέπει να τρέχουν λειτουργικά συστήματα πραγματικού χρόνου Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 19

20 (όπως RT-Linux, QNX κ.ά.) για να το επιτύχουν, οι μικροελεγκτές δεν απαιτούν επιπλέον λογισμικό. Μειωμένες εκπομπές ηλεκτρομαγνητικών παρεμβολών και μειωμένη ευαισθησία σε αντίστοιχες παρεμβολές από άλλες ηλεκτρικές και ηλεκτρονικές συσκευές. Το πλεονέκτημα αυτό προκύπτει από το μικρότερο αριθμό και μήκος εξωτερικών διασυνδέσεων καθώς και τις χαμηλότερες ταχύτητες λειτουργίας. Περισσότεροι διαθέσιμοι ακροδέκτες για ψηφιακές εισόδους-εξόδους (για δεδομένο μέγεθος ολοκληρωμένου κυκλώματος), λόγω της μη δέσμευσής τους για τη σύνδεση εξωτερικών περιφερειακών. Η λειτουργία ενός μικροελεγκτή ξεκινάει με το πάτημα ενός πλήκτρου ή με κάποιο αίτημα διακοπής που μπορεί να σταλεί από πολλές πηγές. Έτσι, όταν υπάρξει κάποιο συμβάν, τότε ένα σύστημα αιτημάτων διακοπής ειδοποιεί τον επεξεργαστή για αυτό, ώστε ανάλογα την προτεραιότητα που υπάρχει αυτός να πράξει ανάλογα, συνήθως εκτελώντας τη ρουτίνα εξυπηρέτησης διακοπής. Όταν αυτή ολοκληρωθεί, ο επεξεργαστής συμβουλευόμενος τον καταχωρητή στον οποίο αποθηκεύτηκε η διεύθυνση της επόμενης προς εκτέλεση εντολής, την εκτελεί συνεχίζοντας έτσι την ομαλή ροή του προγράμματος. Τέτοια συμβάντα μπορεί να είναι παραδείγματος χάρι, μια μετατροπή αναλογικού σε ψηφιακό σήμα, η λήψη δεδομένων από κάποια συσκευή εισόδου, η υπερχείλιση ενός μετρητή, κτλ. Οι μικροελεγκτές αποτελούν μέρος ενός εντυπωσιακού αριθμού προϊόντων τα οποία βρίσκονται γύρω μας. Το αυτοκίνητό μας, τα τηλεχειριστήριά μας, η τηλεόρασή μας, οι ψηφιακές κάμερες, τα κινητά τηλέφωνα, τα πλυντήριά μας είναι μερικά από αυτά. Στην ουσία δεν θα ήταν υπερβολή να πούμε ότι η χρήση μικροελεγκτών στις μέρες μας είναι καθολική και γενικά κάθε προϊόν το οποίο αλληλεπιδρά με ένα χρήστη περιλαμβάνει ένα μικροελεγκτή, ο οποίος παίζει το ρόλο του «εγκεφάλου» των ηλεκτρονικών κυκλωμάτων. Δεν είναι τυχαίο πλέον, ότι πολλές βιομηχανίες προσανατολίζονται σε εφαρμογές όπου αποτελούνται από ηλεκτρικά κυκλώματα τα 32οποία ελέγχονται από μικροελεγκτή σε αντίθεση με την πρακτική του παρελθόντος όπου χρησιμοποιούσαν ογκώδεις ηλεκτρονικούς υπολογιστές (PC) ή ηλεκτρονόμους και σύνθετη αλλά μόνιμη λογική. Η χρήση μικροελεγκτών ξεκίνησε πριν από περίπου τριάντα πέντε χρόνια. Το πρώτο μοντέρνο ενσωματωμένο σύστημα (embedded system) ήταν ο υπολογιστής του διαστημοπλοίου Apollon, ο οποίος αναπτύχθηκε από τον Charles Stark Draper στο Εργαστήριο Instrumentation Laboratory του ΜΙΤ. Λόγω της ραγδαίας ανάπτυξης της ηλεκτρονικής έγινε δυνατή η βιομηχανική παραγωγή τους με μικρό κόστος. 20 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

21 Οι περισσότεροι μικροελεγκτές έχουν δυνατότητες πολλαπλών αναλογικοψηφιακών μετατροπών (ADC είσοδοι) για λήψη μετρήσεων από όλων των ειδών αισθητήρων που υπάρχουν στην αγορά, έλεγχο κινητήρων (συνεχούς και εναλλασσόμενου ρεύματος, βηματικούς κ.λπ.) με χρήση διαμόρφωσης εύρους παλμού (PulseWidth Modulation PWM) και δυνατότητα προγραμματισμού κατευθυντών PID. Είναι λοιπόν απαραίτητο να δέχονται κάποια είσοδο από τη συσκευή την οποία ελέγχουν. Αυτός είναι ο σκοπός του αναλογικού προς ψηφιακό μετατροπέα. Οι εφαρμογές που εκτελούν θα πρέπει να έχουν σχετικά μικρό μέγεθος ώστε να χωρούν στη διαθέσιμη ενσωματωμένη μνήμη του μικροελεγκτή γιατί διαφορετικά υπάρχει η ανάγκη για επέκταση σε εξωτερική μνήμη. Ο κώδικας που είναι γραμμένος σε γλώσσα προγραμματισμού υψηλού επιπέδου συμπυκνώνεται σε συμπαγή κώδικα μηχανής και αποθηκεύεται στη μνήμη του μικροελεγκτή με τη χρήση της γλώσσας assembly και των μεταγλωττιστών. 2.4 Ενσωματωμένα συστήματα (embedded systems) Όπως αναπτύχθηκε παραπάνω οι μικροελεγκτές χρησιμοποιούνται σε μια μεγαλη γκάμα εφαρμογών οι οποίες ανήκουν στην κατηγορία των ενσωματωμένων συστημάτων. Ενσωματωμένο σύστημα είναι ένα υπολογιστικό σύστημα ειδικού σκοπού σχεδιασμένο να εκτελεί μια ή λίγες εξειδικευμένες εφαρμογές, συχνά με τον περιορισμό της επεξεργασίας σε πραγματικό χρόνο. Τα ενσωματωμένα συστήματα ελέγχονται από έναν ή περισσότερους μικροεπεξεργαστές ή επεξεργαστές ψηφιακού σήματος και συνήθως ενσωματώνονται ηλεκτρονικά και μηχανικά μέρη σε μια συσκευή. Το κύριο χαρακτηριστικό τους είναι ότι χειρίζονται αποκλειστικά μια συγκεκριμένη εργασία, σε αντίθεση με τους υπολογιστές γενικού σκοπού, όπως οι προσωπικοί υπολογιστές, που ικανοποιούν μια μεγάλη ποικιλία αναγκών του χρήστη. Πρόκειται για συσκευές που δεν μπορούν να λειτουργήσουν μεμονωμένα. Στην πλειοψηφία τους αποτελούνται από μικρά υπολογιστικά μέρη, τα οποία βρίσκονται εντός μίας μεγαλύτερης συσκευής που εξυπηρετεί ένα γενικό σκοπό. Γι αυτό ονομάζονται ενσωματωμένα και βρίσκονται σε μηχανισμούς όπως, σε αυτοκίνητα: τα υποσυστήματα ABS, σε ελέγχο κατανάλωσης κλπ ή σε ένα υπολογιστή: το πληκτρολόγιο, το ποντίκι, το μόντεμ και άλλα περιφερειακά. Οι επεξεργαστές των ενσωματωμένων συστημάτων και οι αρχιτεκτονικές ποικίλουν, από 4-bit επεξεργαστές σε 128-bit εξειδικευμένους επεξεργαστές ψηφιακών σημάτων. Οι συσκευές αυτές μπορεί να τρέχουν από ένα μικρό πρόγραμμα σε γλώσσα μηχανής από μια ROM χωρίς λειτουργικό σύστημα (γνωστό Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 21

22 ως firmware) έως και ένα λειτουργικό σύστημα πραγματικού χρόνου που εκτελεί πολυνηματικές εφαρμογές σε γλώσσες υψηλού επιπέδου ή ακόμα και διάφορες εκδόσεις των Windows ή Linux. Γενικά υπάρχει μια μεγάλη ποικιλία και κάποια δυσκολία στον αυστηρό ορισμό των ενσωματωμένων συστημάτων, καθώς υπάρχουν 14 συστήματα αυξημένης πολυπλοκότητας που περιλαμβάνουν πολλαπλές μονάδες, περιφερειακά ή και δίκτυα. Επειδή τα ενσωματωμένα συστήματα είναι ειδικού σκοπού και απαιτούν λίγους υπολογιστικούς πόρους, βελτιστοποιούνται, ώστε να μειωθεί το μέγεθος και το κόστος και να αυξηθεί η αξιοπιστία τους και η απόδοση. Η διεπαφή με χρήστη ποικίλει: πολλές φορές δεν είναι καθόλου απαραίτητη, άλλοτε περιορίζεται σε μερικά κουμπιά, λυχνίες LED και LCD οθόνες ή μερικές φορές έχουν γραφική διεπαφή που θυμίζει προσωπικούς υπολογιστές. Για να επικοινωνήσουν τα ενσωματωμένα συστήματα με τον εξωτερικό κόσμο χρησιμοποιούν διάφορα περιφερειακά όπως: Επιφάνειες σειριακής επικοινωνίας RS-232 Επιφάνειες σύγχρονης σειριακής επικοινωνίας I2C SPI Universal Serial Bus Multi Media Cards Networks Ethernet General purpose I/O ADC/DAC Χρονιστές Debugging JTAG, ISP Το εύρος των εφαρμογών στις οποίες χρησιμοποιούνται ενσωματωμένα συστήματα εκτείνεται από φορητές συσκευές όπως ψηφιακά ρολόγια χειρός και συσκευές αναπαραγωγής μουσικής έως μεγάλες εγκαταστάσεις όπως φωτεινοί σηματοδότες, ελεγκτές γραμμών παραγωγής και συστήματα που έλεγχου τη λειτουργιά πυρηνικών εργοστασίων παράγωγης ενεργείας. Παρουσιάζουν μια ευρεία περιοχή χρήσης. Τα τηλεπικοινωνιακά συστήματα χρησιμοποιούν πολλά ενσωματωμένα συστήματα, όπως διακόπτες τηλεφώνου για το δίκτυο προς κινητά τηλέφωνα. Ενσωματωμένα συστήματα χρησιμοποιούνται, λοιπόν, στα τηλεφωνικά κέντρα για τον έλεγχο του δικτύου, στα κινητά τηλεφωνά, στα δίκτυα υπολογιστών που λειτουργούν ως αυτόνομοι δρομολογητές δεδομένων, στους σταθμούς βάσης κινητής τηλεφωνίας ή ασύρματης επικοινωνίας. 22 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

23 Επίσης χρησιμοποιούνται στα καταναλωτικά συστήματα πολυμέσων, όπως σε ψηφιακές φωτογραφικές μηχανές, σε παιχνιδομηχανές, στα PDAs στους δεκτές GPS, στους εκτυπωτές, στις συσκευές αναπαραγωγής DVD και σε άλλα ηλεκτρονικά προϊόντα. Χρησιμοποιούνται ακόμα για τον οικιακό αυτοματισμό για τον έλεγχο των ηλεκτροκινητήρων, για την αύξηση ασφάλειας των αυτοκίνητων, για τη μείωση των ρύπων και για τη διαχείριση πτήσης αεροσκαφών, σε συστήματα ασφάλειας όπως anti-lock breaking system (ABS). Ο ιατρικός εξοπλισμός παρουσιάζει ευρεία χρήση όσον αφορά τα διαγνωστικά συστήματα και τα συστήματα παρακολούθησης ζωτικών λειτουργιών, καθώς επίσης και τα συστήματα ακτινοβολίας. Ο σχεδιασμός και η υλοποίηση μιας εφαρμογής για ένα ενσωματωμένο σύστημα είναι αρκετά διαφορετικός και υπάρχουν περισσότερες προκλήσεις σε σχέση με τον τυπικό προγραμματισμό για προσωπικούς υπολογιστές. Ο κώδικας πρέπει όχι μόνο να παρέχει την προβλεπόμενη λειτουργικότητα, αλλά και να εκτελείται έτσι ώστε να προλαβαίνει κάποιες προθεσμίες, να χωρά στην διαθέσιμη μνήμη και να καλύπτει τους περιορισμούς στην κατανάλωση ενέργειας. Επίσης μερικά συστήματα αναμένεται να λειτουργούν συνεχώς για μεγάλο χρονικό διάστημα χωρίς σφάλματα ή να ξεπερνούν τα σφάλματα από μόνα τους. 2.5 Κατηγορίες μικροελεγκτών AVR (Atmel) Η οικογένεια των μικροελεγκτών AVR της εταιρείας Atmel χωρίζεται σε τρεις ομάδες: tinyavr AVR (Classic AVR) megaavr Η διαφορά μεταξύ τους είναι τα διαθέσιμα χαρακτηριστικά κάθε μικροελεγκτή. Οι tinyavr είναι συνήθως μικροελεγκτές με μικρότερο αριθμό ακροδεκτών (pincount) ή περιορισμένες δυνατότητες συγκρινόμενοι με τους megaavr's. Όλοι οι AVR έχουν το ίδιο ρεπερτόριο εντολών (instruction set) και οργάνωση μνήμης έτσι ώστε να διευκολύνεται η αλλαγή του μικροελεγκτή μιας εφαρμογής όταν αυτό απαιτηθεί. Οι μικροελεγκτές AVR εκτός από την CPU περιλαμβάνουν ένα σύνολο περιφερειακών μονάδων όπως στατική RAM (SRAM), EEPROM, διαύλους διασύνδεσης με εξωτερική SRAM μετατροπέα αναλογικού σήματος σε ψηφιακό (Analog to DigitalConverter), μονάδα πολλαπλασιασμού (Hardware Multiplier), Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 23

24 μονάδες σύγχρονης ή/και ασύγχρονης επικοινωνίας (UART, USART) και πολλά άλλα περιφερειακά. Αν από οποιονδήποτε μικροελεγκτή AVR (Tiny, Classic ή Mega αφαιρέσουμε όλα τα περιφερειακά θα μείνει η κεντρική μονάδα επεξεργασίας (AVR Core). Η κεντρική αυτή μονάδα είναι ίδια για όλα τα μέλη της οικογένειας των AVR. Όταν θέλουμε να επιλέξουμε τον κατάλληλο AVR για μία εφαρμογή πρέπει να έχουμε υπόψη ότι ο χαρακτηρισμός tinyavr, Classic AVR και megaavr δεν είναι χαρακτηρισμός επιδόσεων αλλά ένδειξη της πολυπλοκότητας του μικροελεγκτή: πολλά περιφερειακά = megaavr, περιορισμένος αριθμός περιφερειακών = tinyavr. Ο κλασσικός AVR (Classic AVR) είναι κάπου στη μέση αν και οι διακρίσεις μεταξύ των ομάδων γίνονται όλο και πιο συγκεχυμένες. 2.6 Δίκτυο GSM Συνοπτική Περιγραφή GSM (Global System for Mobile Communications): είναι ένα πρότυπο που αναπτύχθηκε από το Ευρωπαϊκό Ινστιτούτο Τηλεπικοινωνιακών Προτύπων (ETSI) για να περιγράψει τις τεχνολογίες για τη δεύτερη γενιά (ή " 2G ") ψηφιακά κυψελοειδή δίκτυα. Αναπτύχθηκε ως αντικατάσταση για τα πρώτης γενιάς αναλογικά δίκτυα κινητής τηλεφωνίας. Το πρότυπο GSM αρχικά περιέγραψε ένα ψηφιακό δίκτυο μεταγωγής κυκλωμάτων για πλήρως αμφίδρομη φωνητική τηλεφωνία. Το πρότυπο έχει επεκταθεί με το χρόνο για να περιλαμβάνει τα πρώτα δεδομένα κυκλωματος μεταφοράς.ταχύτητες μετάδοσης πακέτων δεδομένων αυξήθηκαν στη συνέχεια, μέσω EDGE. Το πρότυπο GSM είναι διαδέχθηκε η τρίτη γενιά (ή " 3G ") UMTS πρότυπο που αναπτύχθηκε από το 3GPP. GSM δίκτυα θα εξελιχθούν περαιτέρω, καθώς αρχίζουν να ενσωματώνουν τέταρτη γενιά (ή " 4G ") LTE Advanced πρότυπα.. Η GSM Association εκτιμά ότι οι τεχνολογίες που ορίζονται στο πρότυπο GSM εξυπηρετούν το 80% του παγκόσμιου πληθυσμού, που περιλαμβάνει πάνω από 5 δισ. άνθρωπους σε περισσότερες από 212 χώρες και εδάφη, κάνοντας το GSM το πιο διαδεδομένο πρότυπο από τα πολλά ήδη υπάρχοντα πρότυπα για τα δίκτυα κινητής τηλεφωνίας. 24 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

25 2.6.2 Δομή Δικτύου Εικ.2.1 :Η δομή ενός δικτύου GSM Το δίκτυο είναι διαρθρωμένο στα εξής επιμέρους τμήματα: Το Base Station Subsystem (Υποσύστημα Σταθμού Βάσης) των σταθμών βάσης και των ελεγκτών τους). Το Network and Switching Subsystem ( υποσύστημα δικτύου και μεταγωγής ) το τμήμα του δικτύου που είναι παρόμοιο με ένα σταθερό δίκτυο.αυτό μερικές φορές ονομάζεται πυρήνας του δικτύου. Το GPRS Core Network, το προαιρετικό μέρος το οποίο επιτρέπει πακέτα με βάση τις συνδέσεις στο Διαδίκτυο. Το Operations support system (το σύστημα υποστήριξης λειτουργίας, OSS) για τη συντήρηση του δικτύου Subscriber Identity Module (SIM) Ένα από τα βασικά χαρακτηριστικά του GSM είναι η κάρτα SIM (δηλαδή η ταυτότητα του κάθε συνδρομητή).η κάρτα SIM είναι μια αποσπώμενη έξυπνη κάρτα που περιέχει πληροφορίες εγγραφής του χρήστη και του τηλεφωνικού καταλόγου. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 25

26 Αυτό επιτρέπει στο χρήστη να διατηρήσει τις ενημερώσεις του ακόμα και μετά την εναλλαγή συσκευών,διατηρώντας πάντα την ίδια κάρτα SIM. Η διεπαφή της κάρτας SIM είναι συμβατή με το ISO IC πρότυπο όπως απαιτείται απο το GSM. Προσαρμόζεται σε 3V και 1.8V. Για την αποφυγή καταστροφών στην SIM card, η παροχή ρεύματος της μονάδας πρέπει ν κλείνει πριν από κάθε χειρισμό πάνω στην κάρτα SIM. Η διεπαφή της κάρτας SIM περιέχει : Power supply output (VSIM), εξοδο παροχής ρεύματος. Bi-direction data signal (SIM_Data), σήμα αμφίδρομης κατεύθυνσης δεδομένων. Clock output (SIM_CLK), έξοδο ρολογιού. Reset signal (SIM_RST), σήμα επανεκκίνησης. Εικ. 2.2 SIM connection 26 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

27 ΚΕΦΑΛΑΙΟ 3 Απαιτούμενο Hardware 3.1 Περιγραφή Απαιτήσεων Σκοπός αυτής της εργασίας δεν είναι η σχεδίαση και υλοποίηση ενός ολοκληρωμένου συστήματος εκ του μηδενός. Σκοπός μας είναι να χρησιμοποιήσουμε επί μέρους υπάρχοντα υποσυστήματα και υλικά, να τα διασυνδέσουμε κατάλληλα μεταξύ τους και να αναπτύξουμε το απαιτούμενο Λογισμικό (Software). Αποτέλεσμα όλων των παραπάνω θα είναι η δημιουργία ενός Ολοκληρωμένου Συστήματος, που θα ικανοποιεί τις προδιαγραφές αυτής της εργασίας. Αναλύοντας βήμα-βήμα τις απαιτήσεις μας για την ολοκλήρωση του Συστήματος, καταλήξαμε ότι απαιτούντα τα ακόλουθα υποσυστήματα: 1) Υποσύστημα GSM (GSM Module). Το υποσύστημα αυτό θα μας δίνει την δυνατότητα να συνδεθεί το σύστημά μας σ ένα δίκτυο GSM. Η πληροφορία των διακινουμένων γραπτών μηνυμάτων (SMS), με το υποσύστημα αυτό, θα μπορεί να δοθεί σε μία εξωτερική συσκευή, μέσω μιας συμβατικής σειριακής θύρας (πχ RS232). Η έρευνα της αγοράς μας οδήγησε στην επιλογή του GSM Module Hilo της εταιρείας Sagem Communications. 2) Υποσύστημα mini PC (PC Module). Το υποσύστημα αυτό θα μας δίνει την δυνατότητα να αναπτύξουμε την κατάλληλη ιστοσελίδα μας (site). Με την χρήση της ιστοσελίδας αυτής θα μπορούμε να διακινούμε, μέσω μιας συμβατικής σειριακής θύρας (πχ RS232) εντολές και καταστάσεις. Η έρευνα της αγοράς μας οδήγησε στην επιλογή του mini PC Module ALIX 3D2 της εταιρείας PC Engines. 3) Μικρουπολογιστικό Σύστημα. Το σύστημα αυτό θα είναι εφοδιασμένο με τις κατάλληλες θύρες εξόδου και εισόδου, ώστε να ικανοποιούνται οι απαιτήσεις της εργασίας για τηλεχειρισμό και τηλεέλεγχο. Επίσης θα διαθέτει και συμβατικές σειριακές θύρες για την διασύνδεσή του με τα παραπάνω υποσυστήματα. Το σύστημα αυτό θα αναπτυχθεί στα πλαίσια αυτής της εργασίας και θα βασίζεται στον μικροελεγκτή ATmega 644PA της Atmel. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 27

28 3.2 Δομή του συστήματος 3.3 GSM Module (Περιγραφή) Για την εκπόνηση της εργασίας και ιδιαίτερα για το κομμάτι της επικοινωνίας μέσω γραπτών μηνυμάτων, έγινε επιλογή του GSM Module Hilo της εταιρείας Sagem Communications (Εικ.3.1) Εικ. 3.1: GSM Module 28 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

29 Το Hilo module είναι ένα από τα μικρότερα GPRS (multislot class 10) quad band modules της αγοράς. Το μικρό μέγεθός (27Χ27Χ3,6 mm) του και η σχετικά χαμηλή τιμή του, σε σχέση με τις αρκετά μεγάλες δυνατότητες που έχει, το καθιστούν ενδιαφέρον για την χρησιμοποίησή του σε πολλές εφαρμογές. Διαθέτει 40pin- Connector (Εικ. 3.3) με πληθώρα ηλεκτρικών σημάτων, που του δίνουν την δυνατότητα να συνδεθεί άνετα με μικρουπολογιστικά συστήματα ή άλλα ηλεκρονικά κυκλώματα. Η κατασκευάστρια εταιρεία το προτείνει για Βιομηχανικές εφαρμογές παραθέτοντας μερικά από τα χαρακτηριστικά του. High temperature range: -40 C to +85 C Low power consumption in idle mode: 1.25 ma in DRX5 Full automotive qualification High input voltage range: 3.2 V to 4.5 V ESD protection < 2 kv Frequency bands: GSM850, EGSM900, DCS1800, PCS 1900 Ενδεικτικά το block διάγραμμα του module φαίνεται στο παρακάτω σχήμα : Εικ. 3.2: Block διάγραμμα Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 29

30 Το ενσωματωμένο USART σε συνδυασμό με το full set of AT commands που διαθέτει, μας δίνει την δυνατότητα να το συνδέσουμε στο σύστημά μας και να αντλήσουμε κάθε απαιτούμενη πληροφορία. Επίσης με τον ίδιο τρόπο και μέσα από τον ίδιο δίαυλο να μεταφέρουμε στο module ότι εντολή είναι απαραίτητη για την υλοποίηση της εφαρμογής. Επιπρόσθετα σήματα για την λειτουργία του module ( τροφοδοσία, σύνδεση κάρτας SIM, ένδειξη λειτουργίας κλπ), φαίνονται αναλυτικά στον πίνακα που ακολουθεί. 30 Εικ. 3.3: Connector Pinout Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

31 3.4 mini PC Module Για τις απαιτήσεις της εργασίας και ιδιαίτερα για το κομμάτι της ανάπτυξης ιστοσελίδας, μέσω της οποίας χρήστες θα επικοινωνούν με το Σύστημα, έγινε επιλογή του mini PC Module ALIX 3D2 της εταιρείας PC Engines (Εικ.3.4) Εικ. 3.4: mini PC Module Το ALIX 3D2 είναι ένα σχετικά μικρών διαστάσεων system board, με αρκετά καλά χαρακτηριστικά για εφαρμογές που δεν απαιτούν, μεγάλη επεξεργαστική ισχύ και μεγάλη αποθηκευτική ικανότητα. Η κατασκευάστρια εταιρεία δίνει για το συγκεκριμένο board τα εξής χαρακτηριστικά : AMD Geode LX CPU, 433 Mhz (LX700) or 500 MHz (LX800) 5x86 CPU, 256 KB cache (64K data + 64K instruction + 128K L2) 1 to 3 Ethernet channels (Via VT6105M, 10 / 100 Mbit/s) 1 or 2 minipci sockets for wireless cards and other expansion 128 or 256 MB DDR SDRAM, 64 bit wide for high memory bandwidth Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 31

32 512 KB flash for PC Engines tinybios CompactFlash + optional 44 pin IDE header for user s operating system and application 7 to 18V (absolute maximum) DC supply through DC jack or passive power over Ethernet 1 serial port (DB9 male) 2 USB 2.0 ports (optional) Header for LPC bus (use for flash recovery or I/O expansion) Η δυνατότητα σύνδεσης μιας σχετικά μικρής CompactFlash μνήμης μας επιτρέπει : 1) Να εγκαταστήσουμε ένα μικρό και ειδικά διαμορφωμένο, για το συγκεκριμένο board (π.χ. Linux -Debian) λειτουργικό σύστημα. Οι απαιτήσεις της εφαρμογής μας δεν απαιτούν κάτι πιο ισχυρό. 2) Η μνήμη αυτή να φιλοξενήσει επίσης και μία απλή ιστοσελίδα με μικρή επεξεργαστική ισχύ και 3) Να παραμείνει αρκετός χώρος για αποθήκευση δεδομένων και παραμέτρων της εφαρμογής. Το ενσωματωμένο Ethernet channel που έχει (Εικ. 3.5), μας δίνει τη δυνατότητα, χωρίς πρόσθετο υλικό (hardware) να έχουμε σύνδεση στο διαδίκτυο και κατ επέκταση επισκεψιμότητα της σχεδιασμένης ιστοσελίδας μας. Pin Nr Pin name Description 1 TX+ transmit positive 2 TX- transmit negative 3 RX+ receive positive 4 VIN power supply 5 VIN 6 RX- receive negative 7 GND power return 8 GND Εικ. 3.5: J1 Ethernet port Και τέλος η ενσωματωμένη standard σειριακή θύρα επικοινωνίας (Εικ. 3.6), μας δίνει τη δυνατότητα, χωρίς πρόσθετο υλικό (hardware) να επικοινωνούμε με το βασικό σύστημα για την ανταλλαγή πληροφοριών από και προς αυτό. 32 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

33 Pin Nr Pin name Description 1 DCD data carrier detect (input) 2 RXD receive data (input) 3 TXD transmit data (output) 4 DTR data terminal ready (output) 5 GND ground 6 DSR data set ready (input) 7 RTS ready to send (output) 8 CTS clear to send (input) 9 RI ring indicator (input) Εικ. 3.6: J1 Serial port 3.5 Μικροελεγκτής AVR Περιγραφή Ο μικροελεγκτής που χρησιμοποιήθηκε στην παρούσα υλοποίηση είναι ένας μικροεπεξεργαστής ATmega 644PA που βασίζεται στην AVR βελτιωμένη RISC αρχιτεκτονική. Εκτελώντας ισχυρές εντολές σε έναν κύκλο ρολογιού, ο ATmega 644PΑ επιτυγχάνει διαμεταγωγή (ταχύτητα μεταφοράς πληροφορίας, δηλαδή χρονικό ρυθμό με τον οποίον αποστέλλονται ή λαμβάνονται δεδομένα η οποία προσεγγίζει το 1 MIPS ανά MHz, επιτρέποντας έτσι στο σχεδιαστή του συστήματος να βελτιστοποιήσει την κατανάλωση ενέργειας σε σχέση με την ταχύτητα επεξεργασίας. Ο μικροελεγκτής αυτός υποστηρίζεται από μια πλήρη γκάμα προγραμμάτων και εργαλείων ανάπτυξης όπως: μεταγλωτιστές της γλώσσας προγραμματισμού C, προγράμματα αντοπισμού σφαλμάτων/ προσομοιωτές, εξομοιωτές κυκλώματος κτλ. Ο ΑΤ mega 644A είναι ένας ισχυρός μικροελεγκτής ο οποίος παρέχει μια ιδιαίτερα ευέλικτη και οικονομικά αποδοτική λύση σε πολλά ενσωματωμένα συστήματα ελέγχου. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 33

34 Εικ.3.7: Block Diagram Atmega644 Ο πυρήνας του AVR συνδυάζει ένα πλούσιο σύνολο εντολών με 32 καταχωρητές γενικού σκοπού. Όλοι, και οι 32, καταχωρητές συνδέονται άμεσα με την Αριθμητική Λογική Μονάδα (ALU), επιτρέποντας σε δύο ανεξάρτητους καταχωρητές να είναι προσβάσιμοι με μία μόνο εντολή η οποία εκτελείται σε έναν κύκλο ρολογιού. Η αρχιτεκτονική που προκύπτει είναι περισσότερο αποτελεσματική ως προς τον κώδικα επιτυγχάνοντας ταυτόχρονα, διαμεταγωγή μέχρι και δέκα φορές πιο γρήγορη από ότι οι συμβατικοί CISC μικροεπεξεργαστές. Ο ATmega 644PA έχει τα ακόλουθα χαρακτηριστικά: 64K bytes μιας προγραμματιζόμενης Flash με δυνατότητες ανάγνωσης και εγγραφής, 2Κ bytes EEPROM, 4K bytes SRAM, 32 I/O lines γενικού σκοπού, 32 καταχωρητές γενικού σκοπού, Real Time Counter (RTC), τρεις ευέλικτους Τimer/Counters και PWM, 2 USARTs, μία προσανατολισμένη σε byte 2 καλωδίων σειριακή διεπαφή, ένα 8 καναλιών, 10 bit ADC, προγραμματιζόμενο Watchdog Timer, μία SPI σειριακή θύρα, ΙΕΕΕ std συμβατή JTAG test interface και λογισμικό επιλογής έξι τρόπων εξοικονόμησης ενέργειας. 34 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

35 3.5.2 Περιγραφή ακίδων Εικ.3.8:Pinout Atmega644 VCC Ψηφιακή τάση τροφοδοσίας GND Γείωση Port A (PA7:PA0) H Port A χρησιμεύει σαν αναλογικές εισόδους σε έναν Analog-to-digital Converter. Επίσης προσφέρει μια 8-bit αμφίδρομη θύρα Ι/Ο (Input/Output) με εσωτερικές pull-up αντιστάσεις Port Β (PΒ7:PΒ0) Η Port B είναι μια 8-bit αμφίδρομη θύρα Ι/Ο με εσωτερικές pull-up αντιστάσεις (που έχουν επιλεγεί για κάθε bit). Port D (PD7:PD0) Η Port D είναι μια 8-bit αμφίδρομη θύρα Ι/Ο με εσωτερικές pull-up αντιστάσεις (που έχουν επιλεγεί για κάθε bit). RESET Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 35

36 Είσοδος reset. Χαμηλό επίπεδο σε αυτή την ακίδα για περισσότερο από την ελάχιστη διάρκεια παλμού, παράγει reset, ακόμα και αν το ρολόι δε λειτουργεί. Μικρότεροι παλμοί δεν εγγυώνται reset. XTAL1 Είσοδος στον αναστρέφων ταλαντωτή ενίσχυσης και είσοδος στο εσωτερικό ρολόι λειτουργίας του κυκλώματος. XTAL2 Έξοδος από τον αναστρέφων ταλαντωτή ενίσχυσης. AVCC Η AVCC είναι η ακίδα τάσης τροφοδοσίας για την Port A και τον Analog-to-digital Converter. Πρέπει να είναι εξωτερικά συνδεδεμένη με το VCC, ακόμα και αν το ADC δεν χρησιμοποιείται. Αν το ADC χρησιμοποιείται, πρέπει να συνδεθεί στο VCC μέσω ενός κατωπερατού φίλτρου. AREF Είναι η αναλογική ακίδα για τον Analog-to-digital Converter Διακοπές- Interrupt Handling Σύμφωνα με τη μέθοδο των διακοπών, ή interrupts, όταν μια περιφερειακή συσκευή χρειαστεί εξυπηρέτηση, έχει τη δυνατότητα να ειδοποιήσει η ίδια απευθείας το μικροεπεξεργαστή, ενεργοποιώντας κάποια ακίδα του, που προορίζεται ειδικά γι αυτό το σκοπό. Ο μικροεπεξεργαστής απαντώντας άμεσα στην αίτηση για εξυπηρέτηση, διακόπτει το πρόγραμμα που εκτελείται εκείνη τη στιγμή και εκτελεί μια συγκεκριμένη υπορουτίνα, που έχουμε γράψει για τη συγκεκριμένη εξυπηρέτηση. Όταν ολοκληρωθεί η εκτέλεση αυτής της υπορουτίνας, το πρόγραμμα που διακόπηκε, συνεχίζεται από το σημείο που έγινε η διακοπή. Ο AVR υποστηρίζει αρκετές διαφορετικές πηγές διακοπών σε κάθε μία από τις οποίες αντιστοιχεί ένας διαφορετικός δείκτης προγράμματος στο χώρο της μνήμης προγράμματος. Κάθε διακοπή έχει ένα bit επίτρεψης (enable bit) σε κατάλληλο καταχωρητή ελέγχου της πηγής της διακοπής, ανεξάρτητο από αυτό των άλλων διακοπών, στο οποίο θα πρέπει να δοθεί η τιμή 1 ώστε να ενεργοποιηθεί η συγκεκριμένη διακοπή. Επίσης υπάρχει ένα γενικό bit επίτρεψης διακοπών (Global Interrupt Enable bit) που βρίσκεται στον καταχωρητή κατάστασης το οποίο πρέπει να έχει την τιμή 1 προκειμένου να ενεργοποιηθεί ολόκληρος ο μηχανισμός διακοπών. 36 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

37 Στον παρακάτω πίνακα δίνονται τα διανύσματα διακοπών και οι λόγοι που μπορούν να προκαλέσουν αίτημα διακοπής : Vector Program Source Interrupt No. Address Definition 1 $0000 RESET External Pin, Power-on Reset, 2 $0002 INT0 External Interrupt Request 0 3 $0004 INT1 External Interrupt Request 1 4 $0006 INT2 External Interrupt Request 2 5 $0008 PCINT0 Pin Change Interrupt Request 0 6 $000A PCINT1 Pin Change Interrupt Request 1 7 $000C PCINT2 Pin Change Interrupt Request 2 8 $000E PCINT3 Pin Change Interrupt Request 3 9 $0010 WDT Watchdog Time-out Interrupt 10 $0012 TIMER2_COMPA Timer/Counter2 Compare Match A 11 $0014 TIMER2_COMPB Timer/Counter2 Compare Match B 12 $0016 TIMER2_OVF Timer/Counter2 Overflow 13 $0018 TIMER1_CAPT Timer/Counter1 Capture Event 14 $001A TIMER1_COMPA Timer/Counter1 Compare Match A 15 $001C TIMER1_COMPB Timer/Counter1 Compare Match B 16 $001E TIMER1_OVF Timer/Counter1 Overflow 17 $0020 TIMER0_COMPA Timer/Counter0 Compare Match A 18 $0022 TIMER0_COMPB Timer/Counter0 Compare match B 19 $0024 TIMER0_OVF Timer/Counter0 Overflow 20 $0026 SPI_STC SPI Serial Transfer Complete 21 $0028 USART0_RX USART0 Rx Complete 22 $002A USART0_UDRE USART0 Data Register Empty 23 $002C USART0_TX USART0 Tx Complete 24 $002E ANALOG_COMP Analog Comparator 25 $0030 ADC ADC Conversion Complete 26 $0032 EE_READY EEPROM Ready Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 37

38 27 $0034 TWI 2-wire Serial Interface 28 $0036 SPM_READY Store Program Memory Ready 29 $0038 USART1_RX USART1 Rx Complete 30 $003A USART1_UDRE USART1 Data Register Empty 31 $003C USART1_TX USART1 Tx Complete Ο παραπάνω πίνακας προσδιορίζει το βαθμό προτεραιότητας των διαφόρων interrupts. Όσο πιο χαμηλή είναι η διεύθυνση τόσο πιο μεγάλος ο βαθμός προτεραιότητας. Τη μέγιστη προτεραιότητα έχει το Reset, ενώ ακολουθεί η INT0, η εξωτερική διακοπή 0. Σε όλα τα interrupts για να ενεργοποιηθούν πρέπει να εκχωρηθεί στο αντίστοιχο bit το λογικό ένα μαζί με το Global Interrupt Enable bit στον Status Register προκειμένου να είναι ενεργοποιημένος ο μηχανισμός των διακοπών. Μόλις ένα interrupt ενεργοποιηθεί, το Global Interrupt Enable bit καθαρίζεται και όλες οι υπόλοιπες διακοπές απενεργοποιούνται. Στο software βέβαια ο προγραμματιστής μπορεί να προγραμματίσει το σύστημα έτσι ώστε να ενεργοποιούνται ένθετες διακοπές με το να γράψει λογικό ένα στο αντίστοιχο bit του Global Interrupt Enable, με τον τρόπο αυτό όλες οι ενεργοποιημένες interrupts μπορούν να διακόψουν την τρέχουσα interrupt υπορουτίνα. Στη συνέχεια το bit αυτόματα παίρνει την τιμή ένα, όταν δηλαδή εκτελείται επιστροφή από την interrupt εντολή- RETI. Υπάρχουν δύο βασικοί τύποι διακοπών. Οι διακοπές που ανήκουν στον πρώτο τύπο είναι ακμοπυροδότητες, δηλαδή ενεργοποιούνται τη στιγμή που ένα γεγονός θέτει 1 στη αντίστοιχη σημαία διακοπών (Interrupt Flag), ενώ οι διακοπές του δεύτερου τύπου είναι διακοπές κατάστασης δηλαδή παραμένουν ενεργοποιημένες για όσο χρόνο ισχύει η συνθήκη διακοπής. Τα περισσότερα περιφερειακά υποστηρίζουν και τους δύο τύπους διακοπών και η επιλογή γίνεται κατά τον προγραμματισμό τους. 38 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

39 ΚΕΦΑΛΑΙΟ 4 Σχεδίαση Συστήματος 4.1 Εργαλεία που χρησιμοποιήθηκαν Για το σχεδιασμό όσο και για την υλοποίηση του συστήματος χρησιμοποιήθηκαν κάποια αναπτυξιακά εργαλεία, τα οποία επιλέχθηκαν έτσι ώστε να μας εξυπηρετούν και να ικανοποιούν τις απαιτήσεις μας. Αυτές ήταν η κατασκευή του board στο οποίο βρίσκεται όλο το σύστημά μας, καθώς επίσης και ορισμένες συσκευές για τις οποίες απαιτείται ο προγραμματισμός τους πριν χρησιμοποιηθούν. Οι συσκευές αυτές είναι τα οποία απαιτούν συγκεκριμένο software των αντίστοιχων εταιριών για να μπορέσουν να χρησιμοποιηθούν σε εφαρμογές. Πιο συγκεκριμένα τα εργαλεία που χρησιμοποιήσαμε είναι τα παρακάτω: Το Orcad και συγκεκριμένα το Capture (Version 9.2) με τη βοήθεια τoυ οποίου κατέστει εφικτή η σχεδίαση του σχηματικού διαγράμματος του ηλεκτρικού - ηλεκτρονικού κυκλώματος της πλακέτας. Για την εκκίνηση του προγράμματος ακολουθούμε το path: Έναρξη Προγράμμματα Orcad Capture. Στην ακόλουθη εικόνα φαίνεται η βασική οθόνη του προγράμματος, στην οποία φαίνονται οι ακόλουθες περιοχές. Λωρίδα τίτλου Λωρίδα επιλογής εντολών Κύρια εργαλειοθήκη Περιοχή παρακολούθησης ενεργειών Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 39

40 Λωρίδα τίτλου Λωρίδα επιλογής εντολών Εργαλειοθήκη Περιοχή παρακολούθησης ενεργειών Η εργαλειοθήκη είναι σημαντικό εργαλείο.εκτός απο τα τυποποιημένα εικονίδια των Windows περιλαμβάνει και άλλα εξειδικευμένα για τη σχεδίαση κυκλωμάτων, ανάλογα με το σχήμα του καθενός. Πλήρης περιγραφή του περιβάλλοντος Είναι σκόπιμο να γίνει μια πληρέστερη περιγρφή του περιβάλλοντος, το οποίο έχει διαμορφωθεί σε δύο βασικές περιοχές (επόμενη εικόνα) : Περιοχή του Project Manager (αριστερό παράθυρο) και Περιοχή του Schematic Editor (δεξιό παράθυρο). 40 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

41 Project Manager Εργαλειοθήκη Schematic Editor του Περιοχή σχεδίασης (Schematic Editor) Βασικά εργαλεία του περιβάλλοντος θεωρούνται οι δύο εργαλειοθήκες, οι οποίες είναι κινητές και το μέγεθός τους προσαρμόσιμο. 1. Η κύρια εργαλειοθήκη του Capture επιδρά και στον Project Manager και στο Schematic Editor και περιλαμβάνει : Μία ομάδα με τα κλασσικά εικονίδια των WINDOWS. Μία ομάδα τεσσάρων εικονιδίων που επηρρεάζουν το μέγεθος (εργαλεία zoom) και Μία Τρίτη ομάδα εικονιδίων τα οποία εκτελούν διάφορες λειτουργίες και ενεργοποιούνται μόνον εφόσον έχει επιλεγεί ένα από τα αρχεία του Project στο παράθυρο.αυτά τα εικονίδια επιδρούν σε όλο το σχέδιο και τροποποιούν όλα τα υλικά. 2. Schematic Editor περιλαμβάνει την δική του εργαλειοθήκη. Με την χρήση των εργαλείων της εργαλειοθήκης πραγματοποιείται η σχεδίαση οποιουδήποτε κυκλώματος.κάθε εικονίδιο (εργαλείο) εκτελεί την εργασία που εκπροσωπεί. Αν είναι υποφωτισμένο σημαίνει ότι αυτή τη στιγμή Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 41

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

43 Για να υλοποιηθεί το κύκλωμα πρέπει να βρεθούν τα υλικά, τα οποία ευρίσκονται μέσα σε βιβλιοθήκες που διαθέτει το πρόγραμμα ή δημιουργεί ο χρήστης. Για τις ανάγκες της δικής μας σχεδίασης, εκτός από τις βασικές βιβλιοθήκες του προγράμματος δημιουργήσαμε και μία δική μας βιβλιοθήκη, που την ονομάσαμε MYPARTS και περιλαμβάνει τα υλικά εκείνα που χρειαζόμασταν στις ακριβής διαστάσεις τους και με τα απαραίτητα και ακριβή footprints και δεν περιέχονταν στις υπάρχουσες βιβλιοθήκες, όπως τα :ATmega163, ATmega644A/PA, ATtiny25/45/85, DEVLIN TP1261MA, DIPSW, FINDER_40.51, FINDER_40.52, LP3873, MAX232, MAX3323, MAX Κυκλώματα Τροφοδοσιών Το LM78L05C/TO92 (U1) : Η σειρά LM78LXX τριών ακίδων είναι διαθέσιμη με αρκετά σταθερές τάσεις εξόδου που την καθιστούν χρήσιμη σε ένα ευρύ φάσμα εφαρμογών. Το «ΧΧ» εκφράζει τα Volts της τάσης εξόδου. Επειδή χρειαζόμαστε μια τάση εξόδου των 5V γι αυτό και είναι απαραίτητη η χρήση του LM78L05C. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 43

44 LP3873 (U5) : Η σειρά LP3873/LP3876 γρήγορων εξαιρετικά χαμηλών dropout γραμμικών ρυθμιστικών αρχών λειτουργούν από 2,5V έως 7,0 V τροφοδοσία εισόδου. Και ένα ευρή φάσμα από προκαθορισμένες επιλογές τάσεων εξόδου είναι διαθέσιμες. Στο κύκλωμά μας λειτούργεί σαν υποβιβαστής τάσης, αφού για τάση εισόδου 5V, μας δίνει τάση εξόδου 3.3V. Τυπική εφαρμογή κυκλωμάτων Και στο κυκλωμά μας : 44 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

45 4.3 Κυκλώματα οδήγησης σειριακών Ως κυκλώματα οδήγησης σειριακών χρησιμοποιήσαμε την οικογένεια των ΜΑΧ. Ο AVR έχει 2 σειριακά Ports (TX0/RX0 και TX1/RX1). Οι ηλεκτρικές στάθμες που βγαίνουν από αυτά τα Ports είναι 0-5 Volts.Το πρώτο από αυτά τα Ports (Port0) το χρησιμοποιούμε για την επικοινωνία με το GSM Module, το οποίο διαθέτει και αυτό σειριακό Port. Οι ηλεκτρικές στάθμες όμως αυτού του Port είναι 0-3,7. Για το σκοπό αυτό χρησιμοποιούμε το MAX3377 το οποίο κάνει μετατροπή τάσεων από 0-5 σε Δηλ αν στην ακίδα 13 (TXD0) πάρει 5 Volts θα βγάλει στη ακίδα 2 2,8 Volts. Αντίστοιχα αν στην ακίδα 3 πάρει 2,8 Volts θα βγάλει στην ακιδα 12, 5Volts. Κάτι αντίστοιχο συμβαίνει και για το άλλο Port του AVR (Port1) το οποίο χρησιμοποιούμε για την επικοινωνία με το PC Module το οποίο όμως στο σειριακό του έχει ηλεκτρικές στάθμες Volts. Την αντίστοιχη μετατροπή τάσεων σε αυτή την περίπτωση την κάνει το MAX GSM Module USART MAX3377 (U4) : Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 45

46 4.3.2 mini PC Module USART MAX232 (U3) : Η οικογένεια των MAX220 MAX249 αποτελόυν ρυθμιστές τάσης. 46 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

47 4.4 Κυκλώματα οδήγησης Εισόδων Για την οδήγηση των εισόδων χρησιμοποιήσαμε την οικογένεια των 14050, τα οποία μπορούν να δεχτούν σαν είσοδο μέχρι και 12V και βγάζουν στην έξοδο 5V. 4.5 Κυκλώματα ισχύος Εξόδων Χρησιμοποιήσαμε ρελέ (relay) 2 θέσεων.ο ηλεκτρονόμος ή ρελέ είναι ένας ηλεκτρικός διακόπτης που ανοίγει και κλείνει ένα ηλεκτρικό κύκλωμα κάτω από τον έλεγχο ενός άλλου ηλεκτρικού κυκλώματος. Στην αρχική μορφή του, ένας ηλεκτρομαγνήτης ενεργοποιούσε το διακόπτη, με το άνοιγμα ή κλείσιμο μιας ή περισσότερων επαφών. Εφευρέθηκε από τον Τζόζεφ Χένρυ το Επειδή ένας ηλεκτρονόμος είναι ικανός να ελέγχει ένα κύκλωμα εξόδου υψηλότερης ισχύος από το κύκλωμα εισόδου, μπορεί να θεωρηθεί, γενικά, μια μορφή ηλεκτρικού ενισχυτή. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 47

48 1N4148 1N4148 1N4148 2N3904 2N3904 1N4148 Κάθε επαφή ενός ηλεκτρονόμου μπορεί να είναι Κανονικά-Ανοικτή (Normally Open, NO), Κανονικά-Κλειστή' (Normally Closed, NC) ή μεταγωγικός (change-over), ανάλογα με τον τύπο της. Μια επαφή Κανονικά-Ανοικτή συνδέει το κύκλωμα, όταν ο ηλεκτρονόμος ενεργοποιείται ενώ το κύκλωμα αποσυνδέεται όταν ο ηλεκτρονόμος είναι ανενεργός. Μια τέτοια επαφή καλείται επίσης Επαφή Μορφής A ή επαφή "make". Η επαφή μορφής Α είναι ιδανική για εφαρμογές που απαιτούν την ενεργοποίηση μιας πηγής υψηλής τάσης από απόσταση. Μια επαφή Κανονικά-Κλειστή αποσυνδέει το κύκλωμα, όταν ο ηλεκτρονόμος ενεργοποιείται ενώ το κύκλωμα συνδέεται όταν ο ηλεκτρονόμος είναι ανενεργός. Μια τέτοια επαφή καλείται επίσης Επαφή Μορφής B ή επαφή "break". Η επαφή μορφής Β είναι ιδανική για εφαρμογές που απαιτούν το κύκλωμα να παραμένει κλειστό (ενεργό) μέχρι ο ηλεκτρονόμος να ενεργοποιηθεί. Μια επαφή Μεταγωγική μπορεί να ελέγχει δύο κυκλώματα. Ισοδυναμεί με μια επαφή κανονικά-ανοικτή και μια επαφή κανονικά-κλειστή που έχουν ένα κοινό ακροδέκτη. Μια τέτοια επαφή καλείται επίσης Επαφή Μορφής C. Στη δική μας πλακέτα χρησιμοποιήσαμε το εξής κύκλωμα ισχύος και στις 8 εξόδους μας, που αποτελείται απο δύο διόδους ένα τρανζίστορ και ένα ρελε LS LS Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

49 4.6 Κύκλωμα εκκίνησης GSM Module Για την εκκίνηση του GSM Module απαιτείται παλμός διάρκειας 500 ms περίπου, και πλάτους όση και η τροφοδοσία του. Για το σκοπό αυτό χρησιμοποιήθηκε ένα Bit από τα Ports εξόδου του AVR, η χρήση ενός transistor ήταν απαραίτητη για την προσαρμογή της τάσης. Vcc Κύκλωμα ένδειξης σύνδεσης στο δίκτυο GSM Το GSM Module μετά την σύνδεσή του στο δίκτυο κινητής τηλεφωνίας, δίνει σε ένα διακοπτόμενο παλμό σηματοδοτόντας την σύνδεσή του. Η οπτική ένδειξη στον χρήστη του συστήματος επιτυγχάνεται με την χρήση ενός transistor και μιάς φωτοδιόδου (LED). Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 49

50 4.8 Κυκλωματικό Διάγραμμα Συστήματος Το ολοκληρωμένο σχηματικό διάγραμμα φαίνεται πατακάτω. Καλύτερη μορφή και σε καλύτερη ανάλυση το διάγραμμα αυτό παρατίθεται στο Παράρτημα Γ της Εργασίας. Για επίλυση προβλημάτων συγκόλησης (SMD Socket) του GSM Module κατασκευάστηκε ξεχωριστή πλακέτα γι αυτό. Το σχηματικό της πλακέτας αυτής είναι αυτό που ακολουθεί : 50 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

51 ΚΕΦΑΛΑΙΟ 5 Προγραμματισμός Συστήματος 5.1 Εργαλεία που χρησιμοποιήθηκαν STK-500 Starter Kit Το STK 500 είναι ένα kit εξομοίωσης της Atmel για όσους θέλουν να ασχοληθούν με κώδικα χαμηλού επιπέδου (low level progamming) για τους AVR flash μικροελεγκτές - μικροεπεξεργαστές. Το stk500 ελέγχεται από το AVR Studio IDE (Intergraded Development Environment) σε επίπεδο debuging, κώδικα αλλά και εξoμείωσης. Το αναπτυξιακό προσφέρει : RS232 θύρα επικοινωνίας με Η/Υ για τον προγραμματισμό και έλεγχο Γέφυρα ανόρθωσης 10V - 15V πάνω στη πλακέτα Sockets για 8-, 20-, 28- και 40-pin AVR controller Σειριακό (ISP) on-board προγραμματισμό και παράλληλο High Voltage για όλη την οικογένεια AVR 8 push button και 8 led γενικής χρήσης pin για όλες τις πόρτες για την ευκολότερη διαχείριση του μικροελεγκτή. On-board 2 megabit Data Flash για μόνιμη αποθήκευση δεδομένων Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 51

52 On-board μεταβλητός ταλαντωτής Δεύτερη RS232 πόρτα γενικής χρήσεως Κονέκτορες επέκτασης για Plug-in Modules και πρότυπες πλακέτες. Οι μικροελεγκτές που υποστηρίζονται από το stk 500 είναι: Tiny series: ATtiny11 - ATtiny12 - ATtiny15 - ATtiny28. AT90S series: AT90S AT90S AT90S AT90S AT90S AT90S8535. Mega series: ATmega161 - ATmega AVR studio 4 της Atmel To AVR studio 4 της Atmel (Version ) με το οποίο συντάξαμε τον κώδικα στην γλώσσα προγραμματισμού Assembly. H Assembly είναι μια γλώσσα 52 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

53 χαμηλού επιπέδου αφού επιτρέπει πρόσβαση στις λειτουργίες του επεξεργαστή. Από τα βασικότερα πλεονέκτημα της Assembly είναι η ταχύτητα και η εξοικονόμηση μνήμης, αφού η συμβολική γλώσσα είναι πιο κοντά στο μικροεπεξεργαστή και αξιοποιεί καλύτερα τις δυνατότητές του. Η ανάπτυξη του λογισμικού (software development) αφορά στην παραγωγή μιας ακολουθίας από 0 και 1 η οποία, όταν τοποθετηθεί στις κατάλληλες διευθύνσεις μνήμης ενός μικροεπεξεργαστή και εκτελεστεί, φέρνει το σύστημα σε κάποια επιθυμητή κατάσταση. Γενικά αυτό συνίσταται σε τέσσερα βήματα: 1. Σχεδίαση (Design). Είναι η επιλογή της όλης δομής του προγράμματος και των δεδομένων καθώς και του αλγορίθμου που θα χρησιμοποιηθεί. 2. Κωδικοποίηση (Coding). Είναι το γράψιμο των εντολών στην γλώσσα προγραμματισμού που υλοποιούν τον αλγόριθμο. 3. Μετάφραση (Translation). Είναι η παραγωγή του δυαδικού κώδικα (object code) από το πηγαίο πρόγραμμα (source program) του βήματος ΙΙ. 4. Έλεγχος- Διόρθωση (Testing- Debugging). Είναι ο έλεγχος καλής λειτουργίας (ελέγχουμε αν ο κώδικας όταν εκτελείται δίνει για το σύστημα το επιθυμητό αποτέλεσμα) και η διόρθωση του προγράμματος από τα λάθη οπότε έχουμε επανάληψη των βημάτων ξεκινώντας από το βήμα Ι ή το ΙΙ. Το AVR Studio 4 περιλαμβάνει έναν συντάκτη/διορθωτή (editor), έναν συμβολομεταφραστή (assembler) και έναν αποσφαλματωτή (debugger) και επιτρέπει την αξιοποίηση κάθε προσομοιωτή AVR, του STK500 και κάθε πλακέτας που βασίζεται στον AVR και έχει σχεδιαστεί κατάλληλα. Το εργαλείο λοιπόν αυτό, μεταγλωττίζει το πρόγραμμα, που έχει γραφτεί σε Assembly, σε γλώσσα μηχανής για τον μικροεπεξεργαστή. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 53

54 Εικ.5.1.: Περιβάλλον AVRStudio 4 Μια δυνατότητα που δεν χρησιμοποιήθηκε, είναι η χρήση ενός ειδικού προγραμματιστή του JTAG-DEBUG,ο οποίος σύμφωνα με την κοινότητα μπορεί να χρησιμοποιηθεί παράλληλα με τον simmulator του avrstudio 4 για να παρέχει ένα σύμπλοκο εργαλείο αποσφαλμάτωσης και προσομοίωσης Xampp (Version 1.7.3) Το Xampp είναι ένα πρόγραμμα ελεύθερου λογισμικού. Αποτελείται κυρίως από τον Apache HTTP Server, MySQL βάση δεδομένων και μεταγλωττιστές σεναρίων γραμμένους στις γλώσσες προγραμματισμού PHP και Perl. Εμείς χρησιμοποιήσαμε γλώσσα προγραμματισμού PHP. Τα κριτήρια που λήφθηκαν για την επιλογή της PHP ως εργαλείου για τη συγγραφή της εφαρμογής είναι τα εξής: Κόστος. Η PHP είναι γλώσσα ανοικτού κώδικα, που σημαίνει ότι ο πηγαίος κώδικας είναι διαθέσιμος σε όλους για χρήση, για τροποποίηση και αναδιανομή χωρίς κάποιο κόστος. 54 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

55 Διαθεσιμότητα Πηγαίου Κώδικα. Αντίθετα με τα εμπορικά κλειστού κώδικα προϊόντα, ο ανοικτός διαθέσιμος κώδικας της PHP προσφέρει τη δυνατότητα των τροποποιήσεων του. Έτσι η οποιαδήποτε διόρθωση ή αναβάθμιση μπορεί να γίνει από το χρήστη ή από κάποια ομάδα ανεξάρτητων χρηστών, χωρίς εξάρτηση από κάποια εταιρία. Υποστήριξη. Η Zend, η εταιρία που υποστηρίζει την PHP, χρηματοδοτεί την ανάπτυξη της, προσφέροντας υποστήριξη και σχετικό λογισμικό σε εμπορική βάση. Διεγερσιμότητας. H PHP είναι διαθέσιμη σε πολλά λειτουργικά συστήματα και συνήθως ο κώδικας δουλεύει χωρίς αλλαγές σε διαφορετικά λειτουργικά συστήματα που τρέχουν την PHP. Παραδείγματα λειτουργικών συστημάτων στα οποία λειτουργεί η Php είναι τα Windows, το Linux, FreeBSD, Solaris, IRIX. Απόδοση. Η PHP είναι που αποδοτική. Με ένα φθηνό διακοσμητή μπορούμε να εξυπηρετήσουμε εκατομμύρια επισκέψεων σε ημερήσια βάση. Διασύνδεση με πολλά διαφορετικά συστήματα βάσεων Δεδομένων. Η PHP έχει δικές τις συνδέσεις με πολλά συστήματα βάσεων δεδομένων όπως: MySQL, PostgreSQL, msql, Oracle, dbm, filepro, Hyperwave, Informix, InterBase, Sybase και αλλες. Έχει επίσης ενσωματωμένη SQL διασύνδεση στο επίπεδο αρχείο SQLite. Με τη χρήση του standard ODBC μπορεί να συνδεθεί σε οποιαδήποτε βάση έχει πρόγραμμα οδήγησης ODBC (όπως π.χ. Τα προϊόντα της Microsoft). Ενσωματωμένες Βιβλιοθήκες. Η PHP έχει πολλές ενσωματωμένες βιβλιοθήκες που εκτελούν πολλές χρήσιμες λειτουργίες. Δυναμική δημιουργία εικόνων GIF, σύνδεση με άλλες υπηρεσίες δικτύων, ανάλυση XML, αποστολή , δημιουργία εγγράφων PDF. Αντικειμενοστραφής υποστήριξη. Στην PHP υπάρχουν οι γνωστές από τη C++ και Java αντικειμενοστραφείς λειτουργίες όπως η κληρονομικότητα, οι ιδιωτικές και προστατευμένες ιδιότητες και μέθοδοι, οι αφηρημένες κλάσεις και μέθοδοι, οι διασυνδέσεις, οι συναρτήσεις δημιουργίας, αποδιάρθρωση. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 55

56 Εικ. 5.2.: Περιβάλλον Xampp 5.2 Επικοινωνία AVR και GSM Module (AT Commands) Οι AT Commands είναι εντολές για διάφορους χειρισμούς μιας τηλεφωνικής γραμμής, όπως για παράδειγμα η έναρξη μιας κλήσης ή ο τερματισμός της. Οι AT Commands, οι οποίες ονομάζονται και Hayes commands, ξεκινούν με τους χαρακτήρες ΑΤ, που προέρχονται από τη λέξη attention που σημαίνει προσοχή, με σκοπό να τραβήξουν την προσοχή του modem. Οι AT commands που χρησιμοποιήθηκαν καθώς και η λειτουργία κάθε μίας περιγράφονται ως εξής: AT+CMGR= Σύνταξη: AT+CMGR=<index> Παράμετροι: index= αριθμός μηνύματος στη sim Απάντηση: +CMGR: <index1>,<index2> OK Σκοπός: Χρησιμοποιείται για το διάβασμα ενός μηνύματος sms. Μετά το χαρακτήρα = γράφεται ένας αριθμός ο οποίος υποδηλώνει τη θέση του μηνύματος στη μνήμη της κάρτας sim το οποίο θέλουμε να διαβάσουμε. Mε 56 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

57 την εντολή AT+CMGR αν η κατάσταση ενός μηνύματος στη μνήμη ήταν ληφθέν αδιάβαστο, μεταβάλλεται σε ληφθέν διαβασμένο. AT+CMGD= Σύνταξη: AT+CMGD=<index> Παράμετροι: index= αριθμός μηνύματος στη sim Απάντηση: ΟΚ Σκοπός: Χρησιμοποιείται για τη διαγραφή ενός μηνύματος sms. Μετά το χαρακτήρα = γράφεται ένας αριθμός ο οποίος υποδηλώνει τη θέση του μηνύματος στη μνήμη της κάρτας sim το οποίο θέλουμε να διαγράψουμε. AT+CMGS= Σύνταξη: AT+CMGS= <data1><data2> Παράμετροι: data1 = ο αριθμός κινητού, data2 = μήνυμα που θα να αποσταλεί. Απάντηση: +CMGS:<index1>,<index2> OK Σκοπός: Χρησιμοποιείται για την αποστολή ενός μηνύματος sms. Στη θέση του data1 γράφεται ο αριθμός του παραλήπτη του μηνύματος και στη συνέχεια στη θέση του data2 το μήνυμα που θέλουμε να αποσταλεί. AT+CHUP Σύνταξη: AT+CHUP Παράμετροι: Δεν υπάρχουν Απάντηση: OK Σκοπός: Η εκτέλεση αυτής της εντολής πάντα αποσυνδέει μια ενεργή κλήση. Η εντολή αυτή δε χρησιμοποιεί άλλες παραμέτρους. AT+ CREG? Σύνταξη: AT+CREG? Παράμετροι: Δεν υπάρχουν Απάντηση: +CREG: <index1>,<index2> OK Σκοπός: Η εκτέλεση αυτής της εντολής μας επιτρέπει να ενημερωθούμε αν το σύστημα έχει συνδεθεί στο δίκτυο. Αυτό γίνεται διαβάζοντας την Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 57

58 απάντηση της ΑΤ Command και συγκεκριμένα τον index2. Συγκεκριμένα ο index2 παίρνει τις εξής τιμές: 0: το σύστημα δεν έχει συνδεθεί στο δίκτυο, και δε συνεχίζει να ψάχνει δίκτυο για να συνδεθεί 1: το σύστημα είναι συνδεδεμένο στο δίκτυο 2: το σύστημα δεν έχει συνδεθεί ακόμα στο δίκτυο, αλλά συνεχίζει να ψάχνει δίκτυο για να συνδεθεί 3: η σύνδεση με το δίκτυο απορρίφθηκε 4: άγνωστο 5: το συστημα συνδέθηκε με δίκτυο περιαγωγής Διαβάζοντας λοιπόν τον index2 και μόλις αυτός πάρει την τιμή 1 γνωρίζουμε ότι το σύστημα έχει συνδεθεί πλέον στο δίκτυο και άρα μπορεί να εκτελεστεί ο υπόλοιπος κώδικας. 5.3 Επικοινωνία AVR και mini PC Module Εφόσον σκοπεύουμε να έχουμε επικοινωνία μεταξύ συσκευής και ιστοσελίδας είναι επιθυμητό και αναγκαίο να αναπτύξουμε ένα πρωτόκολλο επικοινωνίας μέσω του οποίου οι μικροεπεξεργαστής και ιστοσελίδα να ανταλλάσουν δεδομένα. Οι αρχές πάνω στις οποίες σχεδιάστηκε το συγκεκριμένο πρωτόκολλο είναι οι εξής: Αρχικά είναι απλό και οι εντολές παραλληλίζονται με τις εντολές που μεταφέρουν. Πιο συγκεκριμένα όλες οι εντολές ξεκινούν με την ακολουθία των γραμμάτων WEB ακολουθούμενες από το χαρακτήρα + (WEB+). Με αυτόν τον τρόπο «τραβούν την προσοχή» του PC module. Βασικό χαρακτηριστικό του πρωτοκόλλου αυτού είναι η επεκτασιμότητα: Το πρωτόκολλο είναι αρκετά ευέλικτο όσον αφορά τη δημιουργία καινούργιων τύπων μηνυμάτων -εντολών, καθώς κάθε εντολή ξεκινά με την ίδια ακολουθία γραμμάτων. Έτσι ένας κατασκευαστής αρκεί να επεκτείνει το πρωτόκολλο δημιουργώντας μια καινούργια περίπτωση λειτουργίας επεκτείνοντας τον βασικό message handler. Οι WEB commands που χρησιμοποιήθηκαν καθώς και η λειτουργία κάθε μίας περιγράφονται ως εξής: 58 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

59 WEB+WRUSERS= Σύνταξη: WEB+USERS=<data1,data2, datan> Παράμετροι : datax = αριθμός κινητού Σκοπός: Με την εντολή αυτή προσδιορίζονται οι διαπιστευμένοι χρήστες, οι χρήστες δηλαδή που έχουν το δικαίωμα να ενημερώνονται για την κατάσταση των εισόδων και να επηρεάζουν την κατάσταση των εξόδων. Τα δεδομένα αυτά λαμβάνονται από το μικροεπεξεργαστή και αποθηκεύονται στη μνήμη EEPROM, προκειμένου να μη χαθούν σε ενδεχόμενη απουσία ηλεκτρικού ρεύματος, και στη συνέχεια αποθηκεύονται στη SRAM για να ανατρέχει εκεί το πρόγραμμα όταν χρειάζεται να τα χρησιμοποιήσει. WEB+OUT= Σύνταξη: WEB+OUT=<data> Παράμετροι : data = Σε binary οι τιμές των εξόδων (0=off, 1=on) Σκοπός: Η παραπάνω εντολή επηρεάζει την κατάσταση των εξόδων και προσδιορίζει την κατάσταση της κάθε εξόδου σε on και off. WEB+OUT? Σύνταξη: WEB+OUT? Παράμετροι: Δεν υπάρχουν Σκοπός: Η εντολή αυτή επιστρέφει τις τιμές των εξόδων, ποιες συσκευές δηλαδή βρίσκονται σε κατάσταση on και ποιες όχι. WEB+IN Σύνταξη: WEB+ΙΝ Παράμετροι: Δεν υπάρχουν Σκοπός: Η εντολή αυτή επιστρέφει τις τιμές των εισόδων, ποιες συσκευές δηλαδή βρίσκονται σε κατάσταση on και ποιες όχι. WEB+PULSE= Σύνταξη: WEB+ PULSE=<outputSsec> Παράμετροι: output= η έξοδος στην οποία θα εφαρμοστεί ο παλμός, ο χαρακτήρας S, sec= ο αριθμός των δευτερολέπτων που η έξοδος θα παραμείνει on Σκοπός: Η εντολή προκαλεί τις συσκευές που υποστηρίζουν τη λειτουργία αυτή να αλλάξουν την κατάσταση τους σε on για συγκεκριμένο χρονικό διάστημα, ο οποίος κυμαίνεται από 1 έως 3 δευτερόλεπτα. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 59

60 WEB+SMSC= Σύνταξη: WEB+ SMSC=<data> Παράμετροι: data= Η τιμή του ενός sms Σκοπός: Με την εντολή αυτή εκχωρείται η τιμή που βρίσκεται στη θέση του data στη μεταβλητή η οποία προσδιορίζει το κόστος του ενός sms σε ευρώ. Η λειτουργία αυτή είναι απαραίτητη στον υπολογισμό των μηνυμάτων που το σύστημα μπορεί να στείλει ανάλογα με το υπόλοιπο χρόνο ομιλίας που διαθέτει. Παράλληλα η εντολή αυτή χρησιμοποιείται για τον προσδιορισμό του προγράμματος κινητής τηλεφωνίας που χρησιμοποιούμε. Δηλαδή αν δώσουμε στην παραμέτρου data την τιμή FF στο δεκαεξαδικό σύστημα, τιμή υπερβολικά μεγάλη για κόστος ενός μηνύματος, τότε το σύστημα καταλαβαίνει πως το πρόγραμμα είναι συμβόλαιο ενώ διαφορετικά χρησιμοποιείται πρόγραμμα καρτοκινητής. Τα δεδομένα αυτά αποθηκεύονται στην EEPROM και στη συνέχεια στην SRAM. WEB+REFR= Σύνταξη: WEB+ REFR=<data> Παράμετροι: data = Ο δεκαεξαψήφιος κωδικός ανανέωσης Σκοπός: Με την εντολή αυτή δίνεται η δυνατότητα ανανέωσης του χρόνου ομιλίας. Ο μικροεπεξεργαστής θα πραγματοποιήσει την ανανέωση χρόνου ομιλίας αποστέλλοντας το κατάλληλο μήνυμα στην εταιρεία κινητής τηλεφωνίας. WEB+ALARM= Σύνταξη: WEB+ALARM=<data> Παράμετροι: data = Σε binary οι τιμές των εισόδων (0=off, 1=on) Σκοπός: Το σύστημα υποστηρίζει, όπως έχει ήδη αναφερθεί, τη λειτουργία του «συναγερμού». Με άλλα λόγια σε συγκεκριμένους συνδυασμούς των εισόδων οι οποίες είναι on αποστέλλεται μήνυμα στο χρήστη για να τον ενημερώσει. Με την παραπάνω εντολή λοιπόν δίνεται η δυνατότητα στο χρήστη να επιλέξει τους συνδυασμούς αυτούς των εισόδων που η ενεργοποίησή τους θα ενημερώνει το χρήστη. Στη θέση λοιπόν της παραμέτρου μπαίνουν αυτοί οι συνδυασμοί χωρίς να υπάρχει περιορισμός από το σύστημα για το πλήθος αυτών. WEB+SMSNUM? 60 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

61 Σύνταξη: WEB+SMSNUM? Παράμετροι: Δεν υπάρχουν Σκοπός: Η εντολή αυτή επιστρέφει το υπόλοιπο του χρόνου ομιλίας που η κάρτα έχει. Με τον τρόπο αυτό ενημερώνονται οι χρήστες για το χρόνο ομιλίας και κατ επέκταση για τον αριθμό των μηνυμάτων που απομένουν στο σύστημα να αποστείλει και να μερημνήσουν για την ανανέωσή του. 5.4 Προγραμματισμός AVR I/O Ports Ο ATmega644 έχει 40 ακροδέκτες εισόδου εξόδου, 32 από τους οποίους είναι οργανωμένοι σε 4 θύρες εισόδου εξόδου των 8 ακροδεκτών η κάθε μία (Port A, Port B, Port C και Port D). Οι θύρες αυτές μπορούν να χρησιμοποιηθούν είτε ως γενικές ψηφιακές είσοδοι έξοδοι, είτε με βάση τις εναλλακτικές τους λειτουργίες. Εφόσον οι θύρες χρησιμοποιούνται ως γενικές είσοδοι έξοδοι, κάθε ακροδέκτης μπορεί να μετατραπεί από ακροδέκτης εισόδου σε ακροδέκτη εξόδου και το αντίστροφο, χωρίς ακούσια μετατροπή και άλλων ακροδεκτών, με χρήση των εντολών SBI και CBI. Για κάθε θύρα εισόδου εξόδου υπάρχουν συνολικά τρεις διευθύνσεις στην μνήμη εισόδου εξόδου. Η μία από τις διευθύνσεις αυτές, η DDxn, χρησιμοποιείται για τον καθορισμό της κατεύθυνσης των ακροδεκτών, δηλαδή καθορίζει ποιοι από τους ακροδέκτες θα λειτουργήσουν ως είσοδοι και ποιοι ως έξοδοι. Η δεύτερη διέυθυνση, η PORTxn, αφορά στα δεδομένα που πρόκειται να εγγραφούν σε εκείνους τους ακροδέκτες που έχουν προγραμματιστεί ως έξοδοι ενώ τέλος η τρίτη διεύθυνση, η PINxn, αφορά στα δεδομένα που διαβάζονται από τους ακροδέκτες που έχουν προγραμματιστεί ως είσοδοι. Οι διευθύνσεις αυτές αναφέρονται πιο απλά και ως καταχωρητές, ο DDxn είναι ο λεγόμενος καταχωρητής κατεύθυνσης. Αν ο DDxn έχει την τιμή 1, ο ακροδέκτης Pxn λειτουργεί ως ακροδέκτης εξόδου, αν ο DDxn έχει την τιμή 0, ο Pxn λειτουργεί ως ακροδέκτης εισόδου. Αν o καταχωρητής PORTxn έχει την τιμή 1 και ο αντίστοιχος ακροδέκτης λειτουργεί ως είσοδος, μια εσωτερική αντίσταση πρόσδεσης (pull up resistor) ενεργοποιείται. Για να αποσυνδεθεί η εσωτερική αυτή αντίσταση θα πρέπει να γραφεί 0 στον PORTxn ή ο ακροδέκτης να μετετραπεί σε ακροδέκτη εξόδου. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 61

62 Αν ο ακροδέκτης είναι ακροδέκτης εισόδου και ο PORTxn έχει την τιμή 1, ο ακροδέκτης οδηγείται σε υψηλή λογική στάθμη (1) ενώ αν ο PORTxn έχει την τιμή 0, ο ακροδέκτης οδηγείται σε χαμηλή λογική στάθμη (0). Αν κάποιος ακροδέκτης δεν χρησιμοποιείται συνίσταται να εξασφαλιστεί σε αυτόν σταθερή στάθμη. Η απλούστερη μέθοδος για αυτό είναι να ενεργοποιηθεί η εσωτερική pull up αντίσταση. Ο παρακάτω πίνακας συνοψίζει τα σήματα ελέγχου για την τιμή των ακίδων: Πέρα από τις πιο πάνω λειτουργίες, στους ακροδέκτες των τεσσάρων θυρών αντιστοιχούν και εναλλακτικές λειτουργίες που φαίνονται περιληπτικά στους πίνακες που ακολουθούν. Θύρα A Ακροδέκτης θύρας PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 Εναλλακτική Λειτουργία ADC7 (Κανάλι εισόδου 7 του ADC) ADC6 (Κανάλι εισόδου 6 του ADC) ADC5 (Κανάλι εισόδου 5 του ADC) ADC4 (Κανάλι εισόδου 4 του ADC) ADC3 (Κανάλι εισόδου 3 του ADC) ADC2 (Κανάλι εισόδου 2 του ADC) ADC1 (Κανάλι εισόδου 1 του ADC) ADC0 (Κανάλι εισόδου 0 του ADC) Θύρα B Ακροδέκτης θύρας PB7 PB6 PB5 PB4 Εναλλακτική Λειτουργία SCK (Σειριακό ρολόι του διαύλου SPI) MISO (Δίαυλος SPI Master Εισόδου/Slave Εξόδου) MOSI (Δίαυλος SPI Master Εξόδου/Slave Εισόδου) SS (Δίαυλος SPI, είσοδος επιλογής slave) 62 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

63 PB3 AIN1 (Αρνητική είσοδος του αναλογικού συγκριτή) OC0 (Έξοδος του συγκριτή του Timer / Counter0) PB2 AIN0 (Θετική είσοδος του αναλογικού συγκριτή) INT2 (Είσοδος της εξωτερικής διακοπής 2) PB1 T1 (Είσοδος του εξωτερικού μετρητή Timer / Counter0) PB0 T0 (Είσοδος του εξωτερικού μετρητή Timer / Counter1) XCK (Εξωτερικό ρολόι USART) Θύρα C Ακροδέκτης θύρας PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 Εναλλακτική Λειτουργία TOSC2 (Ακροδέκτης 2 του ταλαντωτή του Timer) TOSC1 (Ακροδέκτης 1 του ταλαντωτή του Timer) TDI (Έλεγχος δεδομένων εισόδου του JTAG) TDO (Έλεγχος δεδομένων εξόδου του JTAG) TMS (Έλεγχος επιλογής κατάστασης λειτουργίας του JTAG) TCK (Έλεγχος ρολογιού του JTAG) SDA (Δίαυλος δεδομένων του I2C) SCL (Δίαυλος ρολογιού του I2C) Θύρα D Ακροδέκτης θύρας Εναλλακτική Λειτουργία PD7 OC2 (Έξοδος του συγκριτή του Timer / Counter2) PD6 ICP1 (Είσοδος του Timer / Counter1) PD5 OC1A (Έξοδος Α του συγκριτή του Timer / Counter2) PD4 OC1B (Έξοδος Β του συγκριτή του Timer / Counter2) PD3 INT1 (Είσοδος της εξωτερικής διακοπής 1) PD2 INT0 (Είσοδος της εξωτερικής διακοπής 0) PD1 TXD (Ακροδέκτης εξόδου της USART) PD0 RXD (Ακροδέκτης εισόδου της USART) Οι καταχωρητές προγραμματισμού των PORTs είναι οι εξής: Για τη PORTA: Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 63

64 Η PORTA, στο σύστημά μας, προγραμματίστηκε σαν είσοδος. Οι παρακάτω εντολές σε γλώσσα Assembly αφορούν τον προγραμματισμό της: // Configure Port A as Input ldi r16,0b // 0 Pull Up Resistor No out PORTA,r16 ldi r16,0b // 0 For Input Mode out DDRA,r16 Όπως βλέπουμε και στον κώδικα και τα 8 bits του DDRA register έχουν πάρει την τιμή λογικό 0, επομένως η PORTA έχει καθοριστεί σαν θύρα εισόδου. Για τη PORTC: 64 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

65 Η PORTC προγραμματίστηκε σαν έξοδος. Οι παρακάτω εντολές σε γλώσσα Assembly αφορούν τον προγραμματισμό της: // Configure Port C as Output ldi r16,0b // 1 Default Output Low out PORTC,r16 ldi r16,0b // 1 For Output Mode out DDRC,r16 Όπως βλέπουμε και στον κώδικα και τα 8 bits του DDRC register έχουν πάρει την τιμή λογικό 1, επομένως η PORTC έχει καθοριστεί σαν θύρα εξόδου, στην οποία η default κατάσταση όλων των εξόδων είναι low (λογικό 0), με άλλα λόγια οδηγείται σε χαμηλή λογική στάθμη Usarts Η προγραμματιζόμενη μονάδα σύγχρονης - ασύγχρονης σειριακής επικοινωνίας (USART) είναι μια εξαιρετικά εύελικτη συσκευή επικοινωνίας που διαθέτει τρία βασικά μέρη, όπως φαίνεται και στο διάγραμμα που ακολουθεί : Γενήτρια Ρολογιού, Πομπό και Δέκτη. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 65

66 Εικόνα: Διάγραμμα της USART Η γεννήτρια ρολογιού παράγει το ρολόι βάσης για τον πομπό και τον δέκτη. Η USART υποστηρίζει τέσσερις καταστάσεις λειτουργίας του ρολογιού : Κανονική Ασύγχρονη, Ασύγχρονη Διπλής ταχύτητας, Master Συγχρονη και Slave Σύγχρονη. Η USART πρέπει να αρχικοποιηθεί προτού αρχίσει κάθε επικοινωνία. Η διαδικασία ενεργοποίησης συνήθως περιλαμβάνει καθορισμό της ταχύτητας μετάδοσης, καθορισμό της μορφής πλαισίου και επίτρεψη του πομπού ή του δέκτη ανάλογα με τη λειτουργία. Σχετικά με τη μορφή πλαισίου, η USART δέχεται ως έγκυρες μορφές τους 30 συνδυασμούς των παρακάτω περιπτώσεων : 1 bit αρχικοποίησης (Start Bit) 5, 6, 7, 8 ή 9 bits δεδομένων μονό, ζυγό ή καθόλου bit ισοτιμίας (parity bit) 1 ή 2 bit τερματισμού (Ssop Bits) Ο πομπός της USART ενεργοποιείται δίνοντας την τιμή 1 στο bit ενεργοποίησης εκπομπής στον καταχωρητή UCSRB (Β Καταχωρητής Ελέγχου και Κατάστασης της USART USART Control and Status Register B). Όταν ο πομπός 66 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

67 ενεργοποιηθεί, η κανονική λειτουργία του ακροδέκτη PD1 καταργείται και αυτός λειτουργεί ως έξοδος της USART (TxD). Στην περίπτωση σύγχρονης λειτουργίας το ρολόι στον ακροδέκτη XCK λειτουργεί ως ρολόι μετάδοσης ενώ η κανονική λειτουργία του ακροδέκτη PB0 καταργείται. Ο δέκτης της USART ενεργοποιείται δίνοντας την τιμή 1 στο bit ενεργοποίησης λήψης στον καταχωρητή UCSRB. Όταν ο δέκτης ενεργοποιηθεί, η κανονική λειτουργία του ακροδέκτη PD0 καταργείται και αυτός λειτουργεί ως είσοδος της USART (RxD). Στην περίπτωση σύγχρονης λειτουργίας το ρολόι στον ακροδέκτη XCK λειτουργεί ως ρολόι μετάδοσης ομοίως με πάνω. Ο μικροελεγκτής AVR ATmega 644PA έχει δύο USARTs, την USART0 και τη USART1. Στο πρόγραμμά μας η USART0 έχει προγραμματιστεί για επικοινωνία μέσω του gsm module ενώ η USART1 έχει προγραμματιστεί για επικοινωνία μέσω του pc module. Περιγραφή Καταχωρητών UDRn- USART I/O Data Register n Ο USART Transmit Data Buffer Register και ο USART Receive Data Buffer Register μοιράζονται την ίδια Ι/Ο διεύθυνση η οποία αναφέρεται ως USART Data Register ή UDRn. O Transmit Data Buffer Register (TXB) θα είναι ο προορισμός για τα δεδομένα που γράφονται στον UDRn Register. Διαβάζοντας τον UDRn Register θα επιστραφούν τα περιεχόμενα του Receive Data Buffer Register (RXB). Για 5-, 6-, 7-bit χαρακτήρες τα παραπάνω αχρησιμοποίητα bits θα αγνοηθούν από τον Transmitter και θα τεθεί σε αυτά η τιμή μηδέν από τον Receiver. Ο buffer αποστολής μπορεί να γραφτεί μόνο όταν η UDREn Flag στον UCSRnA Καταχωρητή είναι ενεργοποιημένη. Τα δεδομένα που γράφονται στον UDRn όταν η UDREn Flag δεν είναι ενεργοποιημένη, θα αγνοούνται από το USART Transmitter. Όταν δεδομένα γράφονται στον buffer αποστολής, και ο Transmitter είναι ενεργοποιημένος, ο Transmitter θα φορτώσει τα δεδομένα στον Transmit Shift Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 67

68 Register όταν ο Shift Register είναι άδειος. Τότε τα δεδομένα θα αποσταλλούν σειριακά στην TxDn ακίδα. Ο buffer λήψης αποτελείται από ένα FIFO δύο επιπέδων. Το FIFO θα αλλάξει την κατάστασή του κάθε φορά που στον buffer λήψης γίνεται πρόσβαση. Εξαιτίας αυτής της συμπεριφοράς του buffer λήψης, δεν πρέπει να χρησιμοποιούνται οι εντολές Read-Modify-Write (SBI και CBI). Προσοχή χρειάζεται όταν χρησιμοποιούνται οι εντολές test bit (SBIC και SBIS), καθώς και αυτές θα αλλάξουν την κατάσταση του FIFO. UCSRnA- USART Control και Status Register A Bit 7- RXCn: USART Receive Complete Αυτό το bit παίρνει την τιμή λογικό 1 όταν υπάρχουν αδιάβαστα δεδομένα στον receive buffer και την τιμή λογικό 0 όταν ο receive buffer είναι άδειος (δηλαδή όταν δεν περιέχει αδιάβαστα δεδομένα) Bit 6- ΤΧCn: USART Transmit Complete Αυτό το bit παίρνει την τιμή λογικό 1 όταν ολόκληρο το πλαίσιο στον Transmit Shift Register έχει μετατοπιστεί και δεν υπάρχουν νέα δεδομένα αυτή τη στιγμή στον transmit buffer (UDRn). Το TXCn bit «καθαρίζεται» είτε αυτόματα όταν μία transmit διακοπή εκτελείται είτε γράφοντας στο bit την τιμή λογικό ένα. Bit 5- USART Data Register Empty Η UDREn flag προσδιορίζει εάν ο transmit buffer (UDRn) είναι έτοιμο να λάβει νέα δεδομένα. Εάν ο UDRn έχει την τιμή ένα, ο buffer είναι άδειος και άρα έτοιμος να γραφτούν δεδομένα σε αυτόν. Η UDRn flag μπορεί να δημιουργήσει μία Data Register Empty διακοπή. Ο UDRn ενεργοποιείται μετά από ένα reset για να υποδηλώσει ότι ο Transmitter είναι έτοιμος. Bit 4- FEn: Frame Error Αυτό το bit ενεργοποιείται αν ο επόμενος χαρακτήρας στον receive buffer όταν ελήφθει είχε ένα Frame Error. Δηλαδή όταν το πρώτο stop bit του επόμενου χαρακτήρα στον receive buffer είναι μηδέν. Αυτό το bit είναι έγκυρο μέχρις ότου ο receive buffer (UDRn) διαβαστεί. Το FEn bit είναι μηδέν όταν το stop bit των 68 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

69 λαμβανόμενων δεδομένων είναι ένα. Πάντα πρέπει να δίνεται η τιμή μηδέν σε αυτό το bit όταν γράφεται ο UCSRnA. Bit 3- DORn: Data OverRun Αυτό το bit ενεργοποιείται εάν μία Data OverRun κατάσταση ανιχνευτεί. Μία τέτοια κατάσταση προκύπτει όταν ο receive buffer είναι γεμάτος (δύο χαρακτήρες), είναι ένας νέος χαρακτήρας που περιμένει στον Receive Shift Register, και ένα νέο start bit ανιχνεύεται. Αυτό το bit είναι έγκυρο μέχρι ο receive buffer (UDRn) να διαβαστεί. Πάντα πρέπει να δίνεται η τιμή μηδέν σε αυτό το bit όταν γράφεται ο UCSRnA. Bit 2- UPEn: USART Parity Error Αυτό το bit ενεργοποιείται εάν ο επόμενος χαρακτήρας στον receive buffer είχε Parity Error όταν ελήφθη και το Parity Checking ήταν ενεργοποιημένο στο σημείο εκείνο (UPMn1=1). Αυτό το bit είναι έγκυρο μέχρι ο receive buffer (UDRn) να διαβαστεί. Πάντα πρέπει να δίνεται η τιμή μηδέν σε αυτό το bit όταν γράφεται ο UCSRnA. Bit 1- U2Xn: Double the USART Transmission Speed Αυτό το bit μόνο έχει επίδραση στη ασύγχρονη λειτουργία. Να δίνεται η τιμή μηδέν σε αυτό το bit όταν γίνεται χρήση της σύγχρονης λειτουργίας. Δίνοντας σε αυτό το bit την τιμή μηδέν θα μειωθεί ο διαιρέτης από το διαιρετέο του baud rate από 16 σε 8 διπλασιάζοντας αποτελεσματικά την ταχύτητα μεταφοράς για ασύγχρονη επικοινωνία. Bit 0- MPCMn: Multi-processor Communication Mode Αυτό το bit επιτρέπει την λειτουργία Multi-processor Communication. Όταν το bit MPCMn παίρνει την τιμή ένα, όλα τα εισερχόμενα πλαίσια που έχουν ληφθεί από το USART Receiver τα οποία δεν περιλαμβάνουν πληροφορίες διεύθυνσης θα αγνοηθούν. Ο Transmitter είναι ανεπηρέαστος από την ρύθμιση του MPCMn. UCSRnB- USART Control και Status Register B Bit 7- RXCIEn: RX Complete Interrupt Enable n Δίνοντας την τιμή λογικό 1 σε αυτό το bit επιτρέπει τις διακοπές στον RXCn. Μία USART Receive Complete διακοπή θα δημιουργηθεί μόνο εάν το RXCIEn bit πάρει Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 69

70 την τιμή ένα, η Global Interrupt Flag στον SREG πάρει την τιμή ένα και το bit RXCn στον UCSRnA ενεργοποιηθεί. Bit 6- TXCIEn: TX Complete Interrupt Enable n Δίνοντας την τιμή λογικό 1 σε αυτό το bit επιτρέπει τις διακοπές στον TXCn. Μία USART Transmit Complete διακοπή θα δημιουργηθεί μόνο εάν το TXCIEn bit πάρει την τιμή ένα, η Global Interrupt Flag στον SREG πάρει την τιμή ένα και το bit TXCn στον UCSRnA ενεργοποιηθεί. Bit 5- UDRIEn: USART Data Register Empty Interrupt Enable n Δίνοντας την τιμή λογικό 1 σε αυτό το bit επιτρέπει τις διακοπές στον UDREn. Μία Data Register Empty διακοπή θα δημιουργηθεί μόνο εάν το UDRIEn bit πάρει την τιμή ένα, η Global Interrupt Flag στον SREG πάρει την τιμή ένα και το bit UDREn στον UCSRnA ενεργοποιηθεί. Bit 4- RXENn: Receiver Enable n Δίνοντας την τιμή λογικό 1 σε αυτό το bit ενεργοποιείται η USART Receiver. Ο Receiver θα παρακάμπτει την κανονική λειτουργία των θυρών για την ακίδα RxDn όταν είναι ενεργοποιημένος. Απενεργοποιώντας τον Receiver θα ισοπεδώνει τον buffer λήψης ακυρώνοντας τις FEn, DORn και UPEn Flags. Bit 3 - ΤXENn: Transmitter Enable n Δίνοντας την τιμή λογικό 1 σε αυτό το bit ενεργοποιείται η USART Transmitter. Ο Transmitter θα παρακάμπτει την κανονική λειτουργία των θυρών για την ακίδα TxDn όταν είναι ενεργοποιημένος. Η απενεργοποίηση του Transmitter (δίνοντας στο bit TXENn την τιμή μηδέν) δε θα είναι αποτελεσματική μέχρι ongoing και pending μεταδόσεις ολοκληρωθούν, δηλαδή όταν ο Transmit Shift Register και ο Transmit Buffer Register δεν περιέχουν δεδομένα που πρέπει να μεταδοθούν. Όταν απενεργοποιηθεί, ο Transmitter δεν θα παρακάμπτει πλέον τη TxDn θύρα. Bit 2- UCSZn2: Character size n Τα UCSZn2 bit σε συνδυασμό με τα UCSZn1:0 bit στο UCSZnC ορίζει τον αριθμό των bit δεδομένων (Character size) σε ένα πλαίσιο που ο Receiver και ο Transmitter χρησιμοποιούν. Bit 1- RXB8n: Receive Data Bit 8 n Το RXB8n είναι το ένατο bit δεδομένων του λαμβανόμενου χαρακτήρα όταν λειτουργεί με σειριακά πλαίσια με εννέα bits δεδομένων. Αυτό το bit πρέπει να διαβαστεί πριν διαβαστούν τα low bits από το UDRn. Bit 0- TXB8n: Transmit Data Bit 8 n Το TXB8n είναι το ένατο bit δεδομένων του χαρακτήρα που αποστέλλεται όταν λειτουργεί με σειριακά πλαίσια με εννέα bits δεδομένων. Αυτό το bit πρέπει να γραφτεί πριν γραφτούν τα low bits στο UDRn. 70 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

71 UCSRnC- USART Control και Status Register C Bit 7:6- UMSELn1:0 USART Mode Select Αυτά τα bits επιλέγουν τον τρόπο λειτουργίας της USART όπως φαίνεται και στον παρακάτω πίνακα. Πίνακας: UMSELn Bits Settings Bit 5:4- UPMn1:0: Parity Mode Αυτά τα bits ενεργοποιούν και ορίζουν τον τύπο της ισοτιμίας. Αν είναι ενεργοποιημένος, ο Transmitter αυτόματα θα δημιουργήσει και θα στείλει την ισοτιμία των αποστελλόμενων bits δεδομένων μέσα σε κάθε πλαίσιο. Ο Receiver θα δημιουργήσει μια τιμή ισοτιμίας για τα εισερχόμενα δεδομένα και θα τα συγκρίνει με τη ρύθμιση του UPMn. Εάν ανιχνευτεί αναντιστοιχία, η UPEn Flag στον UCSRnA θα ενεργοποιηθεί. Πίνακας: UPMn Bits Settings Bit 3- USBSn: Stop Bit Select Αυτό το bit επιλέγει τον αριθμό των stop bits που θα εισέλθουν στον Transmitter. Ο Receiver αγνοεί αυτή τη ρύθμιση. Bit 2:1- UCSZn1:0: Character Size Πίνακας: USBS Bit Settings Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 71

72 Τα bits UCSZn1:0 σε συνδυασμό με το bit UCSZn2 στον UCSRnB καθορίζει τον αριθμό των bits δεδομένων (Character Size) σε ένα πλαίσιο που ο Transmitter και ο Receiver χρησιμοποιούν. Πίνακας: UCSZn Bits Settings Bit 0- UCPOLn: Clock Polarity Αυτό το bit χρησιμοποιείται μόνο στο σύγχρονο τρόπο λειτουργίας. Όταν χρησιμοποιείται ο ασύγχρονος τρόπος λειτουργίας αυτό το bit παίρνει την τιμή μηδέν. Το bit UCPOLn ενεργοποιεί τη σχέση μεταξύ.. και του σύγχρονου ρολογιού (XCKn) Πίνακας: UCPOLn Bit Settings UBRRnL και UBRRnH- USART Baud Rate Registers Bit Reserved Bits Αυτά τα bits είναι κρατημένα για μελλοντική χρήση. Για συμβατότητα με μελλοντικές συσκευές αυτά τα bits πρέπει να πάρουν την τιμή μηδέν όταν ο UBRRH γράφεται. Bit 11:0- UBRR11:0: USART Baud Rate Register 72 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

73 Αυτός είναι ένας 12-bit καταχωρητής ο οποίος περιλαμβάνει το baud rate της USART. Ο UBRRH περιέχει τα τέσσερα πιο σημαντικά bits και ο UBRRL περιέχει τα οχτώ λιγότερο σημαντικά bits από το baud rate της USART. Συνεχιζόμενες μεταδόσεις από τον Transmitter και τον Receiver θα καταστραφούν αν το baud rate αλλάξει. Γράφοντας στον UBRRL θα ενεργοποιήσει άμεση ανανέωση του baud rate prescaler Timers Ο timer αποτελεί ένα ζωτικό συστατικό των περισσότερων ενσωματωμένων συστημάτων. Σε ορισμένες περιπτώσεις ένας timer είναι απαραίτητος για να μετράει το χρόνο που έχει παρέλθει και κάποιες άλλες για να μετράει τη χρονική διάρκεια κάποιων εξωτερικών γεγονότων. Όταν αναφερόμαστε σε hardware ένας timer μπορεί εναλλακτικά να ονομαστεί counter. Η διαφορά στην ορολογία έχει να κάνει με το πώς το hardware χρησιμοποιείται σε μια συγκεκριμένη εφαρμογή. Ένας timer είναι μια προγραμματιζόμενη συσκευή καθώς μέσα από το πρόγραμμα ρυθμίζεται η χρονική περίοδος που αυτός μετράει. Ο AVR 644A περιέχει 4 μετρητές, τους Timer/Counter0, Timer/Counter1, Timer/Counter2, και τον Watchdog Timer. Οι timers που χρησιμοποιούνται στην παρούσα υλοποίηση είναι οι εξής: Timer/Counter1 Watchdog Timer Timer/Counter1 H χρήση αυτού του timer είναι η εξής: κάθε φορά που λαμβάνουμε κάποιο χαρακτήρα είτε από το GSM module είτε από το PC module ενεργοποιούμε τον Timer/Counter1 αφού πρώτα τον έχουμε αρχικοποιήσει στα 100ms. Αν ο μικροεπεξεργαστής λάβει και άλλο χαρακτήρα προτού παρέλθει αυτός ο χρόνος τότε σταματάμε τον timer και τον ξεκινάμε από την αρχή. Με τον τρόπο αυτό μόλις το block χαρακτήρων που κάποιο module έχει στείλει προς το μικροεπεξεργαστή έχει ολοκληρωθεί ένα interrupt ενεργοποιείται, αφού η τιμή του counter φτάσει τη μηδενική / μέγιστη τιμή, ανάλογα με το είδος της απαρίθμησης που γίνεται (count-up ή count-down) και ο έλεγχος του προγράμματος φεύγει προκειμένου να επεξεργαστεί τα νέα δεδομένα. Θεωρούμε με άλλα λόγια πως οι χαρακτήρες Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 73

74 λαμβάνονται ο ένας μετά τον άλλο σε χρόνο μικρότερο των 100ms ενώ αν αυτός ο χρόνος ξεπεραστεί το πακέτο έχει τελειώσει. Περιγραφή Καταχωρητών Bit 7:6- Res: Reserved Bits Αυτά τα bits δεν χρησιμοποιούνται στον ΑΤmega 644A και διαβάζονται πάντα σαν μηδέν. Bit 5- ICIE: Timer/ Counter1, Input Capture Interrupt Enable Όταν σε αυτό το bit τίθεται η τιμή λογικό 1 και είναι ενεργοποιημένες οι διακοπές, ο Timer/ Counter1 Input Capture Interrupt ενεργοποιείται. Bit 4:3- Res: Reserved Bits Αυτά τα bits δεν χρησιμοποιούνται στον ΑΤmega 644A και διαβάζονται πάντα σαν μηδέν. Bit 2- OCIE1B: Timer/ Counter1, Output Compare B Match Interrupt Enable Όταν σε αυτό το bit τίθεται η τιμή λογικό 1 και είναι ενεργοποιημένες οι διακοπές, ο Timer/ Counter1 Output Compare B Match Interrupt ενεργοποιείται. Bit 1- OCIE1A: Timer/ Counter1, Output Compare A Match Interrupt Enable Όταν σε αυτό το bit τίθεται η τιμή λογικό 1 και είναι ενεργοποιημένες οι διακοπές, ο Timer/ Counter1 Output Compare A Match Interrupt ενεργοποιείται. Bit 0- TOIE1: Timer/ Counter1, Overflow Interrupt Enable Όταν σε αυτό το bit τίθεται η τιμή λογικό 1 και είναι ενεργοποιημένες οι διακοπές, ο Timer/ Counter1 Overflow Interrupt ενεργοποιείται. 74 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

75 Οι παρακάτω εντολές αρχικοποιούν τον Timer/Counter1 // Configure Timer/Counter1 // 0x0C35 --> 100msec at CK/256 ldi r16,0x0c sts OCR1AH,r16 ldi r16,0x35 sts OCR1AL,r16 // Enable Timer/Counter1, Output Compare A Match Interrupt ldi r16,0b sts TIMSK1,r16 ενώ με τις παρακάτω υπορουτίνες ξεκινάμε και σταματάμε αντίστοιχα τον timer: Timer_Start: push r16 // Clear Timer on Compare Match (CTC Mode) // and Clock Prescale to CK/1024 ldi r16,0b sts TCCR1B,r16 pop r16 ret Timer_Stop: push r16 // Stop Timer ldi r16,0b sts TCCR1B,r16 pop r16 ret Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 75

76 Watchdog Timer Ένας watchdog timer είναι είτε υλικό του υπολογιστή είτε λογισμικό που ενεργοποιεί μια επαναφορά του συστήματος (reset) ή άλλα διορθωτικά μέτρα εάν το κύριο πρόγραμμα, εξαιτίας κάποιας αστοχίας, δεν λειτουργεί κανονικά. Η αναγκαιότητα ύπαρξης ενός watchdog timer έγκειται στην ικανότητά του να φέρει το σύστημα πίσω, από μία κατάσταση κατά την οποία το σύστημα δεν αποκρίνεται, στην κανονική λειτουργία. Για ενσωματωμένα συστήματα που δεν είναι δυνατό να παρακολουθούνται συνεχώς από κάποιον άνθρωπο, ένας watchdog timer είναι η λύση. Για παράδειγμα τα περισσότερα ενσωματωμένα συστήματα πρέπει να είναι αυτοδύναμα αφού δεν είναι συνήθως δυνατό να τα επανεκκινήσει κάποιος εάν το λογισμικό τους κολλήσει. Σε περίπτωση που κάτι τέτοιο συμβεί τα εν λόγω συστήματα απενεργοποιούνται μόνιμα. Σε μια τέτοια περίπτωση λοιπόν ένας watchdog timer μπορεί να βοηθήσει στην επίλυση του προβλήματος. Ένας watchdog timer μπορεί να είναι κάποιο εξωτερικό προς τον επεξεργαστή chip. Στην περίπτωσή μας όμως ο ATmega 644PA έχει έναν ενσωματωμένο watchdog timer (WDT) ο οποίος έχει προγραμματιστεί έτσι ώστε μόλις μετρήσει 8 δευτερόλεπτα, εάν ο έλεγχος του προγράμματος δεν ξαναπεράσει από αυτόν τότε το σύστημα θα μεταβεί σε κατάσταση reset. Πιο συγκεκριμένα από τη στιγμή που θα ξεκινήσει τη λειτουργία του ένας εσωτερικός μετρητής, αν το πρόγραμμα χρήσης δεν μηδενίσει ή επαναθέσει τον μετρητή αυτό, τότε κάποια στιγμή θα επέλθει μηδενισμός του παραπάνω μετρητή και θα επανατοποθετηθεί ο μικροελεγκτής (reset). Έτσι, όταν χρησιμοποιείται ο χρονιστής επιτήρησης, ο κώδικας του προγράμματος οφείλει να περιλαμβάνει εντολές ανανέωσης-reload του watchdog timer, πληροφορώντας με αυτόν τον τρόπο ότι το σύστημα εργάζεται και δεν έχει καταρρεύσει. Η λογική αυτή της τεχνικής ελέγχου στηρίζεται στην υπόθεση ότι αν το πρόγραμμα χρήσης δε ξαναφορτώσει τον WDT, αυτό πιθανότατα σημαίνει ότι το πρόγραμμα έχει αποτύχει σε κάποια προσπάθεια του, είτε εξαιτίας πιθανής κατάρρευσης, ή γενικότερα κάποιας απρόβλεπτης συμπεριφοράς, οπότε είναι προτιμότερο να εκκινήσει διαδικασία επανατοποθέτησης. Με τον τρόπο αυτό διασφαλίζεται η σωστή λειτουργία του συστήματος. 76 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

77 Εικόνα Περιγραφή Καταχωρητών Bit 7:5- Res: Reserved Bits Αυτά τα bits δεν χρησιμοποιούνται στον ΑΤmega 644A και διαβάζονται πάντα σαν μηδέν. Bit 4 - JTRF: JTAG Reset Flag Αυτό το bit ενεργοποιείται εάν ένα reset προκληθεί από ένα λογικό 1 στον JTAG Reset Register που επιλέγεται από την JTAG εντολή του AVR_RESET. Αυτό το bit απενεργοποιείται είτε από ένα Power- on Reset είτε γράφοντας σε αυτό το λογικό 0. Bit 3- WDRF: Watchdog Reset Flag Αυτό το bit ενεργοποιείται εάν ένα Watchdog Reset συμβεί. Αυτό το bit απενεργοποιείται είτε από ένα Power- on Reset είτε γράφοντας σε αυτό το λογικό 0. Bit 2- BORF: Brown- out Reset Flag Αυτό το bit ενεργοποιείται εάν ένα Brown- out Reset συμβεί. Αυτό το bit απενεργοποιείται είτε από ένα Power- on Reset είτε γράφοντας σε αυτό το λογικό 0. Bit 1- EXTRF: External Reset Flag Αυτό το bit ενεργοποιείται εάν ένα External Reset συμβεί. Αυτό το bit απενεργοποιείται είτε από ένα Power- on Reset είτε γράφοντας σε αυτό το λογικό 0. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 77

78 Bit 0- PORF: Power- on Reset Flag Αυτό το bit ενεργοποιείται εάν ένα Power- on Reset συμβεί. Αυτό το bit απενεργοποιείται γράφοντας σε αυτό το λογικό 0. Bit 7- WDIF: Watchdog Interrupt Flag Αυτό το bit ενεργοποιείται εάν περάσει ένα χρονικό όριο στον Watchdog Timer και ο Watchdog Timer έχει ρυθμιστεί για interrupt. Το bit WDIF καθαρίζεται από το hardware κατά την εκτέλεση του αντίστοιχου interrupt vector. Εναλλακτικά το bit WDIF καθαρίζεται γράφοντας σε αυτό την τιμή λογικό ένα. όταν το I-bit στον SREG και το WDIE ενεργοποιούνται, η Watchdog Time- out Interrupt εκτελείται. Bit 6- WDIE: Watchdog Interrupt Enable Όταν αυτό το bit παίρνει την τιμή λογικό ένα και το I-bit στον Status Register είναι ενεργοποιημένο, η Watchdog Interrupt είναι ενεργοποιημένη. Το WDE είναι καθαρισμένο σε συνδυασμό με αυτή τη ρύθμιση, ο Watchdog Timer είναι σε Interrupt Mode, και η αντίστοιχη διακοπή εκτελείται εάν παρέλθει το χρονικό όριο του Watchdog Timer. Πίνακας : Watchdog Timer Configuration Bit 4- WDCE: Watchdog Change Enable Αυτό το bit χρησιμοποιείται σε χρονικές ακολουθίες για την αλλαγή του WDE και prescaler bits. Για να καθαρίσουμε το WDE bit και/ή να αλλάξουμε τα prescaler bits αυτό το bit πρέπει να είναι ενεργοποιημένο. Μόλις σε αυτό το bit γραφτεί το λογικό ένα, το hardware θα καθαρίσει το WDCE bit μετά από τέσσερις κύκλους ρολογιού. 78 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

79 Bit 3- WDE: Watchdog System Reset Enable Το WDE εξουδετερώνεται από το WDRF στο MCUSR. Αυτό σημαίνει ότι το WDE είναι πάντα ενεργοποιημένο όταν το WDRF είναι ενεργοποιημένο. Για να καθαρίσουμε το WDE, to WDRF πρέπει να καθαριστεί πρώτα. Αυτό το χαρακτηριστικό εξασφαλίζει πολλαπλά resets κατά τη διάρκεια καταστάσεων που προκαλούν αποτυχία και μία ασφαλή εκκίνηση μετά την αποτυχία. Bit 5-2:0- WDP3:0: Watchdog Timer Prescaler 3, 2, 1 και 0 Τα bit WDP3:0 καθορίζουν το Watchdog Timer prescaling όταν o Watchdog Timer τρέχει, Οι διαφορετικές prescaling τιμές και οι αντίστοιχες περίοδοι χρονικού ορίου φαίνονται στον παρακάτω πίνακα. Πίνακας: Watchdog Timer Prescale Select Οι παρακάτω εντολές αφορούν τον προγραμματισμό του Watchdog timer: // Watchdog Timer cli wdr in r16,mcusr andi r16,~(1<<wdrf) out MCUSR,r16 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 79

80 lds r16,wdtcsr ori r16,(1<<wdce) (1<<WDE) sts WDTCSR,r16 ldi r16,(1<<wde) (1<<WDP3) (1<<WDP0) sts WDTCSR,r16 ldi r16,(0<<wde) sts WDTCSR,r16 sei // 8 sec EEPROM Όπως αναφέρθηκε παραπάνω ο μικροεπεξεργαστής AVR ATmega 644 περιέχει μία EEPROM μνήμη των 2Κbytes. Το όνομά της προέρχεται από τα αρχικά των λέξεων: Electrically Erasable Programmable Read-Only Memory, είναι επομένως μία μη πτητική μνήμη η οποία χρησιμοποιείται σε υπολογιστές και ηλεκτρονικές συσκευές για να αποθηκευτούν εκεί μικρές ποσότητες δεδομένων τα οποία πρέπει να σωθούν όταν η συσκευή δεν τροφοδοτείται με ηλεκτρικό ρεύμα. Η μνήμη αυτή οργανώνεται σαν ξεχωριστός χώρος δεδομένων στο μικροεπεξεργαστή όπου μεμονωμένα bytes μπορούν να γραφούν και να διαβαστούν. Η EEPROM έχει δυνατότητα για τουλάχιστον write/erase κύκλους. Στην υλοποίησή μας η μνήμη EEPROM πάιζει σημαντικό ρόλο. Τα δεδομένα που ο χρήστης μεταβάλλει μέσω του web site αποθηκεύονται εκεί. Συγκεκριμένα τα δεδομένα αυτά είναι: οι διαπιστευμένοι χρήστες του συστήματος και τα κινητά τους, οι συνδιασμοί των εισόδων οι οποίοι ενεργοποιούν την υπηρεσία του συναγερμού, το κόστος του ενός sms και τέλος ένα δεδομένο που δείχνει αν το πρόγραμμα της τηλεφωνίας που χρησιμοποιούμε είναι καρτοκινητή ή σύνδεση. Τα παραπάνω δεδομένα είναι πιθανό μέσα στο χρόνο να αλλάζουν και γι αυτό είναι απαραίτητη η ενημέρωση του προγράμματος σε πιθανές μεταβολές. Ο προγραμματισμός έχει γίνει με τέτοιο τρόπο ώστε μόλις ληφθούν δεδομένα από το web στο pc module τα δεδομένα αυτά αποθηκεύονται στην ΕΕPROM ώστε να μην χαθούν. Αμέσως τα δεδομένα αυτά αποθηκεύονται στην SRAM (Static Random-Access Memory) για να χρησιμοποιηθούν από το πρόγραμμα. Αυτό γίνεται επειδή το πρόγραμμα μπορεί να χρειάζεται να ανατρέχει συνεχώς στα δεδομένα αυτά για να γίνουν οι διάφορες λειτουργίες και οι προσβάσεις στην EEPROM είναι περιορισμένου αριθμού αντίθετα με την SRAM. Ο λόγος που τα δεδομένα δε 80 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

81 γράφονται απ ευθείας στην SRAM είναι διότι η τελευταία είναι μία πτητική μνήμη από την οποία τα δεδομένα χάνονται με την απουσία ηλεκτρικού ρεύματος. Σε μία τέτοια περίπτωση μόλις το σύστημα διαρέεται και πάλι από ρεύμα το πρόγραμμα διαβάζει ξανά τα δεδομένα από την EEPROM και τα αποθηκεύει στην SRAM. Περιγραφή Καταχωρητών Bit 15:12- Res: Reserved Bits Αυτά τα bits είναι reserved στον ΑΤmega 644A και διαβάζονται πάντα σαν μηδέν. Bit 11:0- EEAR8:0: EEPROM Address Οι EEPROM Address Registers- οι EEARH και EEARL προσδιορίζουν την EEPROM διεύθυνση στα 2Κbytes του χώρου της EEPROM. Τα bytes δεδομένων της EEPROM διευθυνσιοδοτούνται γραμμικά μεταξύ 0 και Η αρχική τιμή του EEAR είναι απροσδιόριστη. Η κατάλληλη τιμή πρέπει να γραφτεί πριν προσπελαστεί η EEPROM. Bit 7:0- EEDR7:0: EEPROM Data Για τη λειτουργία της εγγραφής στην EEPROM, ο καταχωρητής EEDR περιέχει τα δεδομένα που πρόκειται να γραφτούν στη μνήμη EEPROM στη διεύθυνση που προσδιορίζει ο καταχωρητής EEAR.Για τη λειτουργία της ανάγνωσης από την EEPROM,, ο καταχωρητής EEDR περιέχει τα δεδομένα που πρόκειται να διαβαστούν από τη μνήμη EEPROM από τη διεύθυνση που προσδιορίζει ο καταχωρητής EEAR. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 81

82 Bit 7:6- Res: Reserved Bits Αυτά τα bits είναι reserved στον ΑΤmega 644A και διαβάζονται πάντα σαν μηδέν. Bit 5:4- EEPM1 και EEPM0: EEPROM Programming Mode Bits To EEPROM Programming mode bit προσδιορίζει ποια ενέργεια θα ενεργοποιηθεί κατά την εγγραφή στον EEPE. Είναι δυνατό να προγραμματιστούν δεδομένα σε μία ατομική λειτουργία (διαγραφή της παλιάς τιμής και προγραμματισμός της νέας τιμής) ή να χωριστούν οι λειτουργίες της εγγραφής και της ανάγνωσης σε δύο διαφορετικές λειτουργίες. Οι χρόνοι προγραμματισμού για τους διαφορετικούς τρόπους λειτουργίας φαίνονται στον παρακάτω πίνακα. Ενώ το EEPE είναι ενεργοποιημένο, κάθε προσπάθεια εγγραφής στο EEPMn θα αγνοείται. Κατά τη διάρκεια ενός reset, τα EEPMn bits θα πάρουν την τιμή 0b00 εκτός αν η EEPROM είναι απασχολημένη. Πίνακας: EEPROM Mode Bits Bit 3- EERIE: EEPROM Ready Interrupt Enable Θέτοντας στο EERIE την τιμή λογικό ένα ενεργοποιεί την EEPROM Ready Interrupt εάν το Ι bit στον SREG είναι ενεργοποιημένο. Γράφοντας στο bit EERIE το μηδέν απενεργοποιεί τη διακοπή. Το EEPROM Ready Interrupt δημιουργεί μία συνεχή διακοπή όταν το EEPE καθαριστεί. Bit 2- EEMPE: EEPROM Master Programming Enable Το bit EEMPE καθορίζει εάν δοθεί στο EEPE η τιμή λογικό ένα προκαλεί εγγραφή στην EEPROM. Όταν το EEMPE είναι ενεργοποιημένο, η ενεργοποίηση του EEPE εντός τεσσάρων κύκλων ρολογιού θα γράψει δεδομένα στην EEPROM στην επιλεγμένη διεύθυνση. Εάν το EEMPE έχει την τιμή μηδέν, η ενεργοποίηση του ΕΕΡΕ δε θα φέρει κανένα αποτέλεσμα. Όταν το EEMPE παίρνει την τιμή ένα από το 82 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

83 software, το hardware καθαρίζει το bit, το οποίο πλέον παίρνει την τιμή μηδέν μετά από τέσσερις κύκλους ρολογιού. Bit 1- EEPE: EEPROM Programming Enable Όταν η διεύθυνση και τα δεδομένα έχουν σωστά δημιουργηθεί, το bit EEPE πρέπει να πάρει την τιμή ένα προκειμένου να γράψει την τιμή στην EEPROM. To bit EEMPE πρέπει να πάρει την τιμή ένα πριν το λογικό ένα γραφτεί στο ΕΕΡΕ, αλλιώς δε θα γίνει η εγγραφή στην EEPROM. Η ακόλουθη διαδικασία πρέπει να ακολουθηθεί προκειμένου να γίνει εγγραφή στην EEPROM (η σειρά των βημάτων 3 και 4 δεν είναι απαραίτητη): Προσοχή: Προτείνεται κατά τη διάρκεια των παραπάνω βημάτων η Global Interrupt Flag να είναι καθαρισμένη, προκειμένου να αποφευχθεί οποιαδήποτε αποτυχία κατά τη διάρκεια της εγγραφής Bit 1- EEPE: EEPROM Read Enable Όταν η διεύθυνση έχει σωστά δημιουργηθεί στον καταχωρητή EEAR, το bit EERE πρέπει να πάρει την τιμή ένα προκειμένου να ξεκινήσει η ανάγνωση από την EEPROM. Η πρόσβαση στην EEPROM για ανάγνωση χρειάζεται μία εντολή και το ζητηθέν δεδομένο είναι διαθέσιμο άμεσα. Όταν διαβαστεί η EEPROM η CPU σταματά για τέσσερις κύκλους μέχρι να εκτελεστεί η επόμενη εντολή. Ο χρήστης πρέπει να ελέγξει το bit EEPE πριν ξεκινήσει τη διαδικασία της ανάγνωσης. Εάν η διαδικασία της εγγραφής είναι σε εξέλιξη, δεν είναι δυνατό να διαβαστεί η EEPROM αλλά ούτε και να γίνει κάποια αλλαγή στον καταχωρητή EEAR. Ο παρακάτω πίνακας καταγράφει τον τυπικό χρόνο προγραμματισμού για την πρόσβαση της EEPROM από τη CPU. Πίνακας: EEPROM Programming Time Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 83

84 Οι υπορουτίνες οι οποίες γράφουν στην EEPROM και διαβάζουν από αυτή ένα byte είναι αντίστοιχα οι ακόλουθες: EEWrite: sbic EECR,EEPE ;if EEPE not clear rjmp EEWrite ; wait more in EEwtmp,EEARL ;get address low byte in EEwtmph,EEARH ;get address high byte, remove if no high byte ;exists out EEDR,EEdwr_s ;output data cli ;disable global interrupts sbi EECR,EEMPE ;set master write enable, remove if 90S1200 is ;used sbi EECR,EEPE ;set EEPROM Write strobe ;This instruction takes 4 clock cycles since ;it halts the CPU for two clock cycles EEWrite_Wait_EEPE: sbic EECR,EEPE ;if EEWE not clear rjmp EEWrite_Wait_EEPE ; wait more sei ;enable global interrupts adiw EEwtmp,0x01 ;increment address out EEARL,EEwtmp ;output address low byte out EEARH,EEwtmph ;output address byte, remove if no high byte ;exists ret EERead: sbic EECR,EEPE ;if EEWE not clear 84 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

85 rjmp EERead ; wait more in EErtmp,EEARL ;get address low byte in EErtmph,EEARH ;get address high byte, remove if no high byte ;exists sbi EECR,EERE ;set EEPROM Read strobe ;This instruction takes 4 clock cycles since ;it halts the CPU for two clock cycles in EEdrd_s,EEDR ;get data adiw EErtmp,0x01 ;increment address out EEARL,EErtmp ;output address low byte out EEARH,EErtmph ;output address high byte, remove if no high ;byte exists ret 5.5 Προγραμματισμός mini PC Module Εισαγωγή Το Voyage Linux, το οποίο προέρχεται από την διανομή Debian, είναι ειδικά σχεδιασμένο για x86 embedded platforms, όπως για παράδειγμα τα PC Engines ALIX/WRAP, Soekris 45xx/48xx and Atom-based boards Εγκατάσταση λειτουργικού συστήματος Κατά την εγκατάσταση του λειτουργικού συστήματος, και με τη βοήθεια ενός μηχανήματος, που είχε ήδη εγκατεστημένο ένα λειτουργικό σύστημα Linux, κατεβάσαμε από την διεύθυνση το Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 85

86 συμπιεσμένο αρχείο για την έκδοση 0.8, και το αποσυμπιέσαμε στον φάκελο /tmp. Η αποσυμπίεση έγινε με την εντολή tar --numeric-owner -jxf voyage tar.bz2 Στον φάκελο /tmp, πλέον έχουμε και τον φάκελο voayage που περιέχει όλα τα αρχεία του λειτουργικό συστήματος Voyage. Στη συνέχεια προετοιμάσαμε την κάρτα CompactFlash (CF), έτσι ώστε να μπορεί να δεχτεί το νέο λειτουργικό σύστημα. Κατά την εγκατάστασή μας, η CF ήταν στη διαδρομή /dev/sdb. Χρησιμοποιήσαμε την εντολή: fdisk /dev/sdb για να δημιουργηθεί το partition που είναι συμβατό με τα Linux λειτουργικά συστήματα. Κατόπιν, η διαμόρφωση του partition έγινε με την εντολή mkfs.ext2 /dev/sdb1 και τέλος απενεργοποιούμε τον αυτοέλεγχο του λειτουργικό μετά από κάποιον αριθμό εκκινήσεων. tune2fs -c 0 /dev/sdb1 Ως διαχειριστής, εκτελέσαμε τις εντολές: cd voyage /usr/local/sbin/voyage.update και ακολουθώντας τα βήματα της εγκατάστασης, ολοκληρώσαμε την εγκατάσταση του voyage πολύ γρήγορα. Τέλος έγινε η εγκατάσταση του apache web server με την php, με τη βοήθεια της αυτοματοποιημένης εγκατάστασης πακέτων, πληκτρολογώντας την εντολή: apt-get install php5 86 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

87 5.5.2 Ανάπτυξη Ιστοσελίδας Βασικές αρχές Ιστοσελίδων Τα βασικά δομικά στοιχεία που μπορούμε να χρησιμοποιήσουμε σε μία εφαρμογή διαδικτύου είναι: η HTML με την οποία στήνεται το περιεχόμενο μιας ιστοσελίδας και η PHP η οποία επεξεργάζεται ό,τι έχει να κάνει με τη συγκεκριμένη εφαρμογή. Όπως σχεδόν σε όλες τις ιστοσελίδες του παγκόσμιου ιστού έτσι και η παρούσα εφαρμογή χρησιμοποιεί σα βάση την πολύ δημοφιλή γλώσσα HTML. Η HTML (HyperText Markup Language) είναι μια γλώσσα που χρησιμοποιείται ως γλώσσα κωδικοποίησης του περιεχομένου των ιστοσελίδων. Η HTML γράφεται υπό μορφή στοιχείων HTML τα οποία αποτελούνται από ετικέτες, οι οποίες περικλείονται μέσα σε σύμβολα «μεγαλύτερο από» και «μικρότερο από» (για παράδειγμα <html>), μέσα στο περιεχόμενο της ιστοσελίδας. Ανάμεσα στις ετικέτες, τοποθετείται κείμενο, πίνακες, εικόνες κλπ. Η εμφάνιση της ιστοσελίδας γίνεται με την χρήση ενός web browser ο σκοπός του οποίου είναι να διαβάζει τα έγγραφα HTML και να τα συνθέτει έτσι ώστε να μπορεί κανείς να τα διαβάσει ή να τα ακούσει. Ο browser δεν εμφανίζει τις ετικέτες HTML, αλλά τις χρησιμοποιεί για να ερμηνεύσει το περιεχόμενο της σελίδας. Τα στοιχεία της HTML χρησιμοποιούνται για να κτίσουν τον ιστότοπο. Η HTML επιτρέπει την ενσωμάτωση εικόνων και άλλων αντικειμένων μέσα στη σελίδα, και μπορεί να χρησιμοποιηθεί για να εμφανίσει διαδραστικές φόρμες. Παρέχει τις μεθόδους δημιουργίας δομημένων εγγράφων (δηλαδή εγγράφων που αποτελούνται από το περιεχόμενο που μεταφέρουν και από τον κώδικα μορφοποίησης του περιεχομένου) καθορίζοντας δομικά σημαντικά στοιχεία για το κείμενο, όπως κεφαλίδες, παραγράφους, λίστες, συνδέσμους, παραθέσεις και άλλα. Οι Web browsers μπορούν επίσης να αναφέρονται σε στυλ μορφοποίησης CSS για να ορίζουν την εμφάνιση και τη διάταξη του κειμένου και του υπόλοιπου υλικού. Η CSS (Cascading Style Sheets-Διαδοχικά Φύλλα Στυλ) ή (αλληλουχία φύλλων στύλ ) είναι μια γλώσσα υπολογιστή η οποία χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που γράφτηκε σε HTML, δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας και γενικότερα ενός ιστοτόπου. Η PHP (Personal Home Page) είναι μια από τις πιο διαδεδομένες γλώσσες προγραμματισμού δυναμικών ιστοσελίδων. Πρόκειται για διερμηνευτές υψηλής απόδοσης που συνήθως διασυνδέονται με το λογισμικό web server ως αρθρώματα, Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 87

88 αλλά μπορούν να εκτελεστούν και ανεξάρτητα.. Η PHP μπορεί να συνδεθεί ως άρθρωμα με τους περισσότερους web server, να διασυνδεθεί μέσω Cgi (Common Gateway Interface) ή και να κληθεί από τη γραμμή εντολών για να εκτελέσει αυτόνομα και τοπικά ένα Php πρόγραμμα. Για τη χρήση σε περιβάλλον web server, η διασύνδεση μέσω CGI θεωρείται ασφαλέστερη. Όπως στις περισσότερες server side γλώσσες, η PHP μπορεί να εντεθεί σε κώδικα html. Ο λεκτικός αναλυτής αναγνωρίζει ως πηγαίο κώδικα μόνο το κείμενο που βρίσκεται εντός των αναγνωριστικών <?php και?> (ή συντομογραφικά <? και?>). Εναλλακτικά μπορούν να χρησιμοποιηθούν και τα html tags <script language="php"> και </script>. Στο κείμενο εκτός των php tags δεν αναγνωρίζεται από τον αναλυτή και αντιγράφεται αυτούσιο στην έξοδο (standard output). Αυτό επιτρέπει την εμφώλευση php κώδικα σε αρχεία html ή οποιαδήποτε αρχείο κειμένου. Υπάρχει όμως και ένα τρίτο πράγμα, η σημασία του οποίου είναι ιδιαίτερα μεγάλη σε μία εφαρμογή διαδικτύου, τα δεδομένα (data) και οι βάσεις δεδομένων (databases). Ως δεδομένα στην εφαρμογή μας μπορούμε να θεωρήσουμε, μεταξύ άλλων: πληροφορίες για τους χρήστες όπως οι αριθμοί των κινητών τους οι ενέργειες των χρηστών οτιδήποτε περιέχει το site Υπάρχουν 3 βασικοί λόγοι για τους οποίους τα δεδομένα αυτά καταχωρούνται σε μια βάση δεδομένων και όχι σε ένα αρχείο: 1. Ευκολία χρήσης 2. Δυνατότητα ταυτόχρονης πρόσβασης 3. Ασφάλεια Συνδυασμός HTML, PHP και MySQL Οι τρεις αυτές γλώσσες αποτελούν πολύ δυνατά εργαλεία, κάθε ένα στον τομέα του και ο συνδυασμός τους παρέχει μεγάλες δυνατότητες στο σχεδιαστή για τη δημιουργία μιας διαδικτυακής εφαρμογής. Η συνεργασία τους ουσιαστικά περιλαμβάνει τη μεσολάβηση της PHP ώστε να επικοινωνεί ο χρήστης με μια βάση δεδομένων μέσα από τον φυλλομετρητή του. Η PHP αποτελεί ένα πολύ δυνατό εργαλείο για τη δημιουργία δυναμικών σελίδων στο διαδίκτυο οι οποίες θα ήταν αδύνατο να αναπτυχθούν με χρήση μόνο της HTML. Δίνει στο σχεδιαστή τη δυνατότητα να διαχειρίζεται τα δεδομένα που εισάγει ο χρήστης ή να μεταβάλλει το περιεχόμενο μιας σελίδας ανάλογα με τα δεδομένα αυτά. 88 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

89 Για τη διαχείριση μιας MySQL βάσης δεδομένων η οποία είναι γραμμένη σε MySQL κάποιος θα πρέπει να γνωρίζει τις εντολές και τη σύνταξη αυτών. Ένα από τα μεγάλα πλεονεκτήματα της PHP είναι ότι μέσω αυτής μπορούμε να επικοινωνήσουμε με MySQL βάσεις δεδομένων. H PHP λειτουργεί σαν αγωγός, στέλνοντας εντολές στην MySQL και λαμβάνοντας αποτελέσματα από αυτή. Μια απλή απεικόνιση αυτής της διαδικασίας ακολουθεί στο παρακάτω σχήμα: Αρχεία Η συνηθέστερη επιλογή για την αποθήκευση δεδομένων σε μια web εφαρμογή είναι μια βάση δεδομένων. Αυτό, βέβαια, δε σημαίνει απαραίτητα ότι είναι και η μοναδική διαθέσιμη επιλογή, καθώς τα απλά αρχεία κειμένου παραμένουν ένας εύκολος και εύχρηστος τρόπος για την ανταλλαγή πληροφοριών. Επιπλέον τα αρχεία μπορούν να φανούν χρήσιμα σε πολλές άλλες περιπτώσεις, όπως γρήγορη ρύθμιση των παραμέτρων σχεδίασης ενός web site, εισαγωγή και εξαγωγή δεδομένων ενός πίνακα. Λόγω λοιπόν των περιορισμένων δυνατοτήτων σε μνήμη RAM του mini PC Module, δεν ήταν δυνατή η εγκατάσταση MySQL server. Επομένως όλα τα δεδομένα της εφαρμογής αποθηκεύονται σε ειδικά διαμορφωμένο αρχείο. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 89

90 5.6 Συνοπτική Περιγραφή Προγράμματος AVR Μόλις το σύστημα διαρρέεται από ρεύμα εκτελεί τα εξής βήματα: 1) Φόρτωση στοιχείων συσκευής. Ρύθμιση των ports του μικροελεγκτή, σαν είσοδοι ή έξοδοι, καθώς και των απαραίτητων registers και timers. Αρχικοποίηση των modules. 2) Καθαρισμός των όλων των buffers στην μνήμη SRAM και φόρτωση από τη μη μεταβαλλόμενη μνήμη EEPROM των απαραίτητων πληροφοριών οι οποίες θα αποθηκευτούν στην SRAM. 3) Έλεγχος αν το σύστημα έχει συνδεθεί στο δίκτυο. Μόνο μόλις πραγματοποιηθεί η σύνδεση αυτή το προγραμμα προχωράει στο βήμα 4. 4) Αποστολή μηνύματος sms στην εταιρεία κινητής τηλεφωνίας προκειμένου να γίνει ενημέρωση του υπολοίπου χρόνου ομιλίας αν το πρόγραμμα που χρησιμοποιείται δεν είναι συμβόλαιο. 5) Εισαγωγή στη φάση αναμονής. Το σύστημα περιμένει interrupt είτε από το GSM είτε από το PC module. Ταυτόχρονα ελέγχει συνεχώς την κατάσταση των εισόδων προκειμένου να ανιχνεύσει κάποιον συνδυασμό συναγερμού. 6) Μετά την εξυπηρέτηση των εξωτερικών interrupts και την εκτέλεση των πρόγραμμα επιστρέφει στο βήμα 5. Όπως έχει ήδη αναφερθεί ένα μέρος της επικοινωνία με τον μικροεπεξεργαστή γίνεται μέσω γραπτών μηνυμάτων SMS. Όλα τα μηνύματα θα μπορούσαν να παραλληλιστούν με εντολές που μεταφέρουν, μαζί με την λειτουργία που πρέπει να εκτελεστεί και διάφορες παραμέτρους που διέπουν την εκτέλεση της εντολής αυτής. Τα μηνύματα αυτά είναι περιορισμένου μεγέθους, και είναι φτιαγμένη έτσι η σύνταξη τους, που η αποκωδικοποίηση τους να είναι εύκολη από τον παραλήπτη αλλά και να υποδηλώνεται η εντολή που πρέπει να εκτελέσουν. Επίσης κάθε μήνυμα είναι αυτούσιο και δε χρειάζεται αλλά δεδομένα, δηλαδή η πληροφορία που χρειάζεται για την εκτέλεση τους εμπεριέχεται σε αυτά. 90 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

91 ΚΕΦΑΛΑΙΟ 6 Υλοποίηση Συστήματος 6.1 Εργαλεία που χρησιμοποιήθηκαν Ένα απο τα σημαντικότερα πλεονεκτήματα του προγράμματος Orcad είναι η δυνατότητα μεταφοράς ενός κυκλώματικού σχεδίου απο το Orcad που έγινε, στο Layout, με απώτερο σκοπό την παραγωγή PCB πλακέτας μέσω της διαδικασίας Netlist. Εκτός απο το ενσωματωμένο πρόγραμμα Layout υποστηρίζονται και σχεδόν όλα τα άλλα προγράμματα παραγωγής PCB του εμπορίου. Ο όρος Netlist χρησιμοποιείται για ένα αρχείο. Το οποίο περιγράφει τα υλικά που το απαρτίζουν και τον τρόπο αλληλοσυνδέσεων των υλικών (δηλαδή τις ηλεκτρικές καλωδιώσεις), οι οποίες αναφέρονται σαν Nets. Ένα Net αποτελείται απο τους ακροδέκτες υλικών και το πως είναι συνδεδεμένοι μεταξύ τους. Γραμμές τροφοδοσίας και γειώσεις αποτελούν επίσης Nets. Συμπερασματικά λοιπόν μπορούν να οριστούν οι εξής ιδιότητες των υλικών (Part properties) : Reference designator Part value και Το PCB footprint Το footprint αναφέρεται στο περίγραμμα ενός υλικού και στο σχήμα των pads, όπως αυτά θα εμφανίζονται στο PCB. Δεν υπάρχει τυποποίηση για τα footprints. Κάθε εταιρεία χρησιμοποιεί το δικό της τρόπο,ο οποίος όχι μόνο δεν είναι γνωστός αλλά είναι και κατοχυρωμένος. Για τη δική μας πλακέτα χρειάστηκε να κατασκευάστουν εξαρχης νέα footprints για τα υλικά της βιβλιοθήκης MYPARTS. Το Capture υποστηρίζει πάνω από 40 διαφορετικούς τύπους Netlist. Το format που χρησιμοποιείται για το Layout είναι το Layout-Plus. Για τη μεταφορά του Netlist στο Layout-Plus δεν αντιμετωπίζεται ιδιαίτερο πρόβλημα.. Ενδεικτικά αναφέρουμε ότι για τη δημιουργία του Netlist αρχείου επιλέγουμε το ανώτερο αρχείο της εργασίας (project) και στη συνέχεια κάνουμε κλικ στο εργαλείο του Netlist. Συνήθως μετά την εισαγωγή στο Layout, απαιτείται η χειροκίνητη επέμβαση και διόρθωση του αρχείου που δημιουργείται απο το Capture. Κύριο μέλημα είναι η ονομασία των υλικών, που προέρχονται από τις βιβλιοθήκες που χρησιμοποιήθηκαν στο Capture, να είναι ίδια με αυτή των βιβλιοθηκών που χρησιμοποιούνται στο Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 91

92 Layout. Αμφότερα τα ονόματα των ακροδεκτών (pin names) και των footprints πρέπει να είναι τα ίδια.. ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ LAYOUT PLUS Ο τρόπος που εργάζεται η νέα έκδοση του Layout Plus στηρίζεται σε πέντε βασικά βήματα : 1. Χρησιμοποίηση ενός προσχεδιασμένου γενικού πλαισίου που ονομάζεται Template, μέσα στο οποίο θα μεταφερθούν τα υλικά απο το αρχείο τύπου Netlist (.mnl). Ο τύπος αυός μπορεί να επιλεγεί απο μία σειρά Tmplates που δίνονται με το πρόγραμμα ή έχουν κατασκευαστεί από τον χρήστη. Το άνοιγμα ενός Template είανι υποχρεωτικό. Μπορεί να είναι κενό (Default) αλλά πρέπει να ανοιχτεί. 2. Άνοιγμα του αρχείου Netlist και μεταφορά των υλικών και των συνδεσεων. 3. Δημιουργία ενός περιγράμματος, μέσα στο οποίο θα περικλείονται όλα τα υλικά που μεταφέρθηκαν (ένα απλό τετράγωνο που θα ορίζει τα όρια της πλακέτας, μέσα στα οποία θα τοποθετηθούν τα υλικά). 4. Χρήση της λειτουργίας του Auto placement για τον καλύτερο δυνατό τρόπο τοποθέτησης και διαρρύθμισης των υλικών. Η τοποθέτηση μπορεί να γίνει και χειροκίνητα. 5. Αυτόματη (Auto routing) ή χειροκίνητη καλωδίωση (Manual routing) ώστε να χρησιμοποιηθούν οι συντομότερες γραμμές. Ο μικρότερος αριθμός επιπέδων, αλλά και ο μικρότερος αριθμός διαμπερών οπών (vias) 92 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

93 6.2 Σχεδίαση πλακέτας Μία σχεδίαση ηλεκτρονικών κυκλωμάτων περιλαμβάνει : Το σχεδιασμό του κυκλωματικού διαγράμματος (Capture) Την μεταφορά του κυκλώματος που σχεδιάστηκε στο πρόγραμμα Layout-Plus και Τη παραγωγή του τυπωμένου κυκλώματος (PCB) σε πλακέτα. Υπάρχει και ένα ενδιάμεσο προεραιτικό στάδιο εξομοίωσης της ανάλυσης καλής λειτουργίας του κυκλώματος μέσω του εργαλείου Spice, το οποίο δε χρειάστηκε να χρεισιμοποιήσουμε στη παρούσα διπλωματική. Με τον τρόπο αυτό το κύκλωμα που σχεδιάστηκε στο Capture, δεν απαιτείται να επανασχεδιαστεί στο Layout. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 93

94 Το πρώτο στάδιο στη σχεδίαση της πλακέτας ήταν η σχεδίαση του σχηματικού διαγράμματός της στο πρόγραμμα του Orcad : Capture CIS. Στη συνέχεια, αφου βάλαμε τα κατάλληλα footprints σε κάθε υλικό, δημιουργήσαμε το αρχείο με κατάληξη.mnl, μέσω της λειτουργίας του Netlist. Και στο τελικό στάδιο Στη συνέχεια μεταφέρουμε το σχημτικό μας στο Layout Plus πρόγραμμα του Orcad. Και κάνοντας τις κατάλληλες συνδέσεις παίρνουμε το τελικό layout διάγραμμα,το οποίο θα τυπωθεί σε διαφάνεια ώστε να πάρουμε το τελικό αποτέλεσμα στην πλακέτα. Εικ.6.1: Layout διάγραμμα πλακέτας συστήματος 94 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

95 Εικ.6.2: Layout διάγραμμα πλακέτας GSM Module 6.3 Κατασκευή πλακέτας Διαδικασία κατασκευής πλακετών Μία πλακέτα τυπωµένου κυκλώµατος (Printed Circuit Board PCB ή Printed Wiring Board PWB ή Perforated Circuit Board) στην απλούστερη µορφή της αποτελείται από µια λεπτή πλακέτα από µονωτικό υλικό που υποστηρίζει τα εξαρτήµατα του κυκλώµατος και τις αγώγιµες διαδροµές (track), συνήθως από χαλκό στην µια ή και τις δύο πλευρές της οι οποίες συνδέουν µεταξύ τους τα εξαρτήµατα. Η παραγωγή PCB περιλαμβάνει τη δημιουργία ενός προτύπου αγώγιμου υλικού (συνήθως χαλκού) πάνω σε μια μη αγώγιμη επιφάνεια (πλακέτα). Οι πλακέτες συντίθεται συνήθως από συμπιεσμένη εποξίνη, γυαλί ή Teflon. Χρησιμοποιούνται προσθετικές ή αφαιρετικές διεργασίες για τη δημιουργία αγώγιμων προτύπων, με τις αφαιρετικές μεθόδους (όπου το υλικό αφαιρείται από την πλακέτα για να δημιουργηθούν τα αγώγιμα πρότυπα) να προτιμούνται γενικά περισσότερο. Η διαδικασία κατασκευής των πλακετών περιλαμβάνει συνήθως: καθαρισμό των επιφανειών της πλακέτας προετοιμασία της βάσης επιμετάλλωση χαλκού χωρίς ηλεκτρόλυση Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 95

96 τύπωση προτύπου και εφαρμογή μάσκας (προστατευτική επικάλυψη) επιμετάλλωση χάραξη Οι ακροδέκτες των εξαρτηµάτων συγκολλούνται στις νησίδες ή πίστες (pads), οι οποίες είναι τµήµατα της αγώγιµης διαδροµής µε αρκετό χώρο για την πραγµατοποίηση µιας επαφής κόλλησης (soldered joint) µεταξύ του εξαρτήµατος και της αγώγιµης διαδροµής. Οι πίστες µπορεί να έχουν τρύπες οι οποίες διαπερνούν την πλακέτα για να επιτυγχάνεται η στήριξη των εξαρτηµάτων (through-hole technology) ή το εξάρτηµα τοποθετείται και γίνεται η κόλλησή του απευθείας στην πίστα (τεχνολογία επιφανειακής στήριξης surface- mount technology). Πριν µερικά χρόνια η παραπάνω περιγραφή θα ήταν ικανοποιητική εντούτοις τα τελευταία χρόνια ο ηλεκτρονικός εξοπλισµός για όλους τους τύπους εφαρµογών έχει δει σηµαντικές προόδους αναφορικά µε την απόδοση, το µέγεθος και το κόστος. Τα PCBs διαδραµατίζουν πια έναν σηµαντικό ρόλο στον καθορισµό της λειτουργικότητας ενός ηλεκτρονικού κυκλώµατος και δεν µπορούν πλέον να θεωρούνται σαν µια παθητική πλακέτα διασύνδεσης. Οι συνεχείς βελτιώσεις στην τεχνολογία κατασκευής PCB έχουν σαν αποτέλεσµα µια ποικιλία στους τύπους των PCB που ταιριάζουν καλύτερα µε τα νέα σχέδια των ηλεκτρονικών εξαρτηµάτων. Οι τρεις κύριες κατηγορίες PCB τεχνολογίας είναι: Τυπωµένη πλακέτα µονής ή απλής όψης (single-sided PCB), που τα κυκλώματα τυπώνονται μόνο στη μία πλευρά της πλακέτας Τυπωµένη πλακέτα διπλής όψης (Double-sided PCB), όπου τα κυκλώματα τυπώνονται και στις δύο πλευρές Τυπωµένη πλακέτα πολλαπλών στρωµάτων (Multi-layer PCB), όπου υπάρχουν τρία ή περισσότερα επίπεδα. Τυπωµένη πλακέτα µονής όψης (single-sided PCB) Σε µία τυπωµένη πλακέτα µονής όψης συνήθως όλες οι αγώγιµες διαδροµές (tracks) βρίσκονται σε µια πλευρά ενώ τα ηλεκτρονικά εξαρτήµατα βρίσκονται στην άλλη πλευρά. Μερικές φορές τα ηλεκτρονικά εξαρτήµατα βρίσκονται στην ίδια πλευρά µε τις διαδροµές ή και στις δύο πλευρές ανάλογα µε το πόσο σύνθετο είναι το σχέδιο. Στη παρούσα εργασία κατασκευάσαμε μία πλακέτα 96 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

97 μονής όψης για το SMD του GSM module για απομόνωση και καλύτερη διαχείρηση του στο σύστημα.(εικόνες 2.2,2.4) Τυπωµένη πλακέτα διπλής όψης (double-sided PCB) Οι PCBs αυτής της κατηγορίας χρησιµοποιούν αγώγιµες διαδροµές (conductive tracks) σε κάθε πλευρά της πλακέτας. Και σ αυτή την κατηγορία τα εξαρτήµατα µπορούν να τοποθετηθούν είτε στην µία είτε στην άλλη πλευρά είτε και στις δύο. Το συνδυασµένο αυτό αποτέλεσµα εξασφαλίζει µεγαλύτερη πυκνότητα εξαρτηµάτων συγκριτικά µε τα PCBs µονής όψης. Οι διασυνδέσεις µεταξύ των αγώγιµων διαδροµών στα δύο επίπεδα επιτυγχάνεται µε ένα αριθµό από µεθόδους όπως, ακίδες µεταξύ των επιπέδων, καλώδια, τους ακροδέκτες των εξαρτηµάτων και επιµεταλλωµένες τρύπες (plated through holes). Η τελευταία µέθοδος είναι σήµερα η συνηθέστερη και υλοποιείται µε την επικάλυψη του τοιχώµατος της οπής µε αγώγιµο υλικό. Οι επιµεταλλωµένες τρύπες οι οποίες χρησιµοποιούνται αποκλειστικά για την διασύνδεση αγώγιµων διαδροµών ( conductive tracks) µεταξύ των δύο αντίθετων επιπέδων της πλακέτας είναι γνωστές σαν «περάσµατα» (vias). Στην εικ 2.3 φαίνεται το layout σχέδιο της πλακέτα διπλής όψης µε αγώγιµες διαδροµές και στις δύο όψεις και συνδέσεις τύπου «περάσµατος» µεταξύ δύο αγώγιµων διαδροµών που βρίσκονται στις δύο όψεις.με μπλε είναι σχεδιασμένες οι διαδρομές του top layer (δηλαδή της πάνω επιφάνειας της πλακέτας) και με κόκκινο είναι σχεδιασμένες οι διαδρομές του buttom layer (της κάτω επιφάνειας της πλακέτας). Τυπωµένη πλακέτα κυκλωµάτων πολλαπλών επιπέδων (Multi-layer PCB) Όπως προκύπτει από την ονοµασία οι πλακέτες αυτές έχουν πολλαπλά επίπεδα µε αγώγιµες διαδροµές, δύο από τις οποίες βρίσκονται στις επιφάνειες της πλακέτας. Τα υπόλοιπα επίπεδα βρίσκονται στο εσωτερικό της πλακέτας η οποία κατασκευάζεται µε ένα αριθµό αγώγιµων διαδροµών που συνδυάζονται µε µονωτικά επίπεδα. Οι συνδέσεις µεταξύ των αγώγιµων διαδροµών υλοποιείται µε «περάσµατα» µεταξύ των επιπέδων through via είτε µε κρυφά περάσµατα «buried vias». Ένα πέρασµα µεταξύ των επιπέδων απλά διαπερνά την πλακέτα ενώ ένα κρυφό πέρασµα διασυνδέει εσωτερικές αγώγιµες διαδροµές. Στη παρούσα εργασία δε κατέστει αναγκαία µια τέτοια τυποποίηση πλακέτας πολλαπλών επιπέδων Πλακέτα εφαρμογής Στην κατασκευή μας χρησιμοποιήσαμε φωτοευαίσθητες πλακέτες. Αυτές οι πλακέτες έχουν ένα στρώμα φωτοευαίσθητου υλικού όμοιου με αυτού των Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 97

98 φωτογραφικών film (ευαίσθητο όμως στην περιοχή των UV) πάνω από το στρώμα του χαλκού. (Εναλλακτικά, θα μπορούσαμε να πάρουμε μια κλασική πλακέτα με χαλκό,να την ψεκάσουμε με φωτοευαίσθητο spray και να την αφήνουμε να στεγνώσει σε σκοτεινό περιβάλλον,ένας πιο οικονομικός τρόπος αλλά λιγότερο αξιόπιστος). Έχουμε ήδη εκτυπώσει το layout σχέδιο της πλακέτας σε διαφάνεια όταν τοποθετήσουμε τη διαφάνεια πάνω στη πλακέτα και την εκθέτουμε για 10 λεπτά περίπου σε υπεριώδη ακτινοβολία (από μια κατάλληλη λάμπα π.χ. την HPL-N της PHILIPS) ώστε να αποτυπωθεί πάνω στο φωτοευαίσθητο υλικό όλη η σχεδίαση που έχει προηγηθεί στο Οrcad. Συγκεκριμένα όπου η διαφάνεια έχει ζωγραφισμένες διαδρομές, το φωτοευαίσθητο υλικό δεν "καίγεται" και κατά την εμφάνισή του παραμένει. Στη συνέχεια ακολουθείται μια διαδικασία αποχάλκωσης, κατά την οποία βυθίζουμε σε ένα διάλυμα ένυδρου τριχλωριούχου σιδήρου την πλακέτα μας ώστε να «φαγωθεί» ο χαλκός απο τα σημεία που δεν χρειαζόμαστε και να παραμείνει έκει που χρειάζεται,αποτυπώνοντας έτσι όλο το σχέδιο της διαφάνειας πάνω στην πλακέτα.. Όπου έχει παραμείνει το φωτοευαίσθητο υλικό δεν επηρεάζει το υγρό με συνέπεια να παραμένει ο χαλκός και να σχηματίζεται τελικά η πλακέτα που είχαμε στη διαφάνεια.το υγρό δεν ακουμπά και δεν αλλοιώνει το χαλκό,αρκεί να μην παραμείνει η πλακέτα για πολύ ώρα μέσα στο υγρό της αποχάλκωσης. Εκτός από το παραπάνω χημικό υπάρχουν και αρκετά άλλα που μπορεί να αποχαλκώνουν την πλακέτα ακόμα και σε 5 δευτερόλεπτα αλλά ο ένυδρος τριχλωριούχος σίδηρος είναι ο πιο ασφαλής και διαδεδομένος τρόπος. Καλό είναι το υγρό αυτό να είναι ζεστό και επιπλέον να μετακινούμε ελαφρά την πλακέτα μέσα στο υγρό ώστε να επιταχυνθεί η διαδικασία ομοιόμορφα και πιο αποτελεσματικά. Μετά το τέλος της αποχάλκωσης καθαρίζουμε την πλακέτα με οινόπνευμα και η πλακέτα είναι έτοιμη να τρυπηθεί. Στη συνέχεια η πλακέτα υπόκειται σε μια διαδικασία γαλβάνωσης ώστε να κολλήσουν στο τέλος όλα τα υλικά που θέλουμε.η κατασκευή πλακετών είναι τέχνη και το βασικό συστατικό για μια επιτυχημένη πλακέτα είναι μόνο η εμπειρία. Σημ. Η πολυπλοκότητα του σχεδίου καθώς και η πολυπλοκότητα της φύσης των υλικών και των εξαρτημάτων (SMD κ.α), μας ανάγκασαν στη κατασκευή μερικών πλακετών μέχρι να φτάσουμε στο επιθυμητό αποτέλεσμα ποιότητας. 6.3 Ολοκλήρωση πλακέτας (Συγκόλληση) Μετά την διάτρηση της πλακέτας στο χώρο του Εργαστηρίου, έγινε η συγκόλληση των διαφόρων υλικών-εξερτημάτων. Όπως αναφέρθηκε και παραπάνω 98 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

99 η πολυπλοκότητα της φύσης των υλικών, απαιτούσε ιδιαίτερη προσοχή στην συγκόλληση και ιδιαίτερα στα SMD υλικά. Συνοπτικά συγκολλήθηκαν τα εξής : ATmega 644PA (U2). Συγκολλήθηκε 40 Pins DIP Socket για την τοποθέτησή του LM78L05C/TO92 (U1). Συγκολλήθηκε στην κεντρική πλακέτα (main board) P3873 (U5). Συγκολλήθηκε στην κεντρική πλακέτα (main board) MAX232 (U3). Ρυθμιστής τάσης. Συγκολλήθηκε στην κεντρική πλακέτα (main board) MAX3377 (U4). Ρυθμιστής τάσης RELAYS (LS1-8). Για τη οδήγηση των εξόδων DIP_16 (U9,U10). Δύο κονέκτορες των 16 pins. Είναι οι 16 Pins κονέκτορες που χρησιμοποιήσαμε για την οδήγηση των 8 εισόδων. CONN_DSUB_9pins (J11). Το σειριακό που χρησιμοποιήθηκε για τη σύνδεση με το pc module είναι ένα θυλήκο σειριακό με τα εξής χαρακτηριστηκά : CON2/ CON3/ CON6/ CON7. Χρησιμοποιήθηκαν αρκέτοι κονέκτορες για την εξύπηρέτιση διαφορετικών σκοπών. Όπως για παράδειγμα οι κονέκτορες των 2 pins που χρησιμοποιούνται ως υποδοχείς των 8 εισόδων και αντίστοιχα κονέκτορες των 3 pins ως υποδοχείς των 8 εξόδων. ΔΙΟΔΟΙ (συμβ. D). Διάφορες δίοδοι για τις απαιτήσεις των κυκλωμάτων ΠΥΚΝΩΤΕΣ (συμβ. C) Διάφορoi πυκνωτές για τις απαιτήσεις των κυκλωμάτων Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 99

100 ΤΡΑΝΖΙΣΤΟΡ : (συμβ. Q) Για την οδήγηση των Relays και των Leds LEDs : Χρησιμοποιήθηκαν δύο δίοδοι εκπομπής φωτός, (LED, Light Emitting Diode). Το ένα LED (D9) χρησιμοποιήθηκε για να καταλαβαίνει ο χειριστής αν ο AVR είναι σε λείτουργία. Και το άλλο (D10) χρησιμοποιήθηκε για να καταλαβαίνει ο χειριστής αν έχει σήμα το GSM module. ΑΝΤΙΣΤΑΣΕΙΣ (συμβ. R). Διάφορες αντιστάσεις για τις απαιτήσεις των κυκλωμάτων SMD Socket. Για το GSM Module. Συγκολλήθηκε στην ειδική πλακέτα που κατασκευάστηκε για το σκοπό αυτό 100 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

101 ΚΕΦΑΛΑΙΟ 7 Επικοινωνία Χρήστη - Συστήματος 7.1 Επισκόπηση Λειτουργίας Η επικοινωνία με τον μικροεπεξεργαστή γίνεται αφενός μέσω γραπτών μηνυμάτων SMS και αφετέρου μέσω μιας ιστοσελίδας. Οι χρήστες του συστήματος θα πρέπει να είναι καθορισμένοι. Υπάρχει ένας κατάλογος των διαπιστευμένων χρηστών, των χρηστών δηλαδή στους οποίους παρέχεται η δυνατότητα να χειρίζονται και να ελέγχουν τις εισόδους και τις εξόδους του μικροεπεξεργαστή. Παρέχεται η δυνατότητα εισαγωγής ενός νέου χρήστη και η διαγραφή ενός ήδη υπάρχοντος χρήστη από τον διαχειριστή του συστήματος. Επίσης κάθε απλός χρήστης έχει τη δυνατότητα αλλαγής κάποιων στοιχείων του (π.χ. όνομα, κωδικός) μέσω της ιστοσελίδας. Επίσης ο χρήστης μπορεί να ελέγξει αν το σύστημα λειτουργεί με την πραγματοποίηση μιας κλήσης προς το module κινητής τηλεφωνίας. Αν το σύστημα λειτουργεί θα χτυπήσει μία φορά και στη συνέχεια θα εμφανιστεί το σήμα κατειλημμένου. Μέσω της ιστοσελίδας ρυθμίζεται εάν το πρόγραμμα της τηλεφωνίας που χρησιμοποιούμε είναι καρτοκινητή ή σύνδεση. Εάν το πρόγραμμα είναι καρτοκινητή τότε υπάρχει η ανάγκη υπολογισμού του αριθμού των μηνυμάτων sms που το σύστημα μπορεί να αποστείλει στους χρήστες. Μόλις ο χρόνος ομιλίας μειωθεί πολύ αποστέλλεται μήνυμα στο χρήστη-διαχειριστή που τον ενημερώνει ότι πρέπει να ανανεωθεί ο χρόνος ομιλίας της κάρτας. Οποιοσδήποτε χρήστης μπορεί να ανανεώσει το χρόνο ομιλίας είτε με τη αποστολή ενός μηνύματος στο μικροεπεξεργαστή το οποίο θα περιλαμβάνει τον κωδικό για την ανανέωση είτε μέσω της ιστοσελίδας. Τότε ο μικροεπεξεργαστής θα πραγματοποιήσει την ανανέωση αποστέλλοντας το κατάλληλο μήνυμα στην εταιρεία κινητής τηλεφωνίας και στη συνέχεια θα υπολογίσει εκ νέου τον αριθμό των μηνυμάτων που του απομένουν να στείλει. Το σύστημα υποστηρίζει, εκτός από τη λειτουργία χειρισμού και ελέγχου των εισόδων και των εξόδων, και την λειτουργία του «συναγερμού». Με άλλα λόγια σε συγκεκριμένους συνδυασμούς των εισόδων, τους οποίους και διαχειριζόμαστε μέσω Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 101

102 της ιστοσελίδας, αποστέλλεται μήνυμα στο χρήστη για να τον ενημερώσει. Η υπηρεσία αυτή ενεργοποιείται και απενεργοποιείται μέσω sms προς το module (ALARM_ON και ALARM_OFF αντίστοιχα.) Σε κάθε γραπτό μήνυμα sms που αποστέλλει κάποιος χρήστης του αποστέλλεται απαντητικό μήνυμα. Το μήνυμα αυτό είτε θα τον ενημερώνει για την επιτυχία του αιτήματός του, είτε θα τον ενημερώνει για κάποιο συντακτικό λάθος στο μήνυμα που έχει αποστείλει. Τέλος άλλα απαντητικά μηνύματα αφορούν στο αίτημα του χρήστη να ενημερωθεί για τις εισόδους καθώς και στην ανάγκη ανανέωσης του χρόνου ομιλίας της κάρτας μόλις ο αριθμός των εναπομενόντων μηνυμάτων που το module μπορεί να στείλει μειωθούν σημαντικά. 7.2 Επικοινωνία μέσω SMS Ο κάθε χρήστης μπορεί μέσω του κινητού του τηλεφώνου να επικοινωνεί με το σύστημα, με τη χρήση γραπτών μηνυμάτων. Το σύνολο των διαθέσιμων εντολών καθώς επίσης και των απαντήσεων του συστήματος περιγράφεται παρακάτω: TURNON_ : Σύνταξη: TURNON_outputΧ ή TURNON_output1,output2,,outputn Τύπος : Εντολή Σκοπός: Ενεργοποίηση των εξόδων που περιλαμβάνονται στο πεδίο Body της εντολής. Προκαλεί, δηλαδή, τις συσκευές που υποστηρίζουν τη λειτουργία αυτή να αλλάξουν κατάσταση σε on. Σε συσκευές όπως switches πρέπει να είναι το HIGH state. Αν η κατάσταση μιας συσκευής ήταν ήδη on παραμένει ως έχει. Υποστηρίζεται και η ενεργοποίηση όλων των εξόδων ταυτόχρονα με την εντολή TURNON_ALL. Μόλις ο χρήστης στείλει το συγκεκριμένο γραπτό μήνυμα sms του αποστέλλεται άμεσα απαντητικό μήνυμα. Το μήνυμα αυτό τον ενημερώνει για την επιτυχία του αιτήματός του. Συγκεκριμένα του αποστέλλεται το εξής μήνυμα: Request entered. TURNOFF_ : 102 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

103 Σύνταξη: TURNOFF_outputΧ ή TURNOFF_output1,output2,,outputn Τύπος : Εντολή Σκοπός: Απενεργοποίηση των εξόδων που περιλαμβάνονται στο πεδίο Body της εντολής. Προκαλεί, δηλαδή, τις συσκευές που υποστηρίζουν τη λειτουργία αυτή να αλλάξουν την κατάσταση σε off. Σε συσκευές όπως switches είναι το LOW state. Αν η κατάσταση μιας συσκευής ήταν ήδη off παραμένει ως έχει. Υποστηρίζεται και η απενεργοποίηση όλων των εξόδων ταυτόχρονα με την εντολή TURNOFF_ALL. Μόλις ο χρήστης στείλει το συγκεκριμένο γραπτό μήνυμα sms του αποστέλλεται άμεσα απαντητικό μήνυμα το οποίο τον ενημερώνει για την επιτυχία του αιτήματός του. Όπως ακριβώς και στην προηγούμενη εντολή του αποστέλλεται το μήνυμα: Request entered. PULSE_: Σύνταξη: PULSE_outputΧSsec Τύπος : Εντολή Σκοπός: Ενεργοποίηση μιας εξόδου για sec δευτερόλεπτα, όπου sec θα είναι 1-3 δευτερόλεπτα. Προκαλεί, δηλαδή, τις συσκευές που υποστηρίζουν τη λειτουργία αυτή να αλλάξουν την κατάσταση σε on για συγκεκριμένο χρονικό διάστημα. Σε συσκευές όπως μπουτόν εφαρμόζεται ένας παλμός ο οποίος δίνει εντολή ενεργοποίησης κάποιας συσκευής. Υποστηρίζεται και η εφαρμογή παλμού σε όλες τις εξόδους ταυτόχρονα με την εντολή PULSE_ASsec. Όμοια με τις προηγούμενες δύο εντολές, μόλις ο διαπιστευμένος χρήστης αποστείλει το συγκεκριμένο γραπτό μήνυμα sms του αποστέλλεται άμεσα το ίδιο απαντητικό μήνυμα ( Request entered )το οποίο τον ενημερώνει για την επιτυχία του αιτήματός του. ANANE_ : Σύνταξη: ANANE_rechargedcode Τύπος : Εντολή Σκοπός: Ανανέωση του χρόνου ομιλίας. Ο μικροεπεξεργαστής θα πραγματοποιήσει την ανανέωση χρόνου ομιλίας αποστέλλοντας το κατάλληλο Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 103

104 μήνυμα στην εταιρεία κινητής τηλεφωνίας. Στη θέση της παραμέτρου rechargedcode εισάγεται ο 12ψήφιος ή 16ψήφιος κωδικός (ανάλογα με την εταιρεία κινητής τηλεφωνίας). Μόλις ο χρήστης στείλει το συγκεκριμένο γραπτό μήνυμα sms του αποστέλλεται άμεσα το απαντητικό μήνυμα Request entered το οποίο τον ενημερώνει για την επιτυχία του αιτήματός του. RETURN_INPUTS: Σύνταξη: RETURN_INPUTS Τύπος : Εντολή Σκοπός: Η συγκεκριμένη εντολή προκαλεί τον παραλήπτη να του στείλει δεδομένα. Κάθε συσκευή έχει ένα σύνολο από πληροφορίες που θεωρεί δεδομένα. Ένα από αυτά τα δεδομένα είναι η κατάσταση στην οποία βρίσκεται αν θα είναι on ή off. Με την εντολή αυτή λοιπόν θα επιστραφούν στο χρήστη τα δεδομένα αυτά μέσω sms. Συγκεκριμένα θα επιστρέφεται στο χρήστη ποιες συσκευές εισόδου βρίσκονται σε κατάσταση on. Μόλις ο χρήστης αποστείλει το συγκεκριμένο sms στο σύστημα, του αποστέλλεται το εξής απαντητικό μήνυμα: ON the following inputs: inputx1,inputx2, inputxn όπου inputxi οι είσοδοι οι οποίοι βρίσκονται σε κατάσταση on. ALARM_ON: Σύνταξη: ALARM_ON Τύπος : Εντολή Σκοπός: Το σύστημα υποστηρίζει τη λειτουργία του «συναγερμού». Με άλλα λόγια σε συγκεκριμένους συνδυασμούς των εισόδων ο χρήστης ενημερώνεται μέσω γραπτού μηνύματος sms. Η συγκεκριμένη λοιπόν εντολή ενεργοποιεί την υπηρεσία αυτή. Το απαντητικό μήνυμα του συστήματος στο χρήστη, όπως και στις προηγούμενες εντολές, αφορά την ενημέρωση του για την επιτυχία του αιτήματός του και είναι το εξής: Request entered. 104 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

105 ALARM_OFF: Σύνταξη: ALARM_OFF Τύπος : Εντολή Σκοπός: Αντίστοιχα με την ALARM_ON, η εντολή αυτή απενεργοποιεί την υπηρεσία του «συναγερμού» Το απαντητικό μήνυμα του συστήματος στο χρήστη, όπως και στις προηγούμενες εντολές, αφορά την ενημέρωση του για την επιτυχία του αιτήματός του και είναι το εξής: Request entered. Σε περίπτωση που το σύστημα αναγνωρίσει πως ο χρόνος ομιλίας έχει σημειωθεί σημαντικά αποστέλει στο Διαχειριστή του συστήματος το εξή γραπτό μήνυμα: "Immediate recharge is required". Σε περίπτωση εσφαλμένης σύνταξης ενός μηνύματος ή σε περίπτωση λήψης κάποιου γραπτού μηνύματος το οποίο δεν αντιστοιχεί σε καμία από τις παραπάνω εντολές, καμία ενέργεια δεν εκτελείται από το σύστημα, το οποίο στέλνει στο χρήστη το εξής μήνυμα: Wrong command.try again. Τέλος σε περίπτωση που κάποιος μη διαπιστευμένος χρήστης επιχειρήσει να αποστείλει γραπτό μήνυμα sms, το σύστημα δεν τον αναγνωρίζει, δεν εκτελεί καμία ενέργεια και δεν του αποστέλλει κανένα απαντητικό μήνυμα. Ουσιαστικά το σύστημα «αγνοεί» τους «κακόβουλους» χρήστες με στόχο την ασφάλεια του συστήματος. 7.3 Επικοινωνία μέσω Internet Εισαγωγή Σε αυτή την ενότητα θα περιγραφεί η λειτουργία του ιστοτόπου της εφαρμογής μας όσον αφορά τη σκοπιά των διαχειριστών- χρηστών. Κατ αρχάς υπάρχουν τρεις διαφορετικοί τύποι χρηστών: ο Super Administrator ή Αρχηγός, ο Just Administrator ή Διαχειριστής και ο Just User ή Χρήστης. Όπως θα διαπιστώσει και ο αναγνώστης, ο κώδικας που εκτελείται από την πλευρά του απλού χρήστη είναι ίδιος με αυτόν του Administrator και του Super Administrator με διαφορετικούς περιορισμούς πρόσβασης για τον κάθε τύπο χρήστη. Συγκεκριμένα ένας Super Administrator είναι ο χρήστης ο οποίος μπορεί να έχει πρόσβαση όχι μόνο στα δικά του στοιχεία αλλά και στα στοιχεία όλων των υπόλοιπων χρηστών, δηλαδή των χρηστών των άλλων κατηγοριών- Just Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 105

106 Administrator και Just User-, και να τα μεταβάλλει. Τα στοιχεία αυτά αφορούν το όνομα, το επίθετο, το κινητό του χρήστη και τους κωδικούς πρόσβασης του στην ιστοσελίδα (username, password). Είναι αυτός που μπορεί να προσθέσει ένα χρήστη, να μεταβάλλει κάποια στοιχεία του αλλά και να τον διαγράψει από χρήστη του συστήματος. Επίσης μπορεί να έχει τον πλήρη έλεγχο του συστήματος, δηλαδή αν το επιθυμεί μπορεί να μεταβάλλει την κατάσταση των εξόδων του συστήματος, να ενημερωθεί για την κατάσταση των εισόδων, να επιλέξει τους συνδυασμούς των εισόδων οι οποίοι θα ενεργοποιούν το «συναγερμό», να ανανεώσει το χρόνο ομιλίας της καρτοκινητής, να αλλάξει το κόστος του ενός sms και να ενημερώσει αν το πρόγραμμα που χρησιμοποιείται θα είναι συμβόλαιο ή καρτοκινητή. Αντίστοιχα ένας Just Administrator έχει πρόσβαση και μπορεί να μεταβάλλει τα δικά του στοιχεία και αυτά των χρηστών από την κατηγορία Just User καθώς και να έχει πλήρη έλεγχο του συστήματος. Τέλος ένας χρήστης από την κατηγορία Just User έχει τον έλεγχο μόνο των δικών του στοιχείων και τον έλεγχο του συστήματος. Η εγγραφή ενός νέου χρήστη γίνεται μόνο από κάποιο χρήστη των ομάδων Administrator. Με άλλα λόγια ένας επισκέπτης του site δεν μπορεί να γίνει μόνος του και διαπιστευμένος χρήστης του συστήματος. Παρατηρούμε λοιπόν πως υπάρχει μια ιεραρχία η οποία ως στόχο έχει την ασφάλεια του συστήματος. Με τον τρόπο αυτό εμποδίζονται οι «κακόβουλοι» χρήστες να βλάψουν το σύστημα. Είναι λοιπόν προφανές πως οι χρήστες από τις κατηγορίες Administrator, για το λόγο του ότι μπορούν να επιτρέψουν ή να απαγορεύσουν την πρόσβαση ατόμων ή ομάδων ατόμων, πρέπει να συμπεριφέρονται με προσεκτικό και πολιτισμένο τρόπο στις αλληλεπιδράσεις τους με άλλους. Σημείωση: Για τις αναφορές που γίνονται στη συνέχεια στον κώδικα ο αναγνώστης μπορεί να ανατρέξει στο Παράρτημα Μέρος Β Δομή της Ιστοσελίδας Η ιστοσελίδα του συστήματος έχει μια ειδική σχεδίαση με τέσσερις περιοχές όσον αφορά την εμφάνισή του. Συγκεκριμένα χωρίζεται στην Επικεφαλίδα, στο Πλευρικό Μενού, στον Χώρο Περιεχομένων και στο Υποσέλιδο, όπως φαίνεται στην επόμενη εικόνα. 106 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

107 Εικ. 7.1 Η Επικεφαλίδα αποτελείται από δύο μέρη-σειρές. Στο πάνω μέρος της υπάρχει ο τίτλος της σελίδας, που ουσιαστικά είναι και ο τίτλος της διπλωματικής, και το πεδίο σύνδεσης χρηστών-διαχειριστών. Το πεδίο σύνδεσης χρηστών-διαχειριστών είναι το μέρος της ιστοσελίδας όπου εμφανίζεται ανά πάσα στιγμή το ψευδώνυμο αυτού που έχει συνδεθεί στο σύστημα μαζί με ένα link για την αποσύνδεση του, ενώ αν δεν έχει συνδεθεί κάποιος εμφανίζεται εκεί το μήνυμα Δεν είστε συνδεδεμένος/η. Το Πλευρικό Μενού εμφανίζει τις υποκατηγορίες της διαχείρισης του συστήματος, συγκεκριμένα τις υποκατηγορίες Χρήστες, Έλεγχος και Ρυθμίσεις. Η επικεφαλίδα του καταστήματος δημιουργείται από το αρχείο layout.php και το πλευρικό μενού δημιουργείται από το αρχείο index.php. Η ιστοσελίδα δίνει τη δυνατότητα περιήγησης τόσο στην ελληνική γλώσσα όσο και στην αγγλική με την επιλογή της αντίστοιχης σημαίας στο πάνω μέρος δεξιά (όπως φαίνεται και στις εικόνες). Αυτό συμβαίνει με τη φόρτωση των αρχείων lang_gr.php και lang_en.php αντίστοιχα. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 107

108 7.3.3 Λειτουργία της Ιστοσελίδας Η ιστοσελίδα του Συστήματος, όπως αναφέρθηκε και πιο πάνω, παρέχει 3 ομάδες λειτουργιών, που αντιστοιχούν σε 3 ομάδες χρηστών: Super Administrator Just Administrator Just User Λειτουργίες Διαχειριστών Όπως και ο εγγεγραμμένος χρήστης έτσι και ο διαχειριστής του σηστήματος πρέπει να κάνει εισαγωγή στο σύστημα με το ψευδώνυμό του και τον κωδικό πρόσβασης. Η επιτυχής εισαγωγή στο σύστημα εμφανίζει την πρώτη σελίδα του περιβάλλοντος διαχείρισης του συστήματος (εικόνα 7.1), όπου διακρίνεται η εξής αλλαγή σε σχέση με τη σελίδα του απλού χρήστη: η εμφάνιση στην επικεφαλίδα της σελίδας της φράσης Έχετε συνδεθεί ως sadmin, υπενθυμίζει κάθε στιγμή στον διαχειριστή ότι βρίσκεται στην περιοχή διαχείρισης και η δεύτερη αλλαγή είναι η εμφάνιση του πλευρικού μενού. Οι διαχειριστές του συστήματος και μόνον αυτοί μπορούν να εκτελέσουν τις παρακάτω λειτουργίες: Εγγραφή στο σύστημα Η εγγραφή στο σύστημα είναι η απαραίτητη προϋπόθεση για να γίνει κάποιος διαπιστευμένος χρήστης του συστήματος. Οι εγγραφές πραγματοποιούνται μόνο από χρήστες των κατηγοριών Super Administrator και Just Administrator. Αυτό συμβαίνει για να διατηρηθεί η ασφάλεια του συστήματος, ώστε να αποφευχθούν οι «κακόβουλοι» χρήστες. Επομένως ένας Administrator, αφού μπει στη σελίδα Διαχείριση χρηστών (εικόνα 7.2), επιλέγοντας στο πλευρικό μενού την επιλογή Χρήστες, και πατώντας στο link Προσθήκη χρήστη, εμφανίζεται η σελίδα όπως φαίνεται στην εικόνα 7.3. Από εκεί μπορεί να προσθέσει τα στοιχεία του νέου χρήστη, μέσα στα οποία είναι και το επιθυμητό ψευδώνυμο και ένας κωδικός (password) και το κινητό του. Στη συνέχεια όταν συμπληρωθούν τα πεδία της φόρμας και πατηθεί Αποθήκευση χρήστη εκτελείται το αρχείο page_users.php που αποθηκεύει τα στοιχεία του νέου χρήστη, με τον κωδικό (password) να αποθηκεύεται σε κρυπτογραφημένη μορφή για μεγαλύτερη ασφάλεια. Σε περίπτωση που το όνομα χρήστη- ψευδώνυμο που εισήχθη στη φόρμα έχει χρησιμοποιηθεί σε προηγούμενη 108 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

109 εγγραφή κάποιου μέλους, η εγγραφή δε γίνεται και το σύστημα προβάλει κατάλληλη ειδοποίηση. Εικ.7.2 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 109

110 Εικ. 7.3 Ρύθμιση παραμέτρων του συστήματος Επιλέγοντας στο πλευρικό μενού την επιλογή Ρυθμίσεις οι χρήστες εισέρχονται αντίστοιχη στην σελίδα όπως φαίνεται στην εικόνα Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

111 Εικ. 7.4 Στη σελίδα αυτή ο χρήστης μπορεί επιλέξει, αν το πρόγραμμα τηλεφωνίας που χρησιμοποιείται είναι Σύνδεση ή Κάρτα. Αν μάλιστα επιλέξει την επιλογή Κάρτα, εμφανίζεται ένα textbox στο οποίο ο χρήστης συμπληρώνει το κόστος του ενός sms. Στην ίδια σελίδα εμφανίζεται και ένα δεύτερο textbox στο οποίο ο χρήστης εισάγει τον κωδικό ανανέωσης χρόνου ομιλίας (συνήθως 12ψήφιος ή 16ψήφιος ανάλογα με την εταιρεία κινητής τηλεφωνίας) σε περίπτωση που θέλει να ανανεώσει το χρόνο της κάρτας. Επίσης στη σελίδα αυτή γίνεται από το χρήστη η επιλογή των εισόδων, η ενεργοποίηση των οποίων θα ειδοποιεί τον Super Administrator με sms. Πρόκειται ουσιαστικά για την ενεργοποίηση ενός Συναγερμού. Ο Συναγερμός αυτός ενεργοποιείται μόλις μία ή ο συνδυασμός οποιονδήποτε από τις επιλεγμένες εισόδους γίνει High/ ON και έχει ως αποτέλεσμα την ενημέρωση του Διαχειριστή για το συμβάν αυτό μέσω ενός sms. Τα παραπάνω εκτελούνται με το πάτημα του κουμπιού Εφαρμογή. Τέλος στη σελίδα αυτή οι χρήστες μπορούν να ενημερωθούν για το υπόλοιπο, σε ευρώ, του χρόνου ομολίας της κάρτας. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 111

112 Τα παραπάνω πραγματοποιούνται αφού εκτελεστεί το αρχείο page_settings.php Λειτουργίες Χρηστών Από τη στιγμή που κάποιος έχει καταχωρηθεί στο μητρώο χρηστών του συστήματος, μπορεί ανά πάσα στιγμή να συνδέεται σε αυτό με τη βοήθεια του προσωπικού ψευδωνύμου και κωδικού πρόσβασης. Η σύνδεση επιφέρει και αλλαγές στην εμφάνιση της σελίδας. Συγκεκριμένα στην επικεφαλίδα πάνω δεξιά έχει αντικατασταθεί ο τίτλος Δεν είστε συνδεδεμένος/η με το ψευδώνυμο του χρήστη και έναν υπερσύνδεσμο για Αποσύνδεση από την περιοχή μελών. Επιπλέον, εμφανίζεται δεξιά το πλευρικό μενού: Χρήστες, Έλεγχος, Ρυθμίσεις κωδικού. Όλοι οι χρήστες του συστήματος μπορούν να εκτελέσουν τις παρακάτω λειτουργίες: Είσοδος στο σύστημα Από τη στιγμή που κάποιος θα προστεθεί στους διαπιστευμένους χρήστες του συστήματος έχει τη δυνατότητα να συνδέεται σε αυτό, ώστε να απολαμβάνει τα δικαιώματα των εγγεγραμμένων χρηστών. Για τη σύνδεση απαιτείται η εισαγωγή του σωστού ψευδωνύμου και κωδικού πρόσβασης στην φόρμα της σελίδας που φαίνεται στην εικόνα 7.5. Η φόρμα αυτή εμφανίζεται αμέσως μετά την είσοδο του επισκέπτη στην ιστοσελίδα, αφού εκτελεστεί το αρχείο page_login.php. Ο έλεγχος της ορθότητας του ψευδωνύμου και του κωδικού πρόσβασης γίνεται από το αρχείο page_login.php με σύγκριση των δοθέντων στοιχείων με αυτά που είναι αποθηκευμένα στο αρχείο. Tαυτόχρονα με την είσοδο του χρήστη στο σύστημα, ανάλογα με την κατηγορία στην οποία ανήκει του δίνονται και τα ανάλογα δικαιώματα, όπως αυτά έχουν περιγραφεί παραπάνω. Αυτό συμβαίνει με την εκτέλεση του αρχείου page_users.php 112 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

113 Εικ. 7.5 Έξοδος από το σύστημα Για την αποσύνδεση ενός χρήστη από το σύστημα απαιτείται η επιλογή του υπερσύνδεσμου Αποσύνδεση που εμφανίζεται στο πάνω δεξιά μέρος της ιστοσελίδας. Αμέσως εκτελείται το αρχείο page_logout.php και εμφανίζεται η σελίδα όπως φαίνεται στην εικόνα 7.6. Στη συνέχεια πατώντας τον υπερσύνδεσμο Συνδεθείτε ξανά εμφανίζεται η φόρμα εισαγωγής στο σύστημα όπως φαίνεται στην εικόνα 7.5. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 113

114 Εικ. 7.6 Αλλαγή κωδικού πρόσβασης Υπάρχει η επιλογή για αλλαγή του κωδικού πρόσβασης πελάτη. Οι λόγοι που μπορεί να χρειαστεί μια τέτοια αλλαγή είναι πολλοί με βασικότερο την ασφάλεια του λογαριασμού του πελάτη. Συγκεκριμένα, μια τακτική αλλαγή του κωδικού πρόσβασης, μειώνει σε μεγάλο βαθμό την πιθανότητα κάποιος τρίτος να ανακαλύψει τον κωδικό και να δημιουργήσει προβλήματα στον λογαριασμό και άρα σε ολόκληρο το σύστημα. Επιλέγοντας στο πλευρικό μενού την επιλογή Χρήστες εισέρχονται αντίστοιχη στην σελίδα όπως φαίνεται στην εικόνα 7.7. Όταν λοιπόν ο χρήστης πατήσει το εικονίδιο Επεξεργασία χρήστη εμφανίζεται η φόρμα αλλαγής στοιχείων του προφίλ του καθώς και του κωδικού πρόσβασης (εικόνα 7.8). Αφού συμπληρωθούν τα πεδία και πατηθεί το κουμπί Αποθήκευση χρήστη, φορτώνεται το αρχείο page_users.php, το οποίο αντικαθιστά τα παλιά στοιχεία του χρήστη με τα νές στο αρχείο. 114 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

115 Εικ. 7.7 Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 115

116 Εικ. 7.8 Χειρισμός- έλεγχος των εξόδων-εισόδων του συστήματος Όλες οι κατηγορίες χρηστών, αφού συνδεθούν επιτυχώς στο σύστημα, έχουν τη δυνατότητα να χειριστούν τις εξόδους του συστήματος και να ελέγξουν τις εισόδους τους. Επιλέγοντας στο πλευρικό μενού την επιλογή Έλεγχος εισέρχονται αντίστοιχη στην σελίδα όπως φαίνεται στην εικόνα Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms

117 Εικ. 7.9 Εκεί ο χρήστης μπορεί να μεταβάλλει την κατάσταση των 8 εξόδων είτε από High(/ON) σε Low(/OFF) είτε από Low σε High είτε να διατηρήσει την κατάστασή τους. Επίσης υπάρχει η επιλογή Pulse που εφαρμόζει στη έξοδο που έχει επιλεγεί ένα παλμό ώστε να παραμείνει σε κατάσταση High για μερικά μόνο δευτερόλεπτα και μετά να επανέλθει σε κατάσταση Low. Τα δευτερόλεπτα που η έξοδος θα παραμείνει High είναι 1,2 ή 3 και η τιμή αυτή επιλέγεται από ένα combo box το οποίο εμφανίζεται μόνο στην επιλογή Pulse. Πατώντας το πλήκτρο «Εφαρμογή» οι καταστάσεις αυτές εφαρμόζονται στο σύστημα. Επίσης ο χρήστης μπορεί να ενημερωθεί για την κατάσταση των 8 εισόδων (High/ Low). Πατώντας το πλήκτρο «Εφαρμογή» ή το link Ανανέωση όλων των καταστάσεων η ιστοσελίδα ενημερώνεται για την κατάσταση των εισόδων τη συγκεκριμένη χρονική στιγμή. Τα παραπάνω πραγματοποιούνται αφού εκτελεστεί το αρχείο page_control.php. Τηλεχειρισμός και τηλεέλεγχος μέσω internet & sms 117

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

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

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

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

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

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

12. Διακοπές Interrupts (IRQ)

12. Διακοπές Interrupts (IRQ) 2. Διακοπές Interrupts (IRQ) Πίνακας Ι. Χειρισμός διακοπών στον ATmega6. A/A Program address Source Vector Interrupt definition External Pin, Power-on Reset, Brown-outReset, Watchdog Reset, and JTAG AVR

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 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

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

Συστήματα Μικροεπεξεργαστών

Συστήματα Μικροεπεξεργαστών Εργαστήριο 1 ο Εισαγωγή στον AVR Περίγραμμα Εργαστηριακής Άσκησης Εισαγωγή... 2 Κατηγορίες μικροελεγκτών AVR... 2 Εξοικείωση με το περιβάλλον AVR Studio 4... 3 Βήμα 1ο: Δημιουργία νέου έργου (project)...

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

WDT και Power Up timer

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

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

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

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

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

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ ΕΙΣΑΓΩΓΗ Θέµατα ❸Συστήµατα Η/Υ (αναφορά) ❸Γλώσσα υπολογιστών ❸Γλώσσες προγραµµατισµού (low-high level) ❸Low level VS high level programming ❸Βασικά µέρη Η/Υ ❸Μικροϋπολογιστές (µc µp) ❸Αρχιτεκτονική µικροελεγκτών

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

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

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

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

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

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

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

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

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

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

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

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

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

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

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

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

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

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

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

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

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

Λογικά σύμβολα των 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

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

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Bread Online Σχεδιασμός και μετατροπή μιας απλής οικιακής συσκευής σε επαναπρογραμματιζόμενη συσκευή IP Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης Το εσωτερικό ενός PC 1 Το κουτί του PC (περίβλημα) περιέχει όλα τα βασικά μέρη του συστήματος Δύο κατηγορίες κουτιών: Desktop και Tower Mini tower Midi tower Full tower Κεντρική μονάδα Ο τύπος του κουτιού

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Interrupts - Διακοπές Είναι ένας τρόπος για να διακοπεί η ροή ενός προγράμματος έτσι ώστε να εξυπηρετηθεί ένα έκτακτο γενογός

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

Εφαρμογές μικροελεγκτών

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

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα

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

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

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

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

ΠΛΗΡΟΦΟΡΙΚΗ 4 ο Μάθημα. Το Υλικό του Υπολογιστή

ΠΛΗΡΟΦΟΡΙΚΗ 4 ο Μάθημα. Το Υλικό του Υπολογιστή ΠΛΗΡΟΦΟΡΙΚΗ 4 ο Μάθημα Το Υλικό του Υπολογιστή Ηλεκτρονικός Υπολογιστής Πουλιέται οπουδήποτε (ακόμη και σε Super Market) Είναι παντού Ο φορητός έχει τις ίδιες δυνατότητες με τον επιτραπέζιο Γίνονται μικρότεροι

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο AEN ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΠΛΟΙΑΡΧΩΝ Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο ΘΕΩΡΙΑ 3 η Διάλεξη ΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ ΥΠΟΛΟΓΙΣΤΙΚΟ ΣΥΣΤΗΜΑ Υπολογιστικό σύστημα: Ένα δυναμικό σύστημα που: Χρησιμοποιείται για επίλυση προβλημάτων

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

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

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

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

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

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

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

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ Oι βασικές αρχές λειτουργίας των RISC είναι : Εντολές ενός κ.μ. με κατάλληλη σχεδίαση της μονάδας διοχέτευσης Μεγάλος

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

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

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

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

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

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

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

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

Αρχιτεκτονική Υπολογιστών

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

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

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

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

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2 16. USART Οι AVR διαθέτουν ενσωματωμένη διάταξη για υποστήριξη σειριακής επικοινωνίας USART 1 (Universal Synchronous and Asynchronous serial Receiver and Transmitter). Η ενσωματωμένη διάταξη μας εξυπηρετεί

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

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

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

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

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

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Άριστος Πασιάς 1 ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Η ΔΟΜΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Άριστος Πασιάς Σεπτέμβριος 2017 2 Στόχοι: Στο τέλος αυτού του μαθήματος ο μαθητή πρέπει: Να μπορεί να αναφέρει τα κύρια χαρακτηριστικά

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

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή»

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή» 1 2 1) ΚΟΤΣΙ ΤΠΟΛΟΓΙΣΗ (computer case): το κύριο κουτί που περικλείει τις βασικές συσκευές του υπολογιστή (επεξεργαστή, αποθήκες, RAM). 2) ΜΗΣΡΙΚΗ (motherboard): η πιο μεγάλη κάρτα πάνω στην οποία βρίσκεται

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

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

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

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

Μάθημα 4.2 Η μητρική πλακέτα

Μάθημα 4.2 Η μητρική πλακέτα Μάθημα 4.2 Η μητρική πλακέτα - Εισαγωγή - Οι βάσεις του επεξεργαστή και της μνήμης - Οι υποδοχές της μητρικής πλακέτας - Άλλα μέρη της μητρική πλακέτας - Τυποποιήσεις στην κατασκευή μητρικών πλακετών Όταν

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΩΤΙΑ ΗΣ Α. ΗΜΗΤΡΗΣ M.Sc. ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ (Σ.Τ.ΕΦ.) ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr Ασύγχρονη σειριακή

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Κεφάλαιο 4. Διδακτικοί Στόχοι. Για την αναγκαιότητα, τον τρόπο συνεργασίας, τις δυνατότητες και τον τρόπο εγκατάστασης των περιφερειακών συσκευών.

Κεφάλαιο 4. Διδακτικοί Στόχοι. Για την αναγκαιότητα, τον τρόπο συνεργασίας, τις δυνατότητες και τον τρόπο εγκατάστασης των περιφερειακών συσκευών. Κεφάλαιο 4 Ένα υπολογιστικό σύστημα εκτός από την ΚΜΕ και την κύρια μνήμη που χρησιμοποιούνται για την επεξεργασία και προσωρινή αποθήκευση δεδομένων βασίζεται στις περιφερειακές συσκευές για την επικοινωνία

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

A. ΓΕΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ

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

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

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΏΝ ΕΦΑΡΜΟΓΏΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ CHECK IN TANK PUMPING THROUGH GSM Επιβλέπων Καθηγητής: Κόγιας Παναγιώτης Επιβλέπουσα Καθηγήτρια: Κόγια Φωτεινή ΚΑΒΑΛΑ, ΦΕΒΡΟΥΑΡΙΟΣ

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

Κεφάλαιο 2.4: Εργασία με εικονίδια

Κεφάλαιο 2.4: Εργασία με εικονίδια Κεφάλαιο 2.4: Εργασία με εικονίδια 2.4.1 Συχνότερα εμφανιζόμενα εικονίδια των Windows Τα πιο συνηθισμένα εικονίδια, που μπορεί να συναντήσουμε, είναι: Εικονίδια συστήματος: Τα Windows εμφανίζουν τα στοιχεία

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

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

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

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ Κεφάλαιο 1: Υλικό Υπολογιστών (Hardware) 1.1: Το υπολογιστικό σύστημα ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1. Τι αντιλαμβάνεστε με τον όρο υλικό (hardware); [σελ. 8] Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε

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

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

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

ΕΡΜΗΣ v9.01. Είσοδος 4 optocupler με δύο ελεύθερα άκρα για οδήγηση με γείωση ή 12Vdc.

ΕΡΜΗΣ v9.01. Είσοδος 4 optocupler με δύο ελεύθερα άκρα για οδήγηση με γείωση ή 12Vdc. ΕΡΜΗΣ v9.01 Περιγραφή Η συσκευή Ερμής είναι ένας τηλεχειρισμός 5 εξόδων με δυνατότητα να κάνει monitoring και να στέλνει σήματα alarm από 4 εισόδους. Η εμβέλειά του είναι απεριόριστη και ο μόνος περιορισμός

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

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

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

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

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

CTMU. => C = 50pF 10pF = 40 pf. C stray. d (C V ) I= I = C V. C= I t. Ι = dq dt

CTMU. => C = 50pF 10pF = 40 pf. C stray. d (C V ) I= I = C V. C= I t. Ι = dq dt CTMU Με τη μονάδα CTMU (Charge Time Measurement Unit) μπορούμε να μετρήσουμε απόλυτη χωρητικότητα, σχετική μεταβολή χωρητικότητας καθώς επίσης και χρονικό διάστημα ανάμεσα σε δύο παλμούς. Βασίζεται στην

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας με Θερμοστάτη. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW.

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος Δρ. Μηνάς Δασυγένης mdasyg@ieee.org 1 1 Οι εταιρείες παραγωγής IC διαφημίζουν εκτός από τους επεξεργαστές και τα chipset τους 2 2 Τι είναι όμως

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

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

«ΑΣΥΡΜΑΤΟ ΣΥΣΤΗΜΑ ΕΠΙΤΗΡΗΣΗΣ, ΚΑΤΑΓΡΑΦΗΣ & ΕΛΕΓΧΟΥ ΑΝΤΛΙΟΣΤΑΣΙΩΝ» Τεχνική έκθεση Προδιαγραφές Προϋπολογισμός

«ΑΣΥΡΜΑΤΟ ΣΥΣΤΗΜΑ ΕΠΙΤΗΡΗΣΗΣ, ΚΑΤΑΓΡΑΦΗΣ & ΕΛΕΓΧΟΥ ΑΝΤΛΙΟΣΤΑΣΙΩΝ» Τεχνική έκθεση Προδιαγραφές Προϋπολογισμός Δ/ΝΣΗ ΤΕΧΝΙΚΩΝ ΥΠΗΡΕΣΙΩΝ ΤΜΗΜΑ ΑΡΔΕΥΣΗΣ ΤΙΤΛΟΣ ΜΕΛΕΤΗΣ «ΑΣΥΡΜΑΤΟ ΣΥΣΤΗΜΑ ΕΠΙΤΗΡΗΣΗΣ, ΚΑΤΑΓΡΑΦΗΣ & ΕΛΕΓΧΟΥ ΑΝΤΛΙΟΣΤΑΣΙΩΝ» Τεχνική έκθεση Προδιαγραφές Προϋπολογισμός Προϋπολογ. : 9.963,00 Με ΦΠΑ 23% Χρήση

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

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

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

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

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

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

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

WIRELESS SENSOR NETWORKS (WSN)

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

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

G&K ELECTRONICS AVR ATMEGA DEVELOPMENT BOARD

G&K ELECTRONICS AVR ATMEGA DEVELOPMENT BOARD ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ G&K ELECTRONICS Αυτή η αναπτυξιακή μονάδα (AVR-ATMEGA 28 PIN) είναι σχεδιασμένη να χρησιμοποιηθεί για την εκμάθηση βασικών και προηγμένων δεξιοτήτων που απαιτούνται για τον έλεγχο ενός

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική Κύρια μέρη υπολογιστή Υπάρχουν διάφορα είδη υπολογιστών προσωπικοί (επιτραπέζιοι, φορητοί,...), ενσωματωμένοι, εξυπηρετητές (servers)

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

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

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

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

Οδηγίες Εγκατάστασης GSM-GPRS LINK INTERFACE

Οδηγίες Εγκατάστασης GSM-GPRS LINK INTERFACE Οδηγίες Εγκατάστασης GSM-GPRS LINK INTERFACE Ο ORION-G είναι μία συσκευή η οποία εξομοιώνει την αναλογική τηλεφωνική γραμμή (PSTN), αξιοποιώντας το δίκτυο της κινητής τηλεφωνίας, και χρησιμοποιείται για

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