Σύστημα τηλεμετρίας δεδομένων δικτύου CAN BUS και διαχείρισης οχήματος σε πραγματικό χρόνο μέσω του μηχανισμού onboard diagnostics OBD-II
|
|
- Ευδώρα Μητσοτάκης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ Σύστημα τηλεμετρίας δεδομένων δικτύου CAN BUS και διαχείρισης οχήματος σε πραγματικό χρόνο μέσω του μηχανισμού onboard diagnostics OBD-II Διπλωματική Εργασία Βασίλειος Γεροδήμος Επιβλέπων Καθηγητής: Δημήτριος Μητράκος (ΑΠΘ) Θεσσαλονίκη, Οκτώβριος 2017
2 Περίληψη Σκοπός της εργασίας αποτελεί καταρχάς η μελέτη της λειτουργίας των CAN bus δικτύων από άποψη κατανόησης του πρωτοκόλλου επικοινωνίας τους και της διαφορετικής λογικής που εφαρμόζουν στη διασύνδεση για μεγάλη ανοχή σε θορύβους και σφάλματα. Στη συνέχεια, επιδιώκεται η υλοποίηση ενός interface οχήματος που θα μπορεί να προσαρμοστεί σαν κόμβος πάνω σε ένα πραγματικό δίαυλο CAN. Μέσω του interface αυτού θα στέλνουμε αιτήματα σε κάποιο άλλο κόμβο με στόχο αφενός τη λήψη και καταγραφή των αποκρίσεων του κόμβου στα αιτήματά μας και αφετέρου τη μελέτη της λογικής απόκρισης των κόμβων σε κάποιο αίτημα. Τέλος, υλοποιείται ένα σύστημα real-time επικοινωνίας μέσω GPRS μεταξύ ενός οχήματος και μιας Android εφαρμογής. Με τον τρόπο αυτό μεταφράζουμε τα δεδομένα του αυτοκινήτου σε κατανοητή μορφή από τον χρήστη. 1
3 Abstract This thesis focuses initially on the study of the operation of CAN bus networks in terms of understanding their communication protocol and the different logic they apply to the interface for high tolerance to noise and errors. Subsequently, it is intended to implement a vehicle interface that can be adapted as a node on a real CAN bus. Through this interface, requests will be sent to another node with the purpose, on the one hand of receiving and recording the node's responses to our requests and one the other hand of studying the logic of node s response to a request. Finally, a real-time GPRS communication system is implemented between a vehicle and an Android application. In this way, we translate the car s data into a comprehensible form by the user. 2
4 Ευχαριστίες Θα ήθελα να ευχαριστήσω ιδιαίτερα τον κ. Μητράκο Δημήτριο,επιβλέποντα καθηγητή της παρούσας εργασίας, για τον προσωπικό χρόνο που διέθεσε για το πέρας της εργασίας, καθώς και για τη διάθεση του προσωπικού του αυτοκινήτου για τις απαραίτητες μετρήσεις. Στη συνέχεια, θα ήθελα να ευχαριστήσω τον αδερφό μου Βαγγέλη Γεροδήμο για την πολύτιμη βοήθεια στο ηλεκτρονικό κομμάτι της εργασίας. Τέλος, οφείλω ένα μεγάλο ευχαριστώ στην οικογένεια μου για την στήριξη όλα αυτά τα χρόνια και τα εφόδια που μου μετέδωσαν. 3
5 Περιεχόμενα 1 Εισαγωγή CAN BUS Δίκτυα Αντικείμενο διπλωματικής εργασίας Οργάνωση Εγγράφου Εισαγωγή στο CAN Το πρότυπο CAN Standard CAN ή Extended (Διευρυμένο) CAN Τα πεδία bit του Standard CAN και Extended CAN Extended CAN Το CAN μήνυμα Διαιτησία Τύποι Μηνυμάτων Έγκυρο πλαίσιο μηνύματος Έλεγχος και περιορισμός σφαλμάτων Ο Δίαυλος CAN Συμπεράσματα για το CAN On-Board Diagnostics (OBD) Το υλικό Μονάδα ελέγχου κινητήρα (ECU) Parameter Identification (PID) OBD-II Πρωτόκολλα Περιγραφή Συστήματος Στόχοι συστήματος Περιγραφή συστήματος Interface Οχήματος Εξυπηρετητής Εφαρμογή «έξυπνου» κινητού τηλεφώνου Υλικό συστήματος Πλακέτα Arduino UNO Χαρακτηριστικά της πλακέτας Arduino Μικροελεγκτής ΑΤmega328P Είσοδοι Έξοδοι πλακέτας Τροφοδοσία
6 5.2 CAN BUS shield Βασικά chips του CAN BUS shield Χαρακτηριστικά του CAN BUS shield SIM800L Δίκτυο κινητής τηλεφωνίας General Packet Radio Services (GPRS) SIM800L chip Πρωτόκολλα επικοινωνίας υλικού SPI (Serial Peripheral Interface Bus) USB (Universal Serial Bus) UART (Universal Asynchronous Receiver/Transmitter) Software Serial Τροφοδοσία Η τελική μορφή του υλικού μέρους που υλοποιήθηκε Αρχιτεκτονική τριών επιπέδων Εισαγωγή Raspberry Pi Διασύνδεση Προγραμματισμού Εφαρμογών Βάση Δεδομένων Flask Framework Ανάπτυξη εφαρμογής σε περιβάλλον Android Λειτουργικές απαιτήσεις Χρήστες και εξωτερικά συστήματα Χρήστης Interface Οχήματος Βάση Δεδομένων Διάγραμμα σεναρίων χρήσης Γραφικά Παράθυρα Εφαρμογής Ενδεικτικές μετρήσεις από το CAN bus δίκτυο αυτοκινήτου Γραφήματα μετρήσεων δεδομένων αυτοκινήτου Γραφήματα απόκρισης ECU μονάδας αυτοκινήτου στα requests Σχολιασμός & συμπεράσματα μετρήσεων Εφαρμογή συστήματος καταγραφής CAN δεδομένων σε τρακτέρ
7 9.1 Ενδεικτικές μετρήσεις από το CAN bus δίκτυο του τρακτέρ Συμπεράσματα για αξιοποίηση & μελλοντική ανάπτυξη Συμπεράσματα για αξιοποίηση Μελλοντική ανάπτυξη του συστήματος που υλοποιήθηκε Παράρτημα Περιβάλλοντα ανάπτυξης του πηγαίου κώδικα Πηγαίος κώδικας Βιβλιογραφία Εικόνα 2-1: H Αρχιτεκτονική του ISO Standard Εικόνα 2-2: Standard CAN: 11-Bit Identifier Εικόνα 2-3: Extended Can: 29-Bit Identifier Εικόνα 2-4: Η ανεστραμμένη λογική ενός CAN διαύλου Εικόνα 2-5: Διαιτησία στον δίαυλο CAN Εικόνα 2-6 : Λεπτομέρειες ενός CAN διαύλου Εικόνα 2-7: Η "κυρίαρχη" κι η "υποχωρητική" κατάσταση του CAN διαύλου Εικόνα 3-1: Connector Link Data εντός οχήματος Εικόνα 3-2: Δίκτυο μικροελεγκτών σε ένα Audi A Εικόνα 4-1: Απεικόνιση interface οχήματος σε block διάγραμμα Εικόνα 4-2: Η αρχιτεκτονική τριών επιπέδων που εφαρμόσθηκε στο σύστημα Εικόνα 5-1:Πλακέτα Arduino UNO Εικόνα 5-2: Σχηματικό του κυκλώματος των βασικών chip MCP2551 & MCP2515 του shield Εικόνα 5-3: Το MCP2551 που χρησιμοποιήθηκε από το CAN BUS shield Εικόνα 5-4: Μπλοκ διάγραμμα του MCP2551 chip Εικόνα 5-5: Πίνακας αλήθειας MCP Εικόνα 5-6: Το MCP2515 του CAN BUS shield Εικόνα 5-7: Μπλοκ διάγραμμα MCP Εικόνα 5-8: Παράδειγμα εφαρμογής του MCP2515 σε σύστημα CAN Εικόνα 5-9: Sparkfun CAN Bus Shield Εικόνα 5-10: Καλώδιο DB9 σε OBD-ΙΙ Εικόνα 5-11: Κυψελωτό δίκτυο κινητής τηλεφωνίας Εικόνα 5-12: O μικροελεγκτής Sim800L Εικόνα 5-13 : Το module που χρησιμοποιήθηκε στην υλοποίηση Εικόνα 5-14 : Απλό παράδειγμα ενός SPI διαύλου Εικόνα 5-15 : Σύνδεση USB συσκευής Εικόνα 5-16: Πλαίσιο δεδομένων UART Εικόνα 5-17 : Χρήση Software Serial επικοινωνίας με το SIM800L Εικόνα 5-18: Βύσμα αναπτήρα αυτοκινήτου Εικόνα 5-19: Κύκλωμα ρυθμιστή τάσης & LM317T Εικόνα 5-20: Τελική μορφή υλικού μέρους που υλοποιήθηκε Εικόνα 6-1: Παράδειγμα αρχιτεκτονικής τριών επιπέδων
8 Εικόνα 6-2: Το Raspberry Pi 3 Model B Εικόνα 6-3 : Τελευταία μέτρηση σε JSON Format Εικόνα 6-4: Post Request JSON δεδομένων από το interface οχήματος Εικόνα 6-5 : Διάγραμμα οντοτήτων-συσχετίσεων Εικόνα 6-6 : Σχεσιακό μοντέλο βάσης δεδομένων Εικόνα 7-1 : Διάγραμμα σεναρίων χρήσης εφαρμογής Εικόνα 7-2: Αρχική Σελίδα Εφαρμογής Εικόνα 7-3: Μενού επιλογών & Αναπαράσταση της Live ταχύτητας σε κοντέρ Εικόνα 7-4: Live Διάγραμμα Ταχύτητας και Ροπής Κινητήρα Εικόνα 7-5: Live Διάγραμμα Θερμοκρασίας Κινητήρα & Θέσης Γκαζιού Εικόνα 8-1: Γράφημα Ταχύτητας Αυτοκινήτου Εικόνα 8-2 Γράφημα Ροπής Κινητήρα Αυτοκινήτου Εικόνα 8-3: Γράφημα Πίεσης Πεντάλ Γκαζιού του Αυτοκινήτου Εικόνα 8-4: Γράφημα Θερμοκρασίας Ψυκτικού Υγρού Κινητήρα Εικόνα 8-5: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Ταχύτητας Εικόνα 8-6: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Ροπής Εικόνα 8-7: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Θέσης Γκαζιού Εικόνα 8-8: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Θερμοκρασίας Υγρού Κινητήρα Εικόνα 9-1: Καλώδιο 9-pin to OBD-II Εικόνα 9-2: CAN μηνύματα από τον δίαυλο του τρακτέρ Εικόνα 9-3: Δεκαδική τιμή του Least Significant Byte των δεδομένων του μηνύματος Εικόνα 9-4: Δεκαδική τιμή του Most Significant Byte των δεδομένων του μηνύματος Εικόνα 9-5: Δεκαδική Τιμή των δεδομένων του μηνύματος Εικόνα 10-1: Παράδειγμα χρήσης CAN BUS σε Τρακτέρ Πίνακας 3-1: Συνηθέστερα PIDs του OBD-II Πίνακας 3-2: Τεχνικά χαρακτηριστικά ISO CAN Πίνακας 5-1: Χαρακτηριστικά του ATmega328P από το Datasheet της Atmel Πίνακας 5-2: 12 πρώτες κλάσεις GPRS με βάση τον αριθμό των slots που χρησιμοποιούν.. 42 Πίνακας 5-3: ΑΤ εντολές για σύνδεση στο GPRS Πίνακας 5-4: AT εντολές προετοιμασίας HTTP Request Πίνακας 5-5 : ΑΤ εντολές για αποστολή δεδομένων μέσω ΗΤΤP Request Πίνακας 5-6: Χαρακτηριστικά SIM800L module Πίνακας 6-1: Βασικά Τεχνικά Χαρακτητριστικά Raspberry Pi 3 Model B Πίνακας 6-2: Συνήθεις HΤΤP κωδικοί και η σημασία τους Πίνακας 6-3 : Γνωρίσματα πίνακα VEHICLE Πίνακας 6-4 : Γνωρίσματα πίνακα MEASUREMENTS Πίνακας 6-5 : Χαρακτηριστικά Flask Framework
9 Κεφα λαιο 1 1 Εισαγωγή 1.1 CAN BUS Δίκτυα Τα CAN bus δίκτυα ή δίκτυα CAN διαύλου αποτελούν μια κατηγορία δικτύων που χρησιμοποιούνται εκτενώς σε περιβάλλοντα όπου η επικοινωνία για τα συμβατικά δίκτυα (Ethernet κλπ) μπορεί να είναι δύσκολη έως ανέφικτη. Από το 1980 που πρωτοεμφανίστηκαν έδωσαν λύσεις στην επικοινωνία μεταξύ αισθητήρων ή μονάδων σε βιομηχανικά περιβάλλοντα, περιβάλλοντα αυτοκινήτων και μηχανών. Γενικά χρησιμοποιούνται για τη διασφάλιση της αδιάκοπτης και χωρίς σφάλματα επικοινωνίας σε συνθήκες υψηλού θορύβου. Σήμερα τα δίκτυα αυτά είναι διαδομένα για την ευρεία χρήση τους στα αυτοκίνητα, προσφέροντας στον οδηγό μεγάλη οδική άνεση, καθώς μεγάλο κομμάτι της οδικής και μηχανικής δραστηριότητας των οχημάτων περνά μέσα από τους μικροελεγκτές του οχήματος. Η χρήση τους στη σημερινή εποχή δε περιορίζεται μόνο στα αυτοκίνητα. Η πλειονότητα των σύγχρονων βαρέων οχημάτων (φορτηγών, τρακτέρ) είναι εξοπλισμένη με διαύλους CAN για την επικοινωνία των αισθητήρων και των επιμέρους μονάδων τους. Επιπλέον, το CAN δίκτυο αποτελεί συστατικό μέρος της διασύνδεσης αισθητήρων και εφαρμογών σε αεροπλάνα, ακόμα και σε στρατιωτικά οχήματα. 1.2 Αντικείμενο διπλωματικής εργασίας Σκοπός της παρούσας εργασίας αποτελεί καταρχάς η μελέτη της λειτουργίας των CAN bus δικτύων από άποψη κατανόησης του πρωτοκόλλου επικοινωνίας τους και της διαφορετικής λογικής που εφαρμόζουν στη διασύνδεση για μεγάλη ανοχή σε θορύβους και σφάλματα. Στη συνέχεια επιδιώκεται η υλοποίηση ενός interface οχήματος που θα μπορεί να προσαρμοστεί σαν κόμβος πάνω σε ένα πραγματικό δίαυλο CAN. Μέσω του interface αυτού θα στέλνουμε αιτήματα σε κάποιο άλλο κόμβο με στόχο αφενός τη λήψη και καταγραφή των αποκρίσεων του κόμβου στα αιτήματά μας και αφετέρου τη μελέτη της λογικής απόκρισης των κόμβων σε κάποιο αίτημα. 8
10 Τέλος, υλοποιείται ένα σύστημα real-time επικοινωνίας μέσω GPRS μεταξύ ενός οχήματος και μιας Android εφαρμογής. Με τον τρόπο αυτό μεταφράζουμε τα δεδομένα του αυτοκινήτου σε κατανοητή μορφή από τον χρήστη. 1.3 Οργάνωση Εγγράφου Για να είναι όσο το δυνατό πιο εύκολη η εισαγωγή του αναγνώστη στα ζητήματα που πραγματεύεται η διπλωματική εργασία, το περιεχόμενο διαιρείται σε δέκα κεφάλαια. Στο τέλος παρατίθεται και το Παράρτημα με τον κώδικα που αναπτύχθηκε για τις ανάγκες της εργασίας. Στο πρώτο κεφάλαιο γίνεται η εισαγωγή στα θέματα που πραγματεύεται η διπλωματική εργασία και δίνεται μια εικόνα για τη σημασία των θεμάτων αυτών στη σύγχρονη ανθρώπινη δραστηριότητα. Στο δεύτερο κεφάλαιο παρουσιάζεται το CAN bus δίκτυο. Γίνεται εκτενής αναφορά τόσο στο υλικό μέρος του δικτύου όσο και στη λεπτομερή ανάλυση του πρωτοκόλλου επικοινωνίας που χρησιμοποιεί. Στο τρίτο κεφάλαιο ασχολούμαστε με το OBD-II σύστημα των οχημάτων I.X και δίνουμε μια εικόνα πως λειτουργεί το CAN δίκτυο στα οχήματα Ι.Χ. Στο τέταρτο κεφάλαιο στοχεύουμε στην γενικότερη κατανόηση από πλευράς αναγνώστη του συστήματος που αναπτύχθηκε. Αρχικά παρουσιάζονται οι στόχοι του συστήματος και στη συνέχεια περιγράφεται αναλυτικά το σύστημά μας. Το κεφάλαιο πέντε, αφορά το υλικό που χρησιμοποιήθηκε για την δημιουργία του συστήματος. Σ αυτό δίνονται αναλυτικά όλα τα υλικά μέρη του συστήματος, καθώς και τα πρωτόκολλα διασύνδεσής τους. Στο κεφάλαιο έξι γίνεται ανάλυση της αρχιτεκτονικής τριών επιπέδων που εφαρμόστηκε στο σύστημα. Δίνονται λεπτομέρειες για τον μικροϋπολογιστή Raspberry Pi, το framework πάνω στο οποίο αναπτύξαμε το server,καθώς επίσης και αναλύεται και η βάση δεδομένων του συστήματος. Στο κεφάλαιο εφτά παρουσιάζεται η τελική εφαρμογή Android που αναπτύχθηκε, δίνοντας στιγμιότυπα από τη λειτουργία της. Ακόμα παρουσιάζονται και τα σενάρια χρήσης της. Το κεφάλαιο οχτώ, δίνει κάποιες μετρήσεις που πήραμε με το σύστημα μας κατά τη διάρκεια μιας διαδρομής με ένα Ι.Χ αυτοκίνητο. Στο κεφάλαιο αυτό επιχειρείται επίσης ο σχολιασμός και η εξαγωγή συμπερασμάτων από τις μετρήσεις. Στο ένατο κεφάλαιο, δίνονται κάποιες ενδεικτικές μετρήσεις που καταγράψαμε από την προσαρμογή του συστήματός μας σε όχημα τρακτέρ. 9
11 Στο κεφάλαιο δέκα, επιχειρούμε να δώσουμε ιδέες για την πρακτική αξιοποίησης του αλλά και για τη μελλοντική του ανάπτυξη. Τέλος, διατίθεται ένα ειδικό Παράρτημα με τον κώδικα που αναπτύχθηκε για το σύστημά μας και τα λογισμικά στα οποία έγινε η ανάπτυξη του συστήματος. 10
12 Κεφα λαιο 2 2 Εισαγωγή στο CAN Το CAN bus δίκτυο αναπτύχθηκε από τη BOSCH σαν ένα multi-master σύστημα μετάδοσης μηνυμάτων το οποίο ορίζει ένα μέγιστο ρυθμό μετάδοσης σήματος στο 1 megabit per second(bps). Σε αντίθεση με τα παραδοσιακά δίκτυα όπως το USB και το Ethernet, το CAN δε στέλνει μεγάλα μπλοκς δεδομένων από ένα κόμβο Α σε ένα κόμβο Β υπό την επίβλεψη ενός κεντρικού διαχειριστή (master) του διαδρόμου (bus) μετάδοσης. Στο CAN bus δίκτυο, πολλά μικρότερα μηνύματα όπως η θερμοκρασία κι η ροπή (RPM) μεταδίδονται σε όλο το δίκτυο, πράγμα που σημαίνει πρόσβαση όλων των κόμβων του δικτύου στα δεδομένα. 2.1 Το πρότυπο CAN Το CAN είναι ένας σειριακός δίαυλος επικοινωνίας ορισμένος από τον Διεθνή Οργανισμό Προτυποποίησης (ISO) που αρχικά αναπτύχθηκε για τη βιομηχανία οχημάτων προς αντικατάσταση της πολύπλοκης και πυκνής καλωδίωσης. Το CAN προσφέρει υψηλή ανοσία στις ηλεκτρικές παρεμβολές και την ικανότητα αυτοδιάγνωσης και επιδιόρθωσης εσφαλμένων δεδομένων. Αυτά τα χαρακτηριστικά έχουν οδηγήσει στην εξαιρετική δημοφηλία του σε μια ποικιλία Εικόνα 2-1: H Αρχιτεκτονική του ISO Standard 11
13 βιομηχανιών όπως οι αυτοματισμοί και τα οχήματα. Το CAN πρωτόκολλο επικοινωνίας, ISO-11898: 2003, περιγράφει πως η πληροφορία περνά από τις συσκευές του δικτύου και συμμορφώνεται με το μοντέλο ανοιχτού συστήματος διασύνδεσης (OSI) που ορίζεται στο επίπεδο των layers. Η επικοινωνία μεταξύ των συσκευών που συνδέονται μεταξύ τους με φυσικό μέσο ορίζεται από το φυσικό layer του μοντέλου. H ISO αρχιτεκτονική ορίζει τα 2 χαμηλότερα layers του 7 layer OSI/ISO μοντέλου ως το data-link layer και φυσικό layer όπως φαίνεται στην Εικόνα 2-1. Στην εικόνα, το επίπεδο εφαρμογής (application layer) επικοινωνεί με μια ειδική εφαρμογή του πιο πάνω επιπέδου όπως το ανεξάρτητο από κατασκευαστές CANopen πρωτόκολλο. Το πρωτόκολλο αυτό υποστηρίζεται από την διεθνή ομάδα χρηστών και κατασκευαστών, CAN in Automatation (CiA). Πολλά πρωτόκολλα είναι εστιασμένα σε συγκεκριμένες εφαρμογές όπως ο βιομηχανικός αυτοματισμός, οι diesel μηχανές και η αεροπορία. 2.2 Standard CAN ή Extended (Διευρυμένο) CAN Το CAN πρωτόκολλο επικοινωνίας είναι ένα carrier-sense, multiple access πρωτόκολλο με ανίχνευση σύγκρουσης και διαιτησία στη προτεραιότητα των μηνυμάτων (CSMA/CD+AMP). CSMA σημαίνει ότι κάθε κόμβος στο δίαυλο πρέπει να περιμένει για μια προκαθορισμένη περίοδο αδράνειας πριν προσπαθήσει να στείλει ένα μήνυμα. CD+AMP σημαίνει ότι οι συγκρούσεις επιλύονται μέσω προγραμματισμένης προτεραιότητας του κάθε μηνύματος που ορίζεται στο αναγνωριστικό του πεδίο (identifier field). Η πιο υψηλή προτεραιότητα κερδίζει πάντα πρόσβαση στον δίαυλο (bus). Έτσι η υψηλότερη προτεραιότητα συνεχίζει να μεταδίδει στο bus, επειδή ο διαιτητικός κόμβος αντιλαμβάνεται ότι η πιο υψηλή προτεραιότητα θέλει να μεταδώσει στο δίκτυο. Το ISO-11898:2003 Standard,με ένα 11-bit αναγνωριστικό (identifier), παρέχει ταχύτητες μετάδοσης σήματος από 125 kbps έως 1 Mpbs. Το πρότυπο αργότερα τροποποιήθηκε και προστέθηκε ένας διευρυμένος (extended) 29-bit identifier. Το standard με τον 11-bit identifier στην εικόνα παρέχει 2 11 ή 2048 διαφορετικούς identifiers ενώ ο 29-bit identifier στην εικόνα παρέχει 2 29 ή 537 εκατομμύρια identfiers. 12
14 2.2.1 Τα πεδία bit του Standard CAN και Extended CAN Standard CAN Εικόνα 2-2: Standard CAN: 11-Bit Identifier Η σημασία των πεδίων bit της εικόνας είναι: SOF- Το αρχικό bit του πεδίου σηματοδοτεί την αρχή του μηνύματος, και χρησιμοποιείται για τον συγχρονισμό των κόμβων μετά από ανενεργή κατάσταση του bus. Identifier- O 11-bit identifier του Standard CAN καθορίζει την προτεραιότητα του κάθε μηνύματος. Όσο πιο μικρή η δυαδική τιμή του identifier, τόσο πιο υψηλή η προτεραιότητα του μηνύματος. RTR- Το bit αιτήματος απομακρυσμένης μετάδοσης είναι «κυρίαρχο» όταν κάποιος κόμβος ζητάει κάποια πληροφορία. Όλοι οι κόμβοι λαμβάνουν το αίτημα, αλλά ο identifier είναι αυτός που αποφασίζει και καθορίζει για ποιον συγκεκριμένα προορίζεται. Τα δεδομένα απάντησης στα αιτήματα επίσης λαμβάνονται από όλους και χρησιμοποιούνται από όποιον κόμβο ενδιαφέρεται. Τα δεδομένα που διακινούνται στο bus είναι ομοιόμορφα. IDE- Το «κυρίαρχο» IDE bit σημαίνει ότι μεταδίδεται ένα Standard Can μήνυμα χωρίς διευρυμένο identifier r0- Κρατημένο bit για πιθανή μελλοντική χρήση DLC- Στα bit του DLC εμπεριέχεται ο αριθμός των bytes των δεδομένων που μεταδίδονται Data- Τα 8 bytes των δεδομένων που μεταφέρονται στο μήνυμα CRC- Ο έλεγχος κυκλικού πλεονασμού (CRC) 16-bit (15 bits plus delimiter) περιέχει το άθροισμα ελέγχου (αριθμός μεταδιδόμενων μπιτ) των προηγούμενων δεδομένων εφαρμογής για ανίχνευση σφαλμάτων. ACK- Κάθε κόμβος που λαμβάνει ένα ακριβές μήνυμα αντικαθιστά αυτό το «υποχωρητικό» bit στο αρχικό μήνυμα με ένα «κυρίαρχο» bit, υποδεικνύοντας ότι ένα μήνυμα χωρίς σφάλματα έχει σταλεί. Αν ένας κόμβος λήψης εντοπίσει ένα σφάλμα και αφήσει αυτό το bit «υποχωρητικό», απορρίπτει το μήνυμα και ο 13
15 κόμβος αποστολής επαναλαμβάνει το μήνυμα. Με αυτό τον τρόπο, κάθε κόμβος αναγνωρίζει (ACK) την ακεραιότητα των δεδομένων του. Το ACK είναι 2 bits, το ένα είναι το bit επιβεβαίωσης και το δεύτερο είναι ένας οριοθέτης (delimeter). EOF- Αυτό το πεδίο 7-bit στο τέλος πλαισίου (EOF) σηματοδοτεί το τέλος ενός πλαισίου CAN (μήνυμα) και απενεργοποιεί το θέσιμο bit, υποδεικνύοντας ένα σφάλμα πλήρωσης όταν «κυριαρχεί». Όταν εμφανίζονται 5 bits του ίδιου λογικού επιπέδου στη σειρά κατά την κανονική λειτουργία, ένα bit από το αντίθετο λογικό επίπεδο τοποθετείται στα δεδομένα. IFS- Αυτός ο διάστημα μεταξύ των πλαισίων 7-bit (IFS) περιέχει τον απαιτούμενο χρόνο από τον ελεγκτή για να μετακινήσει ένα πλαίσιο που έλαβε ορθά στην κατάλληλη θέση του σε μια περιοχή προσωρινής αποθήκευσης μηνυμάτων Extended CAN Εικόνα 2-3: Extended Can: 29-Bit Identifier Όπως φαίνεται στην Εικόνα 2-3, το διευρυμένο μήνυμα CAN είναι ίδιο με το Standard CAN με την προσθήκη: SRR- Το bit εξουσιοδότησης απομακρυσμένου αιτήματος (SRR) αντικαθιστά το bit RTR στην διευρυμένη μορφή του μηνύματος IDE- Ένα «υποχωρητικό» bit στην επέκταση αναγνωριστικού (IDE) υποδεικνύει ότι ακολουθούν περισσότερα bit αναγνώρισης. Η 18-bit επέκταση ακολουθεί το IDE. r1- Κρατημένο bit για πιθανή μελλοντική χρήση 2.3 Το CAN μήνυμα Διαιτησία Ένα βασικό χαρακτηριστικό του CAN που φαίνεται στο σχήμα είναι η αντίθετη λογική κατάσταση μεταξύ του διαύλου και της εισόδου του οδηγού και της εξόδου του δέκτη. Κανονικά, το λογικό-υψηλό συνδέεται με «1», και το λογικό-χαμηλό σχετίζεται με «0» - αλλά όχι όμως σε ένα δίαυλο CAN. Αυτός είναι ο λόγος για τον οποίο οι πομποδέκτες TI CAN έχουν τραβήξει παθητικά σε λογικό-υψηλό τους ακροδέκτες εισόδου του οδηγού και εξόδου του δέκτη, έτσι ώστε, ελλείψει οποιασδήποτε εισόδου, της συσκευής αυτόματα ρυθμίζει σε «υποχωρητική» κατάσταση διαύλου σε όλες τους ακροδέκτες εισόδου και εξόδου. 14
16 Εικόνα 2-4: Η ανεστραμμένη λογική ενός CAN διαύλου Η πρόσβαση στο δίαυλο είναι οδηγούμενη από συμβάντα (event-driven). Αν δύο κόμβοι επιχειρήσουν να καταλάβουν ταυτόχρονα τον δίαυλο ακολουθείται μια μηκαταστρεπτική διαδικασία κατάληψης του διαύλου. Έτσι το μήνυμα με τη μεγαλύτερη προτεραιότητα κερδίζει τον ανταγωνισμό για την κατάληψη του διαύλου χωρίς να καταστραφεί. Όσο πιο χαμηλή είναι η τιμή του identifier του μηνύματος τόσο πιο μεγάλη η προτεραιότητα του. Ένας identifier αποτελούμενος από μηδενικά έχει τη μεγαλύτερη προτεραιότητα στο δίκτυο επειδή κρατά τον δίαυλο πιο πολύ σε «κυρίαρχη» κατάσταση. Επομένως, εάν δύο κόμβοι αρχίσουν να μεταδίδουν ταυτόχρονα, ο κόμβος που στέλνει ένα τελευταίο bit αναγνώρισης ως μηδέν (κυρίαρχο) ενώ οι άλλοι κόμβοι στέλνουν «ένα» (υπολειπόμενο) διατηρεί τον έλεγχο του διαύλου CAN και συνεχίζει για να ολοκληρώσει το μήνυμά του. Ένα «κυρίαρχο» bit πάντα αντικαθιστά ένα «υποχωρητικό» bit σε δίαυλο CAN. Ένας κόμβος μετάδοσης παρακολουθεί συνεχώς κάθε κομμάτι της δικής του μετάδοσης. Αυτός είναι ο λόγος η διάταξη πομποδέκτη στην Εικόνα 2-4 στην οποία οι ακροδέκτες εξόδου CANH και CANL του οδηγού είναι εσωτερικά συνδεδεμένοι με την είσοδο του δέκτη. Η καθυστέρηση μετάδοσης ενός σήματος στον εσωτερικό βρόχο από την είσοδο του οδηγού στην έξοδο του δέκτη χρησιμοποιείται τυπικά ως μέτρηση της ποιότητας ενός πομποδέκτη CAN. Η Εικόνα 2-5 δείχνει τη διαδικασία διαιτησίας CAN που χειρίζεται αυτόματα ένας CAN ελεγκτής. Επειδή κάθε κόμβος παρακολουθεί συνεχώς τις δικές του μεταδόσεις, καθώς το «υποχωρητικό» bit του κόμβου Β αντικαθίσταται από το κυρίαρχο bit υψηλότερης προτεραιότητας του κόμβου C, ο κόμβος Β ανιχνεύει ότι η κατάσταση του διαύλου δεν ταιριάζει με το bit που μεταδίδει. Επομένως, ο κόμβος Β σταματά τη μετάδοση ενώ ο κόμβος C συνεχίζει με το μήνυμα του. Μια 15
17 άλλη προσπάθεια μετάδοση του μηνύματος γίνεται από τον κόμβο Β μόλις ελευθερωθεί ο δίαυλος από τον κόμβο C. Εικόνα 2-5: Διαιτησία στον δίαυλο CAN Τύποι Μηνυμάτων Οι 4 τύποι μηνυμάτων ή πλαισίων που μπορούν να μεταδοθούν από ένα δίαυλο CAN είναι το πλαίσιο δεδομένων, το απομακρυσμένο πλαίσιο, το πλαίσιο σφάλματος και το πλαίσιο υπερφόρτωσης Πλαίσιο Δεδομένων Το πλαίσιο δεδομένων είναι ο πιο συνηθισμένος τύπος μηνύματος και περιλαμβάνει το πεδίο διαιτησίας, το πεδίο δεδομένων, το πεδίο CRC και το πεδίο επιβεβαίωσης. Το πεδίο διαιτησίας περιέχει ένα identifier των 11-bit (Εικόνα 2-2) και το bit RTR, το οποίο είναι «κυρίαρχο» για τα πλαίσια δεδομένων. Η Εικόνα 2-3 απεικονίζει έναν 29-bit identifier και το bit RTR. Ακολουθεί το πεδίο δεδομένων που περιέχει μηδέν στα οκτώ bytes δεδομένων και το πεδίο CRC το οποίο περιέχει ένα 16-bit checksum που χρησιμοποιείται για ανίχνευση σφαλμάτων. Το τελευταίο είναι το πεδίο επιβεβαίωσης Το απομακρυσμένο πλαίσιο Ο επιδιωκόμενος σκοπός του απομακρυσμένου πλαισίου είναι να ζητήσει τη μετάδοση δεδομένων από άλλο κόμβο. Το απομακρυσμένο πλαίσιο είναι παρόμοιο με το πλαίσιο δεδομένων, με δύο σημαντικές διαφορές. Πρώτον, αυτός ο τύπος 16
18 μηνύματος χαρακτηρίζεται κυρίως απομακρυσμένο πλαίσιο από ένα «υποχωρητικό» bit RTR στο πεδίο διαιτησίας και, δεύτερον, δε μεταφέρει δεδομένα Το πλαίσιο σφάλματος Το πλαίσιο σφάλματος είναι ένα ειδικό μήνυμα που παραβιάζει τους κανόνες μορφοποίησης ενός μηνύματος CAN. Μεταδίδεται όταν ένας κόμβος ανιχνεύσει ένα σφάλμα σε ένα μήνυμα και προκαλεί σφάλμα σε όλους τους άλλους κόμβους του δικτύου επίσης. Ο αρχικός πομπός στη συνέχεια μεταδίδει ξανά αυτόματα το μήνυμα. Ένα περίπλοκο σύστημα μετρητών σφάλματος στον ελεγκτή CAN διασφαλίζει ότι ένας κόμβος δεν μπορεί να δεσμεύσει ένα δίαυλο με επανειλημμένη μετάδοση σφαλμάτων Το πλαίσιο υπερφόρτωσης Το πλαίσιο υπερφόρτωσης αναφέρεται κυρίως για την πληρότητα της παρουσίασης. Είναι παρόμοιο με το πλαίσιο σφάλμα σε σχέση με τη μορφή, και μεταδίδεται από έναν κόμβο όταν αυτός γίνεται πολύ απασχολημένος. Χρησιμοποιείται κυρίως για την παροχή μιας επιπλέον καθυστέρηση μεταξύ μηνυμάτων Έγκυρο πλαίσιο μηνύματος Ένα μήνυμα θεωρείται ότι έχει αποσταλλεί χωρίς σφάλματα όταν το τελευταίο bit του πεδίου EOF του μηνύματος λαμβάνεται στην χωρίς σφάλματα «υποχωρητική» κατάσταση. Ένα «κυρίαρχο» bit στο πεδίο EOF προκαλεί την επανάληψη της μετάδοσης Έλεγχος και περιορισμός σφαλμάτων Η ευρωστία του CAN μπορεί να αποδοθεί εν μέρει στις άφθονες διαδικασίες ελέγχου σφαλμάτων. Το πρωτόκολλο ενσωματώνει πέντε μεθόδους ελέγχου σφαλμάτων: τρεις στο επίπεδο μηνύματος και δύο στο επίπεδο bit. Αν κάποιο μήνυμα αποτύχει στις μεθόδους αυτές ανίχνευσης σφάλματος, τότε δε γίνεται δεκτό και ένα πλαίσιο σφάλματος δημιουργείται από τον κόμβο λήψης. Αυτό αναγκάζει τον κόμβο αποστολής να ξαναστείλει το μήνυμα μέχρι να ληφθεί αυτό σωστά. Ωστόσο, εάν ένας ελαττωματικός κόμβος κλείνει τον δίαυλο επαναλαμβάνοντας συνεχώς ένα σφάλμα, η δυνατότητα αποστολής μηνυμάτων αφαιρείται από τον ελεγκτή του μετά την επίτευξη ενός ορίου σφάλματος. 17
19 Ο έλεγχος σφαλμάτων στο επίπεδο μηνυμάτων επιβάλλεται από τις υποδοχές (slots) CRC και ACK. Το 16-bit CRC περιέχει το άθροισμα ελέγχου των προηγούμενων δεδομένων της εφαρμογής για ανίχνευση σφαλμάτων με ένα άθροισμα ελέγχου 15 bit και έναν οριοθέτη 1 bit. Επίσης στο επίπεδο του μηνύματος υπάρχει έλεγχος του πλαισίου μηνύματος. Αυτός ο έλεγχος αναζητά για πεδία μέσα στο μήνυμα που πρέπει να είναι πάντα «υποχωρητικά». Αν ανιχνεύεται ένα «κυρίαρχο» bit, παράγεται ένα σφάλμα. Τα bits που ελέγχονται είναι τα SOF, EOF, ο οριοθέτης του ACK και CRC. Στο επίπεδο των bits, κάθε bit που μεταφέρεται παρακολουθείται από τον αποστολέα του μηνύματος. Αν ένα bit των δεδομένων πάνω στο δίαυλο και διαβαστεί από τον κόμβο αποστολής το αντίθετό του τότε δημιουργείται ξανά σφάλμα. Η τελευταία μέθοδος ανίχνευσης είναι ο κανόνας bit-stuffing όπου μετά από 5 διαδοχικά bits του ίδιου λογικού επιπέδου, αν το επόμενο δεν είναι συμπλήρωμα αυτών, τότε προκύπτει σφάλμα. Ο κανόνας αυτός διασφαλίζει εξασφαλίζει την άνοδο των ακμών των παλμών διαθέσιμη για συνεχή συγχρονισμό του δικτύου. Επίσης διασφαλίζει ότι μια ροή από bits δε περνιέται εσφαλμένα για πλαίσιο σφάλματος ή για το 7-bit διάστημα που σημάνει το τέλος ενός μηνύματος. Τα bit αυτά αφαιρούνται από τον ελεγκτή του κόμβου λήψης. Με τη λογική αυτή, ένα ενεργό πλαίσιο σφάλματος αποτελείται από 6 κυρίαρχα bits παραβιάζοντας τον κανόνα bit-stuffing. Αυτό μεταφράζεται σαν σφάλμα από όλους τους κόμβους του CAN δικτύου οι οποίοι τότε δημιουργούν τα δικά τους πλαίσια σφάλματος. 2.4 Ο Δίαυλος CAN Το σήμα του CΑΝ είναι διαφορικό και αυτό το χαρακτηριστικό είναι που του παρέχει ανοσία στο θόρυβο και μεγάλη ανοχή σε σφάλματα. Το ισορροπημένο διαφορικό σήμα μειώνει τη ζεύξη θορύβου και επιτρέπει υψηλούς ρυθμούς μετάδοσης σε ένα συνεστραμμένο (twisted-pair) καλώδιο. Ισορροπημένο σημαίνει ότι το ρεύμα σε κάθε γραμμή σήματος είναι ίσο αλλά αντίθετο σε κατεύθυνση, πράγμα που έχει ως αποτέλεσμα την ακύρωση του πεδίου και κατά συνέπεια χαμηλό θόρυβο. Οι προδιαγραφές του High-Speed ISO Standard δίνονται για μέγιστη ταχύτητα μετάδοσης στο 1Mbps για μήκος διαύλου έως 40 μέτρα και για έως 30 κόμβους. Το καλώδιο μπορεί να είναι θωρακισμένο ή όχι και πρέπει να έχει χαρακτηριστική αντίσταση (Ζo) 120-Ω. To ISO Standard ορίζει μια μονή γραμμή συνεστραμμένου καλωδίου όπως η τοπολογία του δικτύου που φαίνεται 18
20 παραπάνω, η οποία έχει δυο αντιστάσεις των 120 Ω στα άκρα της για να αποφεύγονται οι ανακλάσεις του σήματος. Σύμφωνα με το ISO 11898, η τοποθέτηση μιας RL σε ένα κόμβο πρέπει να αποφευχθεί γιατί οι γραμμές του διαύλου δεν κλείνουν κύκλωμα αν ένας κόμβος αποσυνδεθεί. Εικόνα 2-6 : Λεπτομέρειες ενός CAN διαύλου Οι δύο γραμμές σήματος του διαύλου, CANH και CANL, στην ήρεμη υποχωρητική κατάσταση βρίσκονται στα 2.5 V. Στην κυρίαρχη κατάσταση του διαύλου το CANH ανεβαίνει στα 3.5 V,και το CANL πέφτει στο 1.5 V, δημιουργώντας ένα διαφορικό σήμα 2 V όπως φαίνεται στην παρακάτω Εικόνα
21 Εικόνα 2-7: Η "κυρίαρχη" κι η "υποχωρητική" κατάσταση του CAN διαύλου 2.5 Συμπεράσματα για το CAN Το CAN είναι ιδανικό για εφαρμογές που απαιτούν ένα μεγάλο αριθμό σύντομων μηνυμάτων. Επειδή το CAN είναι βασισμένο στην προτεραιότητα των μηνυμάτων κι στη διεύθυνση τους, ταιριάζει πολύ καλά σε συστήματα που τα δεδομένα σε παραπάνω από μία τοποθεσία και η ακεραιότητα των δεδομένων στο δίκτυο είναι επιτακτική. Ο περιορισμός σφαλμάτων είναι επίσης ένα βασικό πλεονέκτημα του CAN. Οι ελαττωματικοί κόμβοι πετιούνται αυτόματα από τον δίαυλο του δικτύου, πράγμα που εμποδίζει ένα απλό κόμβο να ρίξει το δίκτυο, και διασφαλίζει ότι το εύρος ζώνης του δικτύου είναι πάντα διαθέσιμο για τα σημαντικά μηνύματα. Αυτός ο περιορισμός των σφαλμάτων επιτρέπει την προσθήκη κόμβων στο δίκτυο όσο το σύστημα είναι σε λειτουργία. Τα χαρακτηριστικά του CAN το καθιστούν κατάλληλο για απαιτητικές εφαρμογές μέσα σε περιβάλλον δύσκολων συνθηκών. Ανάμεσα στις εφαρμογές που βρίσκουν λύση στα προβλήματα επικοινωνίας των κόμβων τους είναι αυτοκίνητα, φορτηγά, αεροπλάνα, μηχανές, τρένα, τρακτέρ, τανκς κ.α. 20
22 Κεφα λαιο 3 3 On-Board Diagnostics (OBD) Το OBD αποτελεί ένα σύστημα επικοινωνίας των οχημάτων και των βιομηχανικών για επικοινωνία με τον έξω κόσμο. Το ενσωματωμένο αυτό σύστημα διάγνωσης (OBD) είναι ένα σύστημα βασισμένο σε μικροϋπολογιστές, το οποίο ενσωματώνεται σε όλα τα οχήματα και τα φορτηγά ελαφρά φορτηγά από το 1996 και μετά. Τα συστήματα OBD σχεδιάζονται για να παρακολουθούν τις επιδόσεις κάποιων των κύριων στοιχείων του κινητήρα, συμπεριλαμβανομένων εκείνων που είναι υπεύθυνοι για τον έλεγχο των εκπομπών αερίων. Με άλλα λόγια, το OBD είναι η γλώσσα της μονάδας ελέγχου κινητήρα (ECU) και έχει σχεδιαστεί για να βοηθήσει στην αντιμετώπιση των εκπομπών και των κινητήρων. Ακόμη το OBD και πιο συγκεκριμένα το OBD-II (η σημερινή έκδοσή του OBD) χρησιμοποιούνται για διαγνωστικούς ελέγχους από τους μηχανικούς στα συνεργεία αυτοκινήτων. 3.1 Το υλικό Οποιαδήποτε αυτοκίνητο κατασκευής από το 1996 ή αργότερα απαιτείται από το νόμο για να έχει το σύστημα υπολογιστή OBD-II. Κάποιος μπορεί να αποκτήσει πρόσβαση σε αυτό το σύστημα μέσω του Connector Link Data (DLC). Είναι ένας σύνδεσμος 16 υποδοχών από τον οποίο είναι δυνατό να καταλάβουμε με ποιο πρωτόκολλο επικοινωνεί το αυτοκίνητό μας, ανάλογα με τις υποδοχές που υπάρχουν σε αυτό. Στα αυτοκίνητα θα βρίσκεται κάτω από την ταμπλό, κοντά στο κάθισμα του οδηγού ή κοντά στο τασάκι,γενικά κάπου εύκολα προσβάσιμο. Εικόνα 3-1: Connector Link Data εντός οχήματος 21
23 3.1.1 Μονάδα ελέγχου κινητήρα (ECU) Το ECU μπορεί να αναφέρεται σε ένα module ή σε ένα πλήθος modules. Αυτοί είναι οι εγκέφαλοι του οχήματος. Παρακολουθούν και ελέγχουν πολλές λειτουργίες του αυτοκινήτου. Αυτά μπορεί να είναι στάνταρ από τον κατασκευαστή, επαναπρογραμματιζόμενα ή να έχουν την ικανότητα να είναι αλληλοσυνδεμένα για πολλαπλές λειτουργίες. Τα χαρακτηριστικά συντονισμού στο ECU μπορούν να επιτρέψουν στο χρήστη να ρυθμίσει τη λειτουργία του κινητήρα σε διάφορα επίπεδα απόδοσης και σε διάφορα επίπεδα οικονομίας. Στα νέα αυτοκίνητα, όλα αυτά είναι τυπικά μικροελεγκτές. Engine Control Module (ECM) : Ελέγχει στοιχεία του κινητήρα, επηρεάζοντας πράγματα όπως το χρονικό διάστημα ανάφλεξης, τον λόγο αέρα προς καύσιμο και τις στροφές του. Vehicle Control Module (VCM) : Ένα άλλο όνομα μικροελεγκτή που ελέγχει την απόδοση του κινητήρα και του οχήματος. Transmission Control Module (TCM): Χειρίζεται το κιβώτιο ταχυτήτων, συμπεριλαμβανομένων στοιχείων όπως η θερμοκρασία του υγρού κιβωτίου ταχυτήτων, η θέση του γκαζιού και η ταχύτητα του τροχού. Powertrain Control Module (PCM): Συνήθως, αποτελείται από ένα συνδυασμό ECM και TCM. Αυτό το module ελέγχει τον κινητήρα. Electronic Brake Control Module (EBCM) : Ελέγχει και διαβάζει δεδομένα από το σύστημα αντι-μπλοκαρίσματος φρένων (ABS) Body Control Module (BCM): Ελέγχει τα χαρακτηριστικά του οχήματος, όπως ηλεκτρικά παράθυρα, ηλεκτρικά καθίσματα κ.λπ. Εικόνα 3-2: Δίκτυο μικροελεγκτών σε ένα Audi A8 22
24 3.2 Parameter Identification (PID) Η παράμετρος αυτή αποτελεί από τις πιο σημαντικές πληροφορίες που μπορούμε να πάρουμε από ένα σύστημα OBD-II. Τα PIDs είναι οι ορισμοί των διαφορετικών παραμέτρων που επιθυμούμε να ελέγξουμε. Δεν υποστηρίζονται όλα τα PID σε όλα τα πρωτόκολλα και μπορεί να υπάρχουν πολλά μοναδικά προσαρμοσμένα PID για κάθε κατασκευαστή. Δυστυχώς, τα PIDS δεν δημοσιεύονται από τους κατασκευαστές. Για προσδιοριστεί σε ποιο σύστημα αναφέρεται κάθε PID απαιτείται αρκετή δουλειά πάνω σε reverse engineering. Τα πιο κοινά PIDs που χρησιμοποιούνται από όλους τους κατασκευαστές φαίνονται παρακάτω. PID (hex) Bytes Δεδομένων Περιγραφή Τύπος υπολογισμού 05 1 Θερμοκρασία Ψυκτικού υγρού κινητήρα Α D 1 Ταχύτητα Οχήματος Α 0C 2 Ροπή κινητήρα (256*Α +Β)/ Ροή αέρα στη (256*Α +Β)/100 βαλβίδα καυσίμου 11 1 Θέση γκαζιού (100/255)*Α 0Α 1 Πίεση καυσίμου 3*Α Πίνακας 3-1: Συνηθέστερα PIDs του OBD-II 3.3 OBD-II Πρωτόκολλα Υπάρχουν πέντε διαφορετικά πρωτόκολλα επικοινωνίας που υποστηρίζει το OBD-II: SAE J1850 PWM SAE J1850 VPW ISO ISO KWP2000 ISO CAN 23
25 Στην υλοποίηση του συστήματος μας δουλέψαμε πάνω σε όχημα που η επικοινωνία των μικροελεγκτών του γινόταν σύμφωνα με το πρωτόκολλο ISO CAN. Το πρωτόκολλο αυτό συναντάται πλέον σε όλα τα οχήματα στην Ευρώπη που έχουν κατασκευαστεί από το 2010 και ύστερα. Το πρωτόκολλο αυτό αποτελεί την εφαρμογή του CAN Standard,που περιγράφηκε στο Κεφάλαιο 2, στα οχήματα Ι.Χ. Στον παρακάτω πίνακα βλέπουμε τα χαρακτηριστικά του ISO CAN. Πίνακας 3-2: Τεχνικά χαρακτηριστικά ISO CAN 24
26 Κεφα λαιο 4 4 Περιγραφή Συστήματος 4.1 Στόχοι συστήματος Το σύστημα που αναπτύχθηκε είχε ως στόχο αφενός την πρακτική ενασχόληση με το CAN bus δίκτυο,τη μελέτη του τρόπου λειτουργίας του και των χαρακτηριστικών του και αφετέρου την δημιουργία συστήματος παρουσίασης σε πραγματικό χρόνο των δεδομένων του CAN bus στο χρήστη. Πιο συγκεκριμένα στόχος του συστήματος αποτελεί η ασύρματη επικοινωνία του οχήματος με το χρήστη και η παρουσίαση δεδομένων του CAN bus δικτύου σε πραγματικό χρόνο και σε μορφή κατανοητή από το χρήστη. Ειδικότερα οι απαιτήσεις του συστήματος είναι οι παρακάτω: 1. Λειτουργία ενός interface μεταξύ οχήματος και κάποιου ψηφιακού μέσου. 2. Καταγραφή δεδομένων σε τοπικό χώρο αποθήκευσης (SD κάρτα). 3. Ύπαρξη κεντρικού εξυπηρετητή. 4. Αποστολή δεδομένων μέσω GPRS στον κεντρικό εξυπηρετητή. 5. Ενεργειακή κάλυψη του συστήματος 6. Καταγραφή ταχύτητας, ροπής κινητήρα, ποσοστό πίεσης του πεντάλ του γκαζιού, θερμοκρασία του ψυκτικού υγρού του κινητήρα και της πίεσης της βαλβίδας αέρα του οχήματος. 7. Υποστήριξη παραπάνω από ενός διασυνδεμένων οχημάτων και χρηστών. 8. Ικανοποιητικός χώρος αποθήκευσης στον εξυπηρετητή. 9. Παρουσίαση δεδομένων σε μορφή κατανοητή από τον χρήστη 4.2 Περιγραφή συστήματος Interface Οχήματος To interface του οχήματος αποτελείται από ένα ελεγκτή Arduino, ένα shield επικοινωνίας του ελεγκτή με το CAN bus δίκτυο, το σύστημα τροφοδοσίας του συστήματος από την μπαταρία του αυτοκινήτου, το GPRS chip καθώς επίσης και από ένα καλώδιο OBD-II σε DB9 για την διασύνδεση του συστήματος Arduino-Can bus shield με το δίκτυο του αυτοκινήτου. 25
27 Εικόνα 4-1: Απεικόνιση interface οχήματος σε block διάγραμμα Το can bus shield λειτουργεί ως κόμβος που προσαρμόζεται πάνω στο CAN δίκτυο του οχήματος και έτσι μπορεί να αποστέλλει και να λαμβάνει CAN μηνύματα. Τα μηνύματα αυτά αποκωδικοποιούνται από τον ελεγκτή και στη συνέχεια μέσω αυτού φθάνουν στο GPRS chip το οποίο τα αποστέλλει στον εξυπηρετητή Εξυπηρετητής Για την υλοποίηση του εξυπηρετητή του συστήματος χρησιμοποιήθηκε ένας μικροϋπολογιστής Raspberry Pi. Στον εξυπηρετητή λαμβάνουν χώρα αρκετές διεργασίες, όπως η επικοινωνία του με το όχημα μέσω του interface που αναφέρθηκε προηγουμένως, η αποθήκευση των δεδομένων που λαμβάνονται από το GPRS σε βάση δεδομένων κ.α. Αναπτύχθηκε με τη λογική να εξυπηρετεί παραπάνω του ενός οχήματα και χρήστες αντίστοιχα που μπορούν να λαμβάνουν δεδομένα σε πραγματικό χρόνο. Επιπλέον, παρέχεται η δυνατότητα ασφαλούς απομακρυσμένου ελέγχου του εξυπηρετητή. 26
28 Επιλέχθηκε ο εν λόγω μικροϋπολογιστής εξαιτίας του μικρού κόστους του, της σταθερότητας και αξιοπιστίας του λειτουργικού συστήματος (Raspbian) καθώς και της μειωμένης απαίτησης του συστήματος σε επεξεργαστική ισχύ και χώρο αποθήκευσης. Αξίζει να σημειωθεί πως μια πιο επαγγελματική δουλειά που θα είχε εμπορικό σκοπό θα χρειαζόμασταν ένα πιο ισχυρός με μεγαλύτερους αποθηκευτικούς πόρους για τη βάση δεδομένων του Εφαρμογή «έξυπνου» κινητού τηλεφώνου Η εφαρμογή που αναπτύχθηκε ακολουθεί την αρχιτεκτονική των τριών επιπέδων. Σύμφωνα με την αρχιτεκτονική αυτή τα οχήματα αποστέλλουν τα δεδομένα τους στον εξυπηρετητή του συστήματος κι από εκεί αποθηκεύονται στην βάση δεδομένων. Στη συνέχεια οι εφαρμογές από τα κινητά τηλέφωνα αιτούνται στον εξυπηρετητή για δεδομένα. Παρακάτω φαίνεται η αρχιτεκτονική που ακολουθήθηκε για την υλοποίηση του συστήματος. Εικόνα 4-2: Η αρχιτεκτονική τριών επιπέδων που εφαρμόσθηκε στο σύστημα 27
29 Κεφα λαιο 5 5 Υλικό συστήματος Στο κεφάλαιο αυτό θα παρουσιαστεί το υλικό μέρος του συστήματος που υλοποιήθηκε καθώς και τα πρωτόκολλα επικοινωνίας που χρησιμοποιήθηκαν για τη διασύνδεση του υλικού. 5.1 Πλακέτα Arduino UNO Το Arduino είναι ένας single-board μικροελεgκτής, δηλαδή μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο μικροελεγκτή και εισόδους/εξόδους, και η οποία μπορεί να προγραμματιστεί με τη γλώσσα Wiring (ουσιαστικά πρόκειται για τη γλώσσα προγραμματισμού C++ και ένα σύνολο από βιβλιοθήκες, υλοποιημένες επίσης στην C++ ). Το Arduino μπορεί να χρησιμοποιηθεί για την ανάπτυξη ανεξάρτητων διαδραστικών αντικειμένων αλλά και να συνδεθεί με υπολογιστή μέσω προγραμμάτων σε Processing, Max/MSP, Pure Data, SuperCollider Χαρακτηριστικά της πλακέτας Arduino Στην παρακάτω εικόνα παρουσιάζεται μια πλακέτα Arduino Uno όπως αυτή που χρησιμοποιήθηκε για την υλοποίηση του συστήματος. Εικόνα 5-1:Πλακέτα Arduino UNO 28
30 5.1.2 Μικροελεγκτής ΑΤmega328P Το Arduino UNO βασίζεται στον ATmega328P, έναν 8-bit RISC μικροελεγκτή, τον οποίο χρονίζει στα 16MHz. Ο ATmega328P διαθέτει ενσωματωμένη μνήμη τριών τύπων: 2Kb μνήμης SRAM που είναι η ωφέλιμη μνήμη που μπορούν να χρησιμοποιήσουν τα προγράμματά σας για να αποθηκεύουν μεταβλητές, πίνακες κ.λπ. κατά την διάρκεια λειτουργίας. Όπως και σε έναν υπολογιστή, αυτή η μνήμη χάνει τα δεδομένα της όταν η παροχή ρεύματος στο Arduino σταματήσει ή γίνει reset. 1Kb μνήμης EEPROM η οποία μπορεί να χρησιμοποιηθεί για εγγραφή/ανάγνωση δεδομένων (χωρίς datatype) ανά byte από τα προγράμματά σας κατά τη διάρκεια λειτουργίας. Σε αντίθεση με την SRAM, η EEPROM δεν χάνει τα περιεχόμενά της με απώλεια τροφοδοσίας ή reset οπότε είναι το ανάλογο του σκληρού δίσκου. 32Kb μνήμης Flash, από τα οποία τα 2Kb χρησιμοποιούνται από τον bootloader του Arduino που έχει εγκαταστήσει ήδη ο κατασκευαστής του. O bootloader είναι αναγκαίος για την εγκατάσταση των δικών μας προγραμμάτων στον μικροελεγκτή μέσω της θύρας USB, χωρίς δηλαδή να χρειάζεται εξωτερικός hardware programmer. Τα υπόλοιπα 30Kb της μνήμης Flash χρησιμοποιούνται για την αποθήκευση αυτών ακριβώς των προγραμμάτων, αφού πρώτα μεταγλωττιστούν στον υπολογιστή σας. Η μνήμη Flash, όπως και η EEPROM, δεν χάνει τα περιεχόμενά της με απώλεια τροφοδοσίας ή reset. Επίσης, ενώ η μνήμη Flash υπό κανονικές συνθήκες δεν προορίζεται για χρήση κατά την περίοδο runtime μέσα από τα προγράμματά μας, λόγω της μικρής συνολικής μνήμης που είναι διαθέσιμη σε αυτά (2Kb SRAM + 1Kb EEPROM), έχει σχεδιαστεί μια βιβλιοθήκη που επιτρέπει την χρήση όσου χώρου περισσεύει (30Kb μείον το μέγεθος του προγράμματός σας σε μεταγλωττισμένη μορφή). Στο Πίνακα 5-1 παρουσιάζονται τα τεχνικά χαρακτηριστικά του μικροελεγκτή ΑΤmega328P. 29
31 Πίνακας 5-1: Χαρακτηριστικά του ATmega328P από το Datasheet της Atmel Είσοδοι Έξοδοι πλακέτας Καταρχάς θα πρέπει να αναφερθεί πως το Arduino διαθέτει σειριακό interface. Ο μικροελεγκτής ATmega328P υποστηρίζει σειριακή επικοινωνία, την οποία το Arduino προωθεί μέσα από έναν ελεγκτή Serial-over-USB ώστε να συνδέεται με τον υπολογιστή μέσω USB. Η σύνδεση αυτή χρησιμοποιείται για την μεταφορά των προγραμμάτων που σχεδιάζονται από τον υπολογιστή στο Arduino αλλά και για αμφίδρομη επικοινωνία του Arduino με τον υπολογιστή μέσα από το πρόγραμμα την ώρα που εκτελείται. Στην μια πλευρά του Arduino βρίσκονται 14 υποδοχές pin, αριθμημένες από 0 ως 13, που μπορούν να λειτουργήσουν ως ψηφιακές είσοδοι και έξοδοι. Λειτουργούν στα 5V και καθένα μπορεί να παρέχει ή να δεχτεί το πολύ 40mA. Ως ψηφιακή έξοδος, ένα από αυτά τα pin μπορεί να τεθεί από το πρόγραμμα σε κατάσταση HIGH ή LOW, οπότε το Arduino θα ξέρει αν πρέπει να διοχετεύσει ή όχι ρεύμα στο συγκεκριμένο pin. Αν κάποιο από τα pin αυτά ρυθμιστεί ως ψηφιακή είσοδος μέσα από το πρόγραμμά, είναι δυνατό με την κατάλληλη εντολή να διαβαστεί η κατάστασή του (HIGH ή LOW) ανάλογα με το αν η εξωτερική συσκευή που έχει συνδεθεί σε αυτό το pin διοχετεύει ή όχι ρεύμα στο pin. 30
32 Μερικά από αυτά τα 14 pin, εκτός από ψηφιακές είσοδοι/έξοδοι έχουν και δεύτερη λειτουργία. Συγκεκριμένα: Τα pin 0 και 1 λειτουργούν ως RX και TX της σειριακής θύρας όταν το πρόγραμμα ενεργοποιεί την σειριακή θύρα. Έτσι, όταν λόγου χάρη το πρόγραμμα στέλνει δεδομένα στην σειριακή, αυτά προωθούνται και στην θύρα USB μέσω του ελεγκτή Serial-Over-USB αλλά και στο pin 0 για να τα διαβάσει ενδεχομένως μια άλλη συσκευή. Αυτό σημαίνει ότι αν στο πρόγραμμα ενεργοποιηθεί το σειριακό interface, χάνουμε 2 ψηφιακές εισόδους/εξόδους. Τα pin 2 και 3 λειτουργούν και ως εξωτερικά interrupts (interrupt 0 και 1 αντίστοιχα). Με άλλα λόγια, μπορούν να ρυθμιστούν μέσα από τον κώδικα του προγράμματος ώστε να λειτουργούν αποκλειστικά ως ψηφιακές είσοδοι στις οποίες όταν συμβαίνουν συγκεκριμένες αλλαγές, η κανονική ροή του προγράμματος διακόπτεται και εκτελείται μια συνάρτηση που έχει οριστεί για το συγκεκριμένο interrupt. Τα εξωτερικά interrupts είναι ιδιαίτερα χρήσιμα σε εφαρμογές που απαιτούν συγχρονισμό μεγάλης ακρίβειας. Τα pin 3, 5, 6, 9, 10 και 11 μπορούν να λειτουργήσουν και ως ψευδοαναλογικές έξοδοι με το σύστημα PWM (Pulse Width Modulation), που χρησιμοείται ιδιαίτερα για την οδήγηση κινητήρων. Πρέπει να τονιστεί ότι το PWM δεν είναι πραγματικά αναλογικό σύστημα και ότι θέτοντας στην έξοδο την τιμή 127, δεν σημαίνει ότι η έξοδος θα δίνει 2.5V αντί της κανονικής τιμής των 5V, αλλά ότι θα δίνει ένα παλμό που θα εναλλάσσεται με μεγάλη συχνότητα και για ίσους χρόνους μεταξύ των τιμών 0 και 5V. Στην απέναντι πλευρά του Arduino, με τη σήμανση ANALOG IN, βρίσκεται μια δεύτερη σειρά από 6 pins, αριθμημένα από το 0 ως το 5. Το καθένα από αυτά λειτουργεί ως αναλογική είσοδος κάνοντας χρήση του ADC (Analog to Digital Converter) που είναι ενσωματωμένο στον μικροελεγκτή. Για παράδειγμα, είναι δυνατό να τροφοδοτηθεί καθένα από αυτά με μια τάση η οποία μπορεί να κυμαίνεται από 0V ως μια τάση αναφοράς Vref η οποία είναι ρυθμισμένη στα 5V. Τότε, μέσα από το πρόγραμμα είναι δυνατό να «διαβαστεί» η τιμή του pin ως ένα ακέραιο αριθμό ανάλυσης 10-bit, από 0 (όταν η τάση στο pin είναι 0V) μέχρι 1023 (όταν η τάση στο pin είναι 5V). Τέλος, καθένα από τα 6 αυτά pins, με κατάλληλη εντολή μέσα από το πρόγραμμα μπορεί να μετατραπεί σε ψηφιακό pin εισόδου/εξόδου όπως τα 14 που βρίσκονται 31
33 στην απέναντι πλευρά και τα οποία περιγράφηκαν νωρίτερα. Σε αυτή την περίπτωση τα pin μετονομάζονται από 0~5 σε 14~19 αντίστοιχα Τροφοδοσία Το Arduino μπορεί να τροφοδοτηθεί με ρεύμα είτε από τον υπολογιστή μέσω της σύνδεσης USB, είτε από εξωτερική τροφοδοσία που παρέχεται μέσω μιας υποδοχής διαμέτρου 2.1mm (θετικός πόλος στο κέντρο). Για να μην υπάρχουν προβλήματα, η εξωτερική τροφοδοσία πρέπει να είναι από 7 ως 12V και μπορεί να προέρχεται από ένα κοινό μετασχηματιστή του εμπορίου, από μπαταρίες ή οποιαδήποτε άλλη πηγή DC. Στην παρούσα εργασία για την τροφοδότηση του Arduino Uno χρησιμοποιείται τροφοδοσία από το καλώδιο σύνδεσης με τη θύρας USB του υπολογιστή. 5.2 CAN BUS shield Οι πλακέτες Arduino χρησιμοποιούν την τεχνολογία των shields, τυπωμένων πλακετών (boards) επεκτάσεων κυκλωμάτων που συνδέονται στα pins της πλακέτας Arduino. Οι επεκτάσεις αυτές παρέχουν επιπλέουν δυνατότητες στην πλακέτα όπως η π.χ. η οδήγηση ενός κινητήρα, η σύνδεση σε ένα δίκτυο μέσω Ethernet και Wi-Fi ή όπως συμβαίνει στην παρούσα εργασία την διασύνδεση με το CAN δίκτυο ενός οχήματος. Για την υλοποίηση της εφαρμογής επιλέχθηκε η χρήση του shield από την εξ αρχής υλοποίηση ενός δικού μας κυκλώματος λήψης και αποστολής CAN μηνυμάτων. Οι λόγοι που μας οδήγησαν στην απόφαση αυτή ήταν ότι επιθυμητός στόχος της εργασίας ήταν η εξοικείωση και η μελέτη με το δίκτυο. Έτσι επιλέχθηκε η λύση του έτοιμου shield. Με το πέρας όμως της εργασίας και των συμπερασμάτων που προέκυψαν από τη μελέτη τόσο του δικτύου όσο και του shield φαίνεται ότι μπορούμε να οδηγηθούμε σχετικά εύκολα στην υλοποίηση της δικής μας πλακέτας λήψης και αποστολής CAN μηνυμάτων Βασικά chips του CAN BUS shield Το σχηματικό του κυκλώματος που επιτελεί τη βασική λειτουργία του shield, την επικοινωνία δηλαδή του μικροελεγκτή μας με το CAN δίκτυο του οχήματος, απεικονίζεται στην Εικόνα
34 Μπορούμε εύκολα από το σχηματικό να παρατηρήσουμε ότι τα σήματα που εισέρχονται από το CAN δίκτυο του οχήματος στον DB-9 κονέκτορα λαμβάνονται από το MCP2551 chip. Εκεί «μεταφράζονται» σε ψηφιακά σήματα και μεταφέρονται στον ελεγκτή CAN,δηλαδή στο MCP2515 chip, το οποίο «συλλαμβάνει» τα CAN μηνύματα και επικοινωνεί με τον μικροελεγκτή ATmega328P μέσω των SPI γραμμών. Εικόνα 5-2: Σχηματικό του κυκλώματος των βασικών chip MCP2551 & MCP2515 του shield MCP2551 High-Speed CAN Transceiver Το MCP2551 είναι ένα ανθεκτικό σε σφάλματα CAN chip το οποίο λειτουργεί ως interface ανάμεσα από τον ελεγκτή του πρωτοκόλλου CAN (στην περίπτωση μας το MCP2515 chip) και τον φυσικό δίαυλο. Το MCP2551 παρέχει τη δυνατότητα διαφορικής μετάδοση και λήψης για τον ελεγκτή του πρωτοκόλλου CAN, και είναι πλήρως συμβατό με το ISO που περιγράφηκε σε προηγούμενο κεφάλαιο της παρούσας εργασίας. 33
35 Εικόνα 5-3: Το MCP2551 που χρησιμοποιήθηκε από το CAN BUS shield Τυπικά, κάθε κόμβος στο CAN σύστημα πρέπει να έχει μια συσκευή που θα μετατρέπει τα ψηφιακά σήματα που δημιουργούνται από τον CAN ελεγκτή σε κατάλληλα σήματα για αποστολή πάνω στο φυσικό δίαυλο. Θα πρέπει επίσης να σημειωθεί ότι παρέχει προστασία στον CAN ελεγκτή από της υψηλές τάσεις που μπορούν να δημιουργηθούν από εξωτερικές πηγές. Όπως αναφέρθηκε και στο κεφάλαιο 2 το δίκτυο CAN μπορεί να έχει 2 καταστάσεις την «κυρίαρχη»(dominant) και την «υποχωρητική» (recessive). Η «κυρίαρχη» κατάσταση λαμβάνει χώρα όταν η διαφορική τάση μεταξύ CANH και CANL είναι μεγαλύτερη από μια τάση αναφοράς, στο δικό μας σύστημα η τάση αναφοράς είναι στο 1 V, ενώ αντίθετα η «υποχωρητική» όταν η διαφορική τάση είναι κάτω από μια τάση αναφοράς (π.χ. 0.1 V). Η «κυρίαρχη» και «υποχωρητική» κατάσταση αντίστοιχα ανταποκρίνονται στην «χαμηλή» και «υψηλή» λογική κατάσταση αντίστοιχα του TXD pin εισόδου. Το RXD pin εξόδου αντικατοπτρίζει την διαφορική τάση μεταξύ CANH και CANL. Η «χαμηλή» και «υψηλή» λογική κατάσταση της εξόδου RXD ανταποκρίνονται στην «κυρίαρχη» και «υποχωρητική» κατάσταση αντίστοιχα. Οι έξοδοι του εν λόγω chip μπορούν να οδηγήσουν ένα ελάχιστο φορτίο 45 Ω, επιτρέποντας έτσι την διασύνδεση έως 112 κόμβων. Στην εικόνα 5-4 παρουσιάζεται το μπλοκ διάγραμμα του chip. 34
36 Εικόνα 5-4: Μπλοκ διάγραμμα του MCP2551 chip Τέλος παρατίθεται ο πίνακας αλήθειας του chip για την πληρέστερη κατανόηση της λειτουργίας του. Εικόνα 5-5: Πίνακας αλήθειας MCP2551 Παρατηρήσεις σχετικά με τον πίνακα αλήθειας: Αν ένας άλλος κόμβος του συστήματος μεταδίδει ένα «κυρίαρχο» bit στον δίαυλο CAN, τότε το RXD είναι σε λογικό «0». X= «αδιαφορία» MCP2515 Αυτόνομος CAN ελεγκτής με SPI Interface Το MCP2515 chip είναι ένας αυτόνομος ελεγκτής CAN που αναπτύχθηκε για να διευκολύνει τις εφαρμογές που απαιτούν διασύνδεση μέσω του διαύλου CAN. Η μορφή του chip και το μπλοκ διάγραμμά του φαίνονται στις Εικόνα 5-6 και Εικόνα 5-7 αντίστοιχα. 35
37 Εικόνα 5-6: Το MCP2515 του CAN BUS shield Tο chip αποτελείται από 3 κύρια μπλοκ: Την μονάδα CAN, που περιλαμβάνει τη μηχανή του πρωτοκόλλου CAN, μάσκες, φίλτρα, μεταφέρει και λαμβάνει buffers. Τη μονάδα ελέγχου και τους καταχωρητές που χρησιμοποιούνται για να ρυθμίσουν τη συσκευή και τη λειτουργία της. Την μονάδα του πρωτοκόλλου SPI Εικόνα 5-7: Μπλοκ διάγραμμα MCP2515 Η μονάδα CAN χειρίζεται όλες τις λειτουργίες λήψης και μετάδοσης μηνυμάτων στο δίαυλο CAN. Μηνύματα μεταδίδονται αφού πρώτα φορτωθεί ο κατάλληλος 36
38 buffer μηνύματος και οι καταχωρητές ελέγχου. H μετάδοση αρχίζει με τη χρήση bits των καταχωρητών ελέγχου μέσω της διασύνδεσης SPI ή με τη χρήση των pin ενεργοποίησης εκπομπής. Η κατάσταση και τα σφάλματα μπορούν να ελεγχθούν διαβάζοντας τους κατάλληλους καταχωρητές. Κάθε μήνυμα που ανιχνεύεται στο δίαυλο CAN ελέγχεται για σφάλματα και στη συνέχεια αντιστοιχίζεται με τα φίλτρα που ορίζονται από το χρήστη για να δει εάν πρέπει να μετακινηθεί σε ένα από τα δύο buffer λήψης. Η λογική μονάδα ελέγχου ελέγχει τη ρύθμιση και τη λειτουργία του MCP2515 μέσω της διασύνδεση με τα άλλα μπλοκ προκειμένου να περάσει πληροφορίες και έλεγχο. Τα pin διακοπής παρέχονται για να επιτρέψουν στο σύστημα μεγαλύτερη ευελιξία. Υπάρχει ένας ακροδέκτης διακοπής πολλών χρήσεων (καθώς και συγκεκριμένοι ακροδέκτες διακοπής) για κάθε ένα από τους καταχωρητές λήψης που μπορούν να χρησιμοποιηθούν για να υποδείξουν ένα έγκυρο μήνυμα που έχει ληφθεί και φορτωθεί σε ένα από τους bufferς λήψης. Η χρήση των ακροδεκτών αυτών είναι προαιρετική. Ο ακροδέκτης διακοπής γενικού σκοπού, καθώς και οι καταχωρητές κατάστασης (που έχουν πρόσβαση μέσω της διασύνδεσης SPI), μπορούν επίσης να χρησιμοποιηθούν για να προσδιοριστεί πότε έχει ληφθεί ένα έγκυρο μήνυμα. Επιπλέον, υπάρχουν τρεις ακροδέκτες διαθέσιμοι για να ξεκινήσει η άμεση μετάδοση ενός μηνύματος που έχει φορτωθεί σε έναν από τους τρεις καταχωρητές μετάδοσης. Η χρήση αυτών των ακροδεκτών είναι προαιρετική, καθώς οι μεταδόσεις μηνυμάτων έναρξης μπορούν επίσης να πραγματοποιηθούν με τη χρήση καταχωρητών ελέγχου, που είναι προσβάσιμοι μέσω της διασύνδεσης SPI. Ο μικροελεγκτής,στην περίπτωση μας ο ΑΤmega328P του Arduino Uno, διασυνδέεται με τη συσκευή μέσω της διασύνδεσης SPI. Έχει τη δυνατότητα εγγραφής και ανάγνωσης σε όλους τους καταχωρητές χρησιμοποιώντας τις τυπικές εντολές ανάγνωσης και εγγραφής SPI. Παρακάτω παρουσιάζεται ένα παράδειγμα εφαρμογής του MCP2515 σε ένα σύστημα CAN. 37
39 Εικόνα 5-8: Παράδειγμα εφαρμογής του MCP2515 σε σύστημα CAN Αξίζει ξανά να σημειωθεί πως στο chip αυτό εφαρμόζεται όλη η λογική του CAN που παρουσιάστηκε στο κεφάλαιο 2. Ας θυμίσουμε πως σ αυτή περιλαμβάνονται όλα τα πλαίσια μηνυμάτων καθώς και οι έλεγχοι σφάλματος Χαρακτηριστικά του CAN BUS shield To CAN bus shield που χρησιμοποιήθηκε αποτελεί ένα «open-hardware» προϊόν της εταιρίας Sparkfun και παρουσιάζεται στην Εικόνα 5-9. Εικόνα 5-9: Sparkfun CAN Bus Shield 38
40 Από την παραπάνω εικόνα φαίνονται τα βασικά chips του shield που περιγράφηκαν στην προηγούμενη ενότητα και ευθύνονται για την κύρια λειτουργία της αποστολής και λήψης CAN μηνυμάτων. Το συγκεκριμένο shield όμως πέρα από τη βασική λειτουργία του παρέχει και επιπλέον δυνατότητες στον developer μιας εφαρμογής οι οποίες θα φανούν παρακάτω αναλύοντας τις επισημάνσεις της Εικόνας DB9 κονέκτορας Το κύριο υλικό κομμάτι του shield αυτού αποτελεί ο DB9 κονέκτορας. Ο κονέκτορας αυτός επιτρέπει τη διασύνδεση της OBD-II θύρας του οχήματος μέσω ενός καλωδίου DB9 σε OBD-II όπως αυτό στην Εικόνα Εικόνα 5-10: Καλώδιο DB9 σε OBD-ΙΙ 2. Θύρα υποδοχής για GPS To shield είναι σχεδιασμένο για διασύνδεση με το EM-506 GPS Receiver ή το GP-735 GPS Receiver. Στην παρούσα υλοποίηση δεν έγινε χρήση GPS, παρόλα αυτά η πιθανότητα χρήσης του προβλέφθηκε στο κομμάτι του λογισμικού. 3. Θύρα υποδοχής σειριακής LCD οθόνης Στην παρούσα υλοποίηση δε χρησιμοποιείται καθώς τα δεδομένα παρουσιάζονται σε εφαρμογή έξυπνου κινητού. 4. JoyStick To JoyStick του shied παρέχει στο χρήστη τη δυνατότητα χρήσης 5 επιλογών: πάνω, κάτω, δεξιά, αριστερά και κλικ. Το κλικ χρησιμοποιείται στην υλοποίηση για το ξεκίνημα και το κλείσιμο της αποστολής-λήψης CAN μηνυμάτων. 5. Υποδοχή για microsd κάρτα Η υποδοχή αυτή παρέχει τη δυνατότητα καταγραφής πληροφοριών που επιθυμεί ο χρήστης. 6. Βραχυκυκλωτήρες Υπάρχουν έξι βραχυκυκλωτήρες στο shield: 39
41 α) SJ1 και SJ2: Επιτρέπουν στο χρήστη να επιλέξει μεταξύ UART και Software Serial επικοινωνίας του GPS με το Arduino. β)sj3: Επιτρέπει στο χρήστη να ξεχωρίσει το pin5 στη θύρα υποδοχής GPS από τη γραμμή GND. γ)sj4,sj5 και SJ6: Επιτρέπουν τη ρύθμιση του DB9 μεταξύ CAN και OBD-II. 7. CAN ακροδέκτες Οι ακροδέκτες αυτοί δίνουν τη δυνατότητα στο χρήστη για απευθείας πρόσβαση στον CAN δίαυλο. 5.3 SIM800L Δίκτυο κινητής τηλεφωνίας Στην Ελλάδα, όπως και Διεθνώς, η κινητή τηλεφωνία βασίζεται στα συστήματα GSM (Global System for Mobile Communications), DCS (Digital Cellural System), UMTS (Universal Mobile Telecommunication System) και LTE (Long Term Evolution) που λειτουργούν στις περιοχές συχνοτήτων των 800, 900, 1.800, και MHz. Τα συστήματα GSM, DCS 1.800, UMTS και LTE είναι κυψελωτά. Τι σημαίνει αυτό; Η γεωγραφική περιοχή που καλύπτουν διαιρείται σε μικρότερες περιοχές (τις λεγόμενες κυψέλες) που ορίζονται από τις περιοχές κάλυψης των σταθμών βάσης, οι οποίοι εγκαθίστανται συνήθως στις ταράτσες κτιρίων ή σε άλλα υψηλά σημεία. Το πόσες είναι και οι κυψέλες και το μέγεθος της περιοχής που καλύπτουν εξαρτάται από τη γεωγραφία της περιοχής, το εύρος των συχνοτήτων και το πόσες κλήσεις γίνονται καθώς φυσικά και το πόσοι χρήστες υπάρχουν σε μία περιοχή. Έτσι στις αραιοκατοικημένες περιοχές, τοποθετούνται λίγες κεραίες με εμβέλεια χιλιομέτρων, ενώ στις πυκνοκατοικημένες αστικές περιοχές τοποθετούνται πολλές κεραίες που η εμβέλειά τους μπορεί να μην ξεπερνά τις μερικές εκατοντάδες μέτρα. Κάθε φορά που κάνουμε μια κλήση, μεταδίδεται, μέσω του δικτύου, το σήμα στον κοντινότερο σταθμό βάσης. Εικόνα 5-11: Κυψελωτό δίκτυο κινητής τηλεφωνίας 40
42 Στο σύστημα GSM η περιοχή συχνοτήτων που έχει εκχωρηθεί για την λειτουργία των δικτύων κινητής τηλεφωνίας υποδιαιρείται σε περισσότερες υποπεριοχές συχνοτήτων κανάλια επικοινωνίας εύρους 200kHz. Κάθε κανάλι μπορεί να χρησιμοποιείται ταυτόχρονα από οκτώ το πολύ συνδρομητές, οι οποίοι χρησιμοποιούν διαδοχικά τα κανάλι για λίγο χρόνο. Κάθε σταθμός βάσης επικοινωνεί με τα κινητά τηλέφωνα που βρίσκονται στη περιοχή, συνήθως με 6 έως 12 κανάλια συχνοτήτων. Τα κανάλια αυτά είναι διαφορετικά μεταξύ γειτονικών κυψελών, ώστε να ξεχωρίζουν μεταξύ τους. Επειδή ο αριθμός των καναλιών είναι περιορισμένος, τα ίδια κανάλια ξαναχρησιμοποιούνται σε διαφορετικές κυψέλες. Η σχεδίαση των δικτύων είναι τέτοια, ώστε οι κυψέλες που χρησιμοποιούν τα ίδια κανάλια να είναι όσο το δυνατόν μακρύτερα μεταξύ τους για την ελαχιστοποίηση των παρεμβολών της μιας στη λειτουργία της άλλης. Τα κινητά τηλέφωνα μετρούν το επίπεδο του σήματος που λαμβάνουν από τους πλησιέστερους σταθμούς βάσης και αν, καθώς μετακινούμαστε, το σήμα από έναν άλλο σταθμό βάσης γίνει καλύτερο από το σήμα του σταθμού που χρησιμοποιούμε, τότε το δίκτυο κινητής τηλεφωνίας μας μεταβιβάζει στην κυψέλη του σταθμού αυτού, χωρίς η μεταβίβαση να γίνεται αισθητή από το χρήστη. Τέλος, θα πρέπει να γνωρίζουμε την φασματική περιοχή που εκπέμπει ο πάροχός μας για να επιλέξουμε το αντίστοιχο GSΜ chip που θα υποστηρίζει την μπάντα εκπομπής του παρόχου General Packet Radio Services (GPRS) To GPRS είναι μια υπηρεσία ασύρματης επικοινωνίας που βασίζεται στη χρήση πακέτων και παρέχει ρυθμούς μεταφοράς δεδομένων από 56 έως 114 Kbps και συνεχή σύνδεση στο Internet για χρήστες κινητών τηλεφώνων και υπολογιστών. Οι υψηλότερες ταχύτητες δεδομένων επιτρέπουν στους χρήστες να συμμετέχουν σε τηλεδιασκέψεις και να αλληλεπιδρούν με τοποθεσίες Web πολυμέσων και παρόμοιες εφαρμογές χρησιμοποιώντας κινητές φορητές συσκευές καθώς και φορητούς υπολογιστές. Το GPRS βασίζεται στην επικοινωνία του Global System for Mobile (GSM) και συμπληρώνει τις υπάρχουσες υπηρεσίες, όπως οι συνδέσεις κυψελοειδούς τηλεφωνίας μεταγωγής κυκλώματος και η υπηρεσία Short Message Service (SMS). Θεωρητικά, οι υπηρεσίες που βασίζονται σε πακέτα GPRS κοστίζουν τους χρήστες λιγότερο από τις υπηρεσίες μεταγωγής κυκλώματος, δεδομένου ότι τα κανάλια επικοινωνίας χρησιμοποιούνται από κοινού, αντί να προορίζονται για ένα χρήστη κάθε φορά. Επίσης, διευκολύνει τη διάθεση εφαρμογών λογισμικού σε χρήστες κινητής τηλεφωνίας, επειδή ο ταχύτερος ρυθμός δεδομένων σημαίνει ότι δεν απαιτείται πλέον το ενδιάμεσο λογισμικό για την προσαρμογή των εφαρμογών στην πιο αργή ταχύτητα των ασύρματων συστημάτων. Καθώς το GPRS έχει γίνει ευρύτερα διαθέσιμο, μαζί με άλλες υπηρεσίες 3G και 4G, οι χρήστες κινητών 41
43 εικονικών ιδιωτικών δικτύων (VPN) έχουν πρόσβαση στο ιδιωτικό δίκτυο συνεχώς μέσω ασύρματης σύνδεσης. Ο διαχωρισμός των συσκευών που χρησιμοποιούν GPRS μπορεί να γίνει και με βάση την ταχύτητα του ρυθμού μετάδοσης που επιτυγχάνουν. Το GPRS για να πετύχει υψηλό ρυθμό μετάδοσης χρησιμοποιεί άνω του ενός slot που κανονικά αναλογεί στην συσκευή. Επιπλέον, χρησιμοποιούνται διαφορετικά slots για receive και για transmit λειτουργίες. Multislot Classes for GPRS Multislot Class Receive Tranmist Πίνακας 5-2: 12 πρώτες κλάσεις GPRS με βάση τον αριθμό των slots που χρησιμοποιούν Στον παραπάνω πίνακα παρουσιάζονται οι 12 πρώτες κλάσεις GPRS με κριτήριο τον αριθμό slots που καταλαμβάνουν SIM800L chip Έχοντας αναφέρει τις απαραίτητες εισαγωγικές πληροφορίες για τη λειτουργία των δικτύων GSM και GPRS, είμαστε στη θέση να μελετήσουμε το module που χρησιμοποιήθηκε για την υλοποίηση της ασύρματης επικοινωνίας μεταξύ του οχήματος και του εξυπηρετητή. Το module που επιλέχθηκε χρησιμοποιεί ως μικροελεγκτή τον SIM800L παρέχοντας ένα ολοκληρωμένο board μικρών διαστάσεων και είναι σε θέση να προγραμματιστεί από τον developer μέσω AT εντολών τις οποίες μπορεί να βρει κάποιος στο datasheet του αναφερόμενου module. To module αυτό αποτελεί προϊόν της εταιρείας SIMCom. 42
44 Εικόνα 5-12: O μικροελεγκτής Sim800L Εικόνα 5-13 : Το module που χρησιμοποιήθηκε στην υλοποίηση Ας αρχίσουμε να περιγράφουμε την διαδικασία που πρέπει να ακολουθηθεί για την επικοινωνία του GSM/GPRS module με τον εξυπηρετητή. Καταρχάς, για διευκόλυνση της εργασίας επιλέχθηκε να έχουμε μια κάρτα SIM στην οποία έχουμε αφαιρέσει το PIN. Προφανώς το PIN θα μπορούσε να υπάρχει και να ξεκλειδώνεται με μία παραπάνω AT εντολή. Μόλις συνδεθεί η τροφοδοσία στο module αυτό άμεσα και χωρίς κάποια εντολή από μέρους μας συνδέεται στο GSM δίκτυο του παρόχου. Στη συνέχεια μέσω του μικροελεγκτή ΑΤmega328P του Arduino αποστέλλουμε,μέσω Software Serial επικοινωνίας, τις κατάλληλες ΑΤ εντολές στο SIM800L για την επικοινωνία με τον server. Στους πίνακες που ακολουθούν παρουσιάζονται με τη σειρά που χρησιμοποιούνται στην εφαρμογή οι ΑΤ εντολές για καθένα από τα 3 στάδια επικοινωνίας με τον εξυπηρετητή. Στον Πίνακα 5-3 παρουσιάζονται οι εντολές που χρησιμοποιήθηκαν για την σύνδεση στο GPRS δίκτυο του παρόχου. 43
45 AT Εντολές για σύνδεση στο GPRS Δίκτυο at+cgatt=0 Αποσύνδεση από το GPRS δίκτυο (σε περίπτωση που από άλλη συνεδρία ήταν συνδεδεμένο στο GPRS δίκτυο ) at+sapbr=3,1,"contype","gprs" Σύνδεση σε GPRS δίκτυο at+sapbr=3,1,"apn","internet" Σύνδεση σε κάποιο ΑPN (εξαρτάται από την SIM). Η εντολή αυτή αντιστοιχεί στο GPRS δίκτυο της Cosmote. at+sapbr=1,1 Πραγματοποίηση της σύνδεσης στο GPRS δίκτυο at+sapbr=2,1 Λήψη IP που έχει πάρει η συσκευή μας από τον πάροχο Πίνακας 5-3: ΑΤ εντολές για σύνδεση στο GPRS Αφού το module έχει συνδεθεί στο GPRS δίκτυο του παρόχου, προετοιμάζουμε το module για το hhtp request στον εξυπηρετητή. Έτσι του παρέχουμε τις απαραίτητες πληροφορίες, Πίνακας 5-4, όπως το url που θα κάνει POST request και τον τύπο(format) των δεδομένων που θα κάνει POST στον εξυπηρετητή. AT εντολές προετοιμασίας HTTP Request at+httpinit Ξεκίνημα HTTP service at+httppara="url","billioserver.dvrdns.org:500" Ρύθμιση url HTTP Request at+httppara="cid",1 Ρύθμιση παραμέτρου HTTP Request at+httppara ="CONTENT","application/json" Ρύθμιση τύπου δεδομένων HTTP Request Πίνακας 5-4: AT εντολές προετοιμασίας HTTP Request Στον Πίνακα 5-5, δίνουμε τα δεδομένα που θέλουμε να κάνει POST στον εξυπηρετητή και διαβάζουμε την απόκριση του στο request του module. at+httpdata=χ,y at+httpaction=1 at+httpread AT εντολές αποστολής δεδομένων μέσω HTTP Request Αναμονή χ χαρακτήρων προς αποστολή για χρονικό διάστημα y ms Πραγματοποίηση HTTP Request Ανάγνωση δεδομένων απάντησης του εξυπηρετή στο HTTP Request Πίνακας 5-5 : ΑΤ εντολές για αποστολή δεδομένων μέσω ΗΤΤP Request Τέλος,για την πληρότητα της παρουσίασης του SIM800L στον Πίνακα 4-5 παραθέτουμε τα κύρια χαρακτηριστικά του. 44
46 Χαρακτηριστικό Τιμή Τροφοδοσία V Φασματικές περιοχές Quad-band: GSM 850, EGSM 900, DCS 1800, PCS 1900 GPRS Σύνδεση GPRS multi-slot class 1-12 Διαστάσεις 15.8*17.8*2.4mm Βάρος 1.35g Θερμοκρασία Λειτουργίας -40 έως 85 Ρεύμα σε Sleep κατάσταση 0.7 ma Πίνακας 5-6: Χαρακτηριστικά SIM800L module 5.4 Πρωτόκολλα επικοινωνίας υλικού Στις προηγούμενες ενότητες του συγκεκριμένου κεφαλαίου επεξηγήθηκαν αναλυτικά τα υλικά μέρη του συστήματος που υλοποιήθηκε. Στην ενότητα αυτή θα παρουσιαστούν κάποια από τα πρωτόκολλα επικοινωνίας που χρησιμοποιούνται για την επικοινωνία των συσκευών του συστήματος που υλοποιήθηκε και αναφέρονται σε αρκετά σημεία του εγγράφου. Γενικά, οι τρόποι επικοινωνίας μεταξύ ολοκληρωμένων κυκλωμάτων είναι η σειριακή και η παράλληλη επικοινωνία. Στην παράλληλη επικοινωνία όλα τα bits μιας λέξης δεδομένων μεταδίδονται ταυτόχρονα προς το κύκλωμα αποδέκτη. Βασικό πλεονέκτημα της παράλληλης μετάδοσης είναι ο μικρός χρόνος μεταφοράς δεδομένων, με ταυτόχρονη όμως αύξηση των αγωγών που απαιτούνται. Η παράλληλη επικοινωνία χρησιμοποιείται κυρίως στο εσωτερικό των ολοκληρωμένων κυκλωμάτων, όπου απαιτούνται αρκετά υψηλές ταχύτητες μεταφοράς δεδομένων. Για την επικοινωνία με άλλα ολοκληρωμένα κυκλώματα ή περιφερειακά πιο διαδομένη είναι η σειριακή μετάδοση δεδομένων. Τα πρωτόκολλα επικοινωνίας που χρησιμοποιούνται για την διασύνδεση των συσκευών στο σύστημα που υλοποιήθηκε είναι: SPI UART USB Software Serial Παρατηρούμε ότι τα πρωτόκολλα αυτά ακολουθούν τη σειριακή μετάδοση δεδομένων. 45
47 5.4.1 SPI (Serial Peripheral Interface Bus) Tο SPI αναπτύχθηκε με σκοπό την εύκολη επικοινωνία μεταξύ ολοκληρωμένων και τον καλύτερο τρόπο διασύνδεσης των περιφερειακών μονάδων και των μικροελεγκτών μεταξύ τους. To πρωτόκολλο SPI ή Serial Peripheral Interface Βus επιτρέπει την σειριακή σύγχρονη επικοινωνία μεταξύ ολοκληρωμένων. Η επικοινωνία αυτή είναι αμφίδρομη. Ο δίαυλος υλοποιήθηκε για πρώτη φορά από την εταιρία Motorola. Οι συσκευές επικοινωνούν μεταξύ τους σε mode Master/Slave. O Master του διαύλου είναι το ολοκληρωμένο που παράγει το frame των δεδομένων και το μεταδίδει προς τα ολοκληρωμένα slave. Σε έναν SPI δίαυλο μπορούν να διασυνδεθούν περισσότερες από μία συσκευές slave χρησιμοποιώντας τις γραμμές Chip Select. Το SPI αποκαλείται και "σειριακός δίαυλος 4 καλωδίων". Το SPI επιτρέπει σε δεδομένα των 8-bits να αποστέλλονται σύγχρονα και ταυτόχρονα να λαμβάνονται σύγχρονα δεδομένα με ταχύτητα που φτάνει το 1Mbps. Μια τυπική θύρα σειριακής επικοινωνίας SPI διαθέτει τα ακόλουθα σήματα: MISO: (Serial Data Output Signal) Σήμα εξόδου σειριακών δεδομένων MOSI: (Serial Data Output Signal ) Σήμα εισόδου σειριακών δεδομένων SCK: (Serial Clock) Σήμα Χρονισμού Σήμα επιλογής Σε όλες τις μεταφορές στο SPI το ψηφίο υψηλότερης αξίας στέλνεται πρώτο. Εικόνα 5-14 : Απλό παράδειγμα ενός SPI διαύλου Τα κύρια χαρακτηριστικά του SPI είναι: 1) Επιτρέπει τη σύγχρονη επικοινωνία 2) Είναι σειριακό 3) Είναι πλήρως αμφίδρομο (full-duplex) 4) Υπάρχει μόνο ένας Master στο δίαυλο 5) Υπάρχουν ένας ή περισσότεροι Slaves στο δίαυλο USB (Universal Serial Bus) Ένα σύστημα USB έχει ασύμμετρο σχεδιασμό, που αποτελείται από μια υποδοχή (host), ένα πλήθος θυρών USB από κάτω και πολλαπλάσιων περιφερειακών συσκευών, που συνδέονται σε μια συσκευή. Πρόσθετοι κατανεμητές USB μπορούν 46
48 να περιληφθούν σε σειρές, επιτρέποντας τη διακλάδωση σε μια σειρά από υποδοχές, υπό τον όρο ότι δεν ξεπερνά το όριο πέντε συνδέσεων. Οι συσκευές USB συνδέονται μαζικά μέσω των θυρών. Πάντα υπάρχει ένας κατανεμητής (hub) γνωστός ως αρχικός κατανεμητής, ο οποίος είναι ενσωματωμένος στον ελεγκτή εισόδων. Υπάρχει και ο «διαμοιραστής» επιτρέποντας στους πολλαπλάσιους υπολογιστές να έχουν πρόσβαση στην ίδια περιφερειακή συσκευή, είτε μεταξύ των PC αυτόματα είτε χειροκίνητα. Εικόνα 5-15 : Σύνδεση USB συσκευής Τα άκρα του USB βρίσκονται στην συσκευή που συνδέεται: τα κανάλια προς την υποδοχή ονομάζονται σωληνώσεις (pipes). Η επικοινωνία των συσκευών USB είναι βασισμένη πάνω σε κανάλια. Τα κανάλια είναι συνδέσεις από την υποδοχή που καταλήγουν στη συσκευή και ονομάζεται άκρο (endpoint). Επίσης, το άκρο χρησιμοποιείται περιστασιακά για να αναφερθεί στο «κανάλι». Μια συσκευή USB μπορεί να έχει μέχρι 32 συνολικά ενεργά κανάλια, 16 στην υποδοχή και 16 από στον ελεγκτή. Κάθε άκρο μπορεί να μεταφέρει δεδομένα σε μια κατεύθυνση μόνο, είτε μέσα είτε έξω από τη συσκευή, και έτσι κάθε κανάλι είναι ομοιοκατευθυνόμενο. Τα άκρα αυτά ομαδοποιούνται στις διεπαφές και κάθε διεπαφή συνδέεται με μια ενιαία λειτουργία συσκευών. Μια εξαίρεση σε αυτό είναι το άκρο μηδέν, το οποίο χρησιμοποιείται για τη διαμόρφωση των συσκευών και δεν συνδέεται με καμία διεπαφή. Όταν μια νέα συσκευή USB συνδέεται με μια υποδοχή, αρχίζει η διαδικασία απαρίθμησης USB. Η απαρίθμηση υφίσταται αρχικά επεξεργασία και μετά στέλνει ένα σήμα αναστοιχειοθέτησης στη συσκευή USB. Η ταχύτητα της συσκευής USB καθορίζεται κατά τη διάρκεια της σηματοδότησης. Μετά από την αναστοιχειοθέτηση, οι πληροφορίες της κάθε USB διαβάζονται από τη συσκευή μέσω της υποδοχής της και αποδίδεται μία συγκεκριμένη διεύθυνση εύρους επτά bit στον ελεγκτή. Εάν η συσκευή υποστηρίζεται σωστά από την υποδοχή της, τότε οι πληροφορίες, φορτώνονται και η συσκευή τίθεται σε κατάσταση διαμόρφωσης. Εάν 47
49 η υποδοχή USB επανεκκινήσει, η διαδικασία απαρίθμησης επαναλαμβάνεται για όλες τις συνδεδεμένες συσκευές. Ο ελεγκτής υποδοχών καθορίζει το δίαυλο για την επικοινωνία και συνήθως έχει κυκλική μορφή. Έτσι, καμία συσκευή USB δεν μπορεί να μεταφέρει οποιαδήποτε δεδομένα, όσον αφορά στο δίαυλο, χωρίς ένα ρητό αίτημα από την υποδοχή της UART (Universal Asynchronous Receiver/Transmitter) Το UART πρωτόκολλο ορίζει την σειριακή μεταφορά δεδομένων μεταξύ δύο συσκευών με ασύγχρονο τρόπο, δηλαδή η αρχή και το τέλος της επικοινωνίας δηλώνεται με bits έναρξης και λήψης, απαίτηση που δεν υπάρχει όταν η επικοινωνία είναι σύγχρονη. Στον τρόπο επικοινωνίας με UART, οι δύο θύρες των συσκευών συνδέονται απευθείας μεταξύ τους. Η προς μετάδοση δεδομένων σειριακή θύρα μετατρέπει τα παράλληλα δεδομένα που προέρχονται από την κεντρική μονάδα επεξεργασίας σε σειριακή μορφή, όπου πλέον bit προς bit καταφθάνουν στην σειριακή που λαμβάνει δεδομένα σε κάποιο ξεχωριστό ολοκληρωμένο κύκλωμα, όπου με την άφιξη ενός ολόκληρου χαρακτήρα τα μεταδίδει προς την κεντρική μονάδα επεξεργασίας του χρησιμοποιώντας την παράλληλη μετάδοση. Σύμφωνα με το πρωτόκολλο,η επικοινωνία ξεκινά με ένα bit έναρξης που είναι σε κατάσταση διαφορετική από την κατάσταση αδράνειας της γραμμής μεταφοράς δεδομένων, το οποίο ακολουθούν 5 έως 8 bits δεδομένων με το λιγότερο σημαντικό bit πρώτο, ένα προαιρετικό bit ισοτιμίας και ένα με 2 bits τερματισμού, που είναι σε κατάσταση ίδια με την κατάσταση αδράνειας της γραμμής. Εικόνα 5-16: Πλαίσιο δεδομένων UART Το bit ισοτιμίας χρησιμοποιείται για τον έλεγχο της σωστής μετάδοσης των δεδομένων. Όταν έχει επιλεχθεί η άρτια ισοτιμία, το bit αυτό είναι τέτοιο ώστε το πλήθος των μονάδων που περιλαμβάνονται στα bits των δεδομένων και το bit ισοτιμίας να είναι άρτιο. Αντίστοιχα ισχύουν και την περιττή ισοτιμία, η οποία είναι και προτιμότερη καθώς επιβάλλει τουλάχιστον μια μεταβολή στο επίπεδο της τάσης της γραμμής δεδομένων επιτρέποντας έτσι τον καλύτερο συγχρονισμό συσκευών. Η επιμήκυνση της διάρκειας του bit τερματισμού δίνει χρόνο στο δέκτη να επεξεργαστεί το μήνυμα πριν αρχίσει η μετάδοση ενός επόμενου μηνύματος. Ο όρος «Universal» στο UART αναφέρεται στη δυνατότητα επιλογής του ρυθμού μεταφοράς δεδομένων ώστε να επιτρέπεται η επικοινωνία συσκευών με διαφορετικές δυνατότητες ταχύτητας επεξεργασίας. 48
50 5.4.4 Software Serial Η πλακέτα Arduino παρέχει τη δυνατότητα σειριακής επικοινωνίας στα pins 0 και 1 (τα οποία όμως συνδέονται και με τον ηλεκτρονικό υπολογιστή μέσω USB σύνδεσης). Η υποστήριξη της σειριακής επικοινωνίας στο Arduino πραγματοποιείται μέσω της UART μονάδας, η οποία εφαρμόζει το πρωτόκολλο επικοινωνίας που παρουσιάστηκε στην προηγούμενη ενότητα. Η μονάδα αυτή επιτρέπει στον ATmega να επικοινωνεί σειριακά ακόμα και όταν κάνει άλλες διεργασίες. Συνήθως οι από κατασκευής της πλακέτας σειριακές μονάδες UART δε φτάνουν να καλύψουν τις ανάγκες του συστήματος για επικοινωνία μεταξύ των συσκευών του. Για παράδειγμα στην πλακέτα Arduino Uno που χρησιμοποιείται για την υλοποίηση του συστήματος υπάρχει μόνο μια UART μονάδα, η οποία επικοινωνεί σειριακά με τον υπολογιστή για την αποσφαλμάτωση του προγράμματος μας. Έτσι για να καλυφθεί αυτό το κενό επικοινωνίας χρησιμοποιείται λογισμικό για την πραγματοποίηση της σειριακής διασύνδεσης. Για το λόγο αυτό έχει αναπτυχθεί η SoftwareSerial Library, η οποία επιτρέπει τη σειριακή επικοινωνία κάνοντας χρήση δύο οποιοδήποτε ψηφιακών θυρών του Arduino. Με τον τρόπο αυτό είναι δυνατό να έχουμε περισσότερες σειριακές θύρες με ταχύτητες μεταφοράς δεδομένων πάνω από bps. Εικόνα 5-17 : Χρήση Software Serial επικοινωνίας με το SIM800L 49
51 5.5 Τροφοδοσία Ένα από τα πιο σημαντικά κομμάτια λειτουργίας του συστήματος αποτελεί η τροφοδοσία. Είναι επιτακτικό να βρούμε μια φόρμουλα με την οποία μέσα σε ένα περιβάλλον οχήματος (περιορισμένες πηγές τροφοδοσίας, υψηλές τάσεις για τα δεδομένα ολοκληρωμένων κυκλωμάτων ) θα εξασφαλίζεται η αυτονομία του συστήματος. Στην παρούσα εκδοχή του συστήματος για την τροφοδοσία του Arduino χρησιμοποιήθηκε η τροφοδοσία από την θύρα USB λάπτοπ. Σε περίπτωση απουσίας του λάπτοπ θα μπορούσε να χρησιμοποιηθεί κάποια από τις θύρες USB του οχήματος (τα καινούργια οχήματα παρέχουν θύρες USB). Η τροφοδοσία της πλακέτας από μια θύρα USB δε μας δημιουργεί κανένα πρόβλημα αφού η απαίτηση της πλακέτας σε ισχύ είναι μικρή και μπορεί άνετα να καλυφθεί από τη θύρα. Η τροφοδοσία του SIM800L module δε μπορεί να καλυφθεί από την ισχύ που παρέχει η θύρα στο Arduino κι αυτό διότι παρά την χαμηλή απαίτηση του module σε τάση, κοντά στα 4 V, το ρεύμα που μπορεί να τραβήξει για την κανονική του λειτουργία μπορεί να φτάσει μέχρι και τα 2 Α. Έχοντας ως στόχο την κάλυψη της ισχύος του SIM800L θα χρησιμοποιηθεί η μπαταρία του αυτοκινήτου. Η τάση της μπαταρίας του οχήματος είναι αρκετά υψηλή για την λειτουργία του module. Για το λόγο αυτό υλοποιήθηκε ένα interface για την παροχή τροφοδοσίας από την μπαταρία του οχήματος σύμφωνες με τις απαιτήσεις λειτουργίας του. Για την πρόσβαση στην τάση της μπαταρίας χρησιμοποιήθηκε ένα βύσμα αναπτήρα αυτοκινήτου, όπως αυτό στην Εικόνα Εικόνα 5-18: Βύσμα αναπτήρα αυτοκινήτου Για την ρύθμιση της τάσης του κυκλώματος στην απαιτούμενη τάση των 4 V περίπου, χρησιμοποιήθηκε ένα κύκλωμα ρυθμιστή τάσης, όπως φαίνεται στην Εικόνα Ο ρυθμιστής τάσης που χρησιμοποιήθηκε είναι ο LM317T. 50
52 Εικόνα 5-19: Κύκλωμα ρυθμιστή τάσης & LM317T Η τάση εξόδου του ρυθμιστή δίνεται από τη σχέση: V OUT = 1.25 * ( 1 + R2/R1 ). Στην παρούσα εφαρμογή χρησιμοποιήθηκαν οι αντιστάσεις R1 = 220 Ω και R2 = 470 Ω για να πάρουμε μια έξοδο στα 3.92 V, η οποία εν τέλει θα τροφοδοτήσει το SIM800L 5.6 Η τελική μορφή του υλικού μέρους που υλοποιήθηκε Εικόνα 5-20: Τελική μορφή υλικού μέρους που υλοποιήθηκε 51
53 Κεφα λαιο 6 6 Αρχιτεκτονική τριών επιπέδων Στο κεφάλαιο αυτό θα δοθούν οι αναγκαίες λεπτομέρειες για τη δομή της αρχιτεκτονικής του συστήματος που επιλέχθηκε, το framework που χρησιμοποιήθηκε για τον εξυπηρετητή, το μοντέλο της βάσης δεδομένων καθώς και τα πρωτόκολλα επικοινωνίας για τη διασύνδεση των μερών του συστήματος. 6.1 Εισαγωγή Σαν αρχιτεκτονική ενός πληροφοριακού συστήματος θα μπορούσε να οριστεί η δομή, η συμπεριφορά και οι όψεις των διασυνδεμένων συσκευών, εφαρμογών και πόρων του. Οι κυριότερες αρχιτεκτονικές πληροφοριακών συστημάτων είναι οι ακόλουθες: Client-server (2-tiers) P2P(Peer to Peer) Αρχιτεκτονική τριών επιπέδων (3-Tier Architecture) Service Oriented Architecture (SOA) MVC (Model View Controller) Στην παρούσα υλοποίηση επιλέγεται η αρχιτεκτονική τριών επιπέδων. Η αρχιτεκτονική τριών επιπέδων (3-tier architecture) παρέχει αρκετά πλεονεκτήματα, όπως την ελαχιστοποίηση της επιβάρυνσης του δικτύου λόγω μεταφοράς μεγάλου όγκου δεδομένων, τη δυνατότητα διαχωρισμού του εξυπηρετητή δεδομένων (Database Server) από τους εξυπηρετητές της εφαρμογής (Application Servers) ώστε να εκτελούνται σε διαφορετικά μηχανήματα, καθώς επίσης και μέγιστη ευελιξία στην επιλογή του εξυπηρετητή δεδομένων, αφού είναι δυνατή η χρήση οποιουδήποτε λειτουργικού συστήματος. Τα πλεονεκτήματα της αρχιτεκτονικής αυτής είναι ιδιαίτερα χρήσιμα. Καταρχάς, ελαχιστοποιείται η επεξεργαστική ισχύ που απαιτείται από τη μεριά της εφαρμογής του χρήστη και διασφαλίζεται η μη αποστολή μεγάλου όγκου δεδομένων, που βρίσκονται πλέον αποθηκευμένα σε έναν Database Server. Επιπλέον, ο διαχωρισμός των επιπέδων και η ευελιξία στην επιλογή λογισμικού του εξυπηρετητή δεδομένων παρέχουν τη δυνατότητα σε περιόδους αναβάθμισης ή ακόμη και αντικατάστασης 52
54 ενός από τα επίπεδα (λόγω τον ραγδαίων τεχνολογικών εξελίξεων) να μην είναι αναγκαία η ανανέωση του λογισμικού και των άλλων επιπέδων. Η πιο ευρέως διαδεδομένη μορφή της αρχιτεκτονικής τριών επιπέδων,όπως φαίνεται στην Εικόνα 6-1, αποτελείται από ένα επίπεδο παρουσίασης, ένα επίπεδο επεξεργασίας και από ένα επίπεδο διαχείρισης και αποθήκευσης των δεδομένων. Τα επίπεδα αυτά μπορούν να είναι τελείως ανεξάρτητα μεταξύ τους (να τρέχουν πάνω σε διαφορά φυσικά συστήματα δηλαδή). Για παράδειγμα το επίπεδο παρουσίασης μπορεί να είναι σε Android, το επίπεδο επεξεργασίας να τρέχει σε Linux λογισμικό και το επίπεδο διαχείρισης και αποθήκευσης σε SQL λογισμικό. Εικόνα 6-1: Παράδειγμα αρχιτεκτονικής τριών επιπέδων Στη συνέχεια παρατίθενται σύντομα τα τρία επίπεδα: Επίπεδο Παρουσίασης: Αποτελεί ουσιαστικά το γραφικό περιβάλλον διεπαφής (GUI) που βρίσκεται εγκαταστημένο στην συσκευή του χρήστη. Το επίπεδο 53
55 παρουσίασης είναι ουσιαστικά ο διαμεσολαβητής επικοινωνίας του χρήστη με τα άλλα 2 επίπεδα και πιο συγκεκριμένα επικοινωνεί με το επίπεδο επεξεργασίας μέσω των αιτημάτων που αποστέλλονται από την αλληλεπίδραση του χρήστη με το γραφικό περιβάλλον του επιπέδου παρουσίασης. Επίπεδο Επεξεργασίας: Από φυσικής πλευράς βρίσκεται στον Application Server. Στο επίπεδο αυτό λαμβάνονται τα αιτήματα από τους χρήστες και πραγματοποιείται η επεξεργασία των δεδομένων για να απαντήσει ο server στα αιτήματα αυτά. Το επίπεδο αυτό απαιτεί αρκετά μεγάλη επεξεργαστική ισχύ και ταχύτητα δικτύου αφού πρέπει να αποκριθεί στα αιτήματα αρκετών clients χωρίς καθυστέρηση. Επίπεδο Δεδομένων: Στο επίπεδο αυτό περιλαμβάνονται οι servers των δεδομένων που επικοινωνούν με το Επίπεδο Επεξεργασίας και του παρέχουν τα δεδομένα που ζητούνται. Η πιο συνήθης μορφή επικοινωνίας μεταξύ των δύο αυτών επιπέδων πραγματοποιείται μέσω της διεπαφής προγραμματισμού εφαρμογών (API), η οποία τυποποιεί τον τρόπο επικοινωνίας των δύο επιπέδων,επιτρέποντας έτσι αλλαγές ή αναβάθμιση στο ένα χωρίς καμία επίδραση στο άλλο. Ας δούμε τώρα τις λειτουργίες που επιτελούν στην αρχιτεκτονική του συστήματος οι συσκευές που χρησιμοποιήθηκαν. Interface Οχήματος: Έχει το ρόλο του client του συστήματος. Κύρια λειτουργία του αποτελεί η αποστολή δεδομένων από το CAN bus του οχήματος στον server. Εφαρμογή «έξυπνου» κινητού: Έχει κι αυτή ρόλο client στο σύστημα με κύρια λειτουργία την απεικόνιση των δεδομένων που λαμβάνει ο server, αλλά και την αποστολή εντολών προς αυτόν. Raspberry Pi: Αποτελεί τον εξυπηρετητή του συστήματος στον οποίο τρέχει το framework που διαχειρίζεται τα αιτήματα τον clients.είναι επίσης υπεύθυνος για την αποθήκευση τον δεδομένων στη βάση καθώς επίσης και για τη διενέργεια ερωτημάτων σ αυτή. 6.2 Raspberry Pi Αφού στο Κεφάλαιο 5 δόθηκαν εκτενώς τα χαρακτηριστικά του υλικού του interface του οχήματος, στην ενότητα αυτή θα παρουσιαστούν τα χαρακτηριστικά του «εγκεφάλου» του συστήματος που υλοποιήθηκε. Ο «εγκέφαλος» του συστήματος 54
56 δεν είναι άλλος από τον εξυπηρετητή που υλοποιείται μέσω του μικροϋπολογιστή Raspberry Pi. To Raspberry Pi αποτελεί ένα πλήρη μικροϋπολογιστή σε μέγεθος πιστωτικής κάρτας,ο οποίος προσφέρει πλήθος υπηρεσιών. Θα μπορούσε να πει κάποιος ότι πλέον διαθέτει επεξεργαστικές δυνατότητες ανάλογες ενός Desktop ηλεκτρονικού υπολογιστή. Η συγκεκριμένη υλοποίηση πραγματοποιήθηκε με το μοντέλο του Raspberry Pi 3 Model B. Το εν λόγω μοντέλο φαίνεται στην Εικόνα 6-2. Εικόνα 6-2: Το Raspberry Pi 3 Model B Το δημοφιλέστερο λειτουργικό σύστημα ονομάζεται Raspbian και φυσικά βασίζεται στο Linux. Επίσης υπάρχουν και άλλα λειτουργικά συστήματα ειδικά σχεδιασμένα για το Raspberry Pi όπως Ubuntu, Windows 10 IOT Core και RISC OS. Τα βασικά τεχνικά χαρακτηριστικά του δίνονται στον παρακάτω πίνακα. Χαρακτηριστικό SoC CPU GPU RAM Networking Bluetooth Storage GPIO Ports Πίνακας 6-1: Βασικά Τεχνικά Χαρακτητριστικά Raspberry Pi 3 Model B Τιμή Broadcom BCM ARM Cortex-A53, 1.2GHz Broadcom VideoCore IV 1GB LPDDR2 (900 MHz) 10/100 Ethernet, 2.4GHz n wireless Bluetooth 4.1 Classic, Bluetooth Low Energy microsd 40-pin header 3.5mm analogue audio-video jack, 4 USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI) 55
57 Τέλος, θα δώσουμε τα βασικά πλεονεκτήματα του Raspberry Pi: 1) Υποστήριξη UNIX λειτουργικών συστημάτων 2) Υποστήριξη πλήθους frameworks 3) Σημαντική επεξεργαστική ισχύς 4) Δυνατότητα ασφαλούς απομακρυσμένου ελέγχου μέσω SSH πρωτοκόλλου 5) Συνδεσιμότητα μέσω Wi-Fi, Ethernet και Bluetooth 6) Καταλληλότητα για αρχάριους 7) Χαμηλό κόστος Βέβαια, θα πρέπει να τονίσουμε πως η χρήση του Raspberry Pi προτείνεται κυρίως για ερασιτεχνικές εφαρμογές και για λόγους εκμάθησης. Για μια επαγγελματική εφαρμογή θα συστηνόταν η χρήση μιας πιο ισχυρής υπολογιστικής μονάδας. 6.3 Διασύνδεση Προγραμματισμού Εφαρμογών Ένα πρόβλημα που πρέπει να επιλυθεί σε μια αρχιτεκτονική τριών επιπέδων αποτελεί η διαλειτουργικότητα των υπολογιστικών πόρων που συμμετέχουν στην αρχιτεκτονική. Εν ολίγοις, τα δεδομένα που μεταφέρονται μεταξύ των διαφόρων υπολογιστικών μονάδων του συστήματος οφείλουν να ακολουθούν ένα κοινό format ώστε να γίνονται αντιληπτά και κατανοητά από τις εφαρμογές των υπολογιστικών μονάδων. Με τον τρόπο αυτό καθίσταται δυνατή η ανταλλαγή δεδομένων μεταξύ των εφαρμογών των μονάδων, ανεξάρτητα ποιος είναι ο developer της εφαρμογής και σε ποια γλώσσα αναπτύσσει την εφαρμογή. Μια καλή λύση διασύνδεσης μεταξύ υπολογιστικών συστημάτων αποτελούν τα RESTful web services. Μέσω των services αυτών επιτρέπεται η αίτηση και η πρόσβαση σε διαδικτυακούς πόρους που βρίσκονται σε μια προκαθορισμένη μορφή κειμένου. Οι πιο διαδομένες μορφές είναι η JSON και η XML. Κάθε διαδικτυακός πόρος διαθέτει ένα μοναδικό URI (Unique Resource Identifier), στο οποίο αποστέλλεται η αίτηση (request) μέσω HTTP πρωτοκόλλου. Οι πιο κοινές μέθοδοι HTTP request είναι οι: GET: Χρησιμοποιείται για την αποστολή αιτήματος λήψης δεδομένων από τον server HEAD:Παρόμοια με την GET POST: Χρησιμοποιείται για την αποστολή δεδομένων στο server PUT: Αντικαθιστά όλα τα περιεχόμενα του URI με τα δεδομένα που ανεβάζει στο server CONNECT: Δημιουργεί μια σύνδεση μεταξύ του server και του πόρου με το συγκεκριμένο URI 56
58 Για την λειτουργικότητα του συστήματος που υλοποιήθηκε χρειάστηκε να δημιουργηθούν δύο URIs. Μέσω αυτών, το interface του οχήματος είναι σε θέση να στείλει δεδομένα (POST Request), αλλά και ο χρήστης μέσω της εφαρμογής να κατεβάσει τα live δεδομένα (GET Request). Παρακάτω απεικονίζονται τα δεδομένα της τελευταίας χρονικά μέτρησης που εισήχθη στη βάση δεδομένων. Τα δεδομένα είναι σε μορφή κειμένου JSON. Κάνοντας ένα HTTP GET Request στον παρακάτω σύνδεσμο παίρνουμε τα δεδομένα της Εικόνας Εικόνα 6-3 : Τελευταία μέτρηση σε JSON Format Στην Εικόνα 6-4 απεικονίζεται η συνάρτηση του interface οχήματος που κάνει POST Request τα δεδομένα στον server στο ακόλουθο URI. Εικόνα 6-4: Post Request JSON δεδομένων από το interface οχήματος 57
59 Στο HTTP πρωτόκολλο ορίζονται κάποιοι κωδικοί που δηλώνουν την επιτυχία ή αποτυχία ενός request. HTTP Κωδικός Απάντησης 20x Σημασία Επιτυχείς κωδικοί Το αίτημα εξυπηρετήθηκε σωστά. Αυτός 200 είναι ο εξ ορισμού κωδικός για όλα τα αιτήματα HTTP 201 Το αίτημα έχει ολοκληρωθεί, και μια νέα πηγή έχει δημιουργηθεί 30x Κωδικοί Ανακατεύθυνσης 4xx Σφάλματα client 400 Το αίτημα δεν μπορεί να ολοκληρωθεί λόγο κακής σύνταξης του 403 Το αίτημα ήταν νόμιμο, αλλά ο server αρνείται να απαντήσει σε αυτό το αίτημα 404 Η σελίδα που ζήτησε ο web browser δεν υπάρχει, αλλά μπορεί να είναι διαθέσιμη ξανά κάποια στιγμή στο μέλλον 5xx Σφάλματα του server 505 Ο Server δεν υποστηρίζει την έκδοση του HTTP πρωτοκόλλου που χρησιμοποιεί η αίτηση Πίνακας 6-2: Συνήθεις HΤΤP κωδικοί και η σημασία τους Τέλος, θα πρέπει να επισημανθεί η διεύθυνση URL του η billioserver.dvrdns.org και 500 είναι η πόρτα του server από την οποία διέρχονται τα δεδομένα. Οποιοδήποτε άλλο request γίνει σε διαφορετική πόρτα του server απορρίπτεται από τον τοπικό δρομολογητή. 6.4 Βάση Δεδομένων Η βάση δεδομένων βρίσκεται στον server και έχει αναπτυχθεί στη γλώσσα MySQL. Στη βάση αποθηκεύονται τα στοιχεία των οχημάτων και οι μετρήσεις που συλλέγονται από αυτά. Έτσι σχεδιάσθηκαν οι δύο παρακάτω πίνακες της βάσης. Πίνακας VEHICLE Γνώρισμα ID BRAND OWNER_FIRST_NAME OWNER_LAST_NAME Πίνακας 6-3 : Γνωρίσματα πίνακα VEHICLE Επεξήγηση Αναγνωριστικό οχήματος Μοντέλο οχήματος Όνομα ιδιοκτήτη Επώνυμο ιδιοκτήτη 58
60 Πίνακας MEASUREMENTS Γνώρισμα ROYTE_ID VEHICLE_ID MEASUREMENT_DATE_TIME COOL_TEMP MAF_PRESSURE RPM SPEED THROTTLE LAT LON Πίνακας 6-4 : Γνωρίσματα πίνακα MEASUREMENTS Επεξήγηση Αναγνωριστικό διαδρομής Αναγνωριστικό Οχήματος Ημερομηνία και ώρα μέτρησης Θερμοκρασία ψυκτικού υγρού κινητήρα Πίεση βαλβίδας αέρα Ροπή κινητήρα Ταχύτητα οχήματος Ποσοστό % πίεσης γκαζιού Τετμημένη τοποθεσίας οχήματος Τεταγμένη τοποθεσίας οχήματος Ακολουθεί το διάγραμμα οντοτήτων συσχετίσεων της βάσης που υλοποιήθηκε. Εικόνα 6-5 : Διάγραμμα οντοτήτων-συσχετίσεων Τέλος, παρατίθεται το σχεσιακό μοντέλο της βάσης στην Εικόνα
61 Εικόνα 6-6 : Σχεσιακό μοντέλο βάσης δεδομένων 6.5 Flask Framework Το Flask είναι ένα διαδικτυακό framework που παρέχει στον developer εργαλεία, βιβλιοθήκες και τεχνολογίες για την ανάπτυξη μιας διαδικτυακής εφαρμογής. Αυτή η εφαρμογή μπορεί να κάποια απλή ιστοσελίδα, ένα blog, μια εφαρμογή διαμεσολαβητής για δεδομένα (όπως στην παρούσα υλοποίηση) κ.α. To 2016 ήταν το δημοφιλέστερο Python framework στο GitHub. Ανήκει στην κατηγορία των micro-frameworks. Ως micro-frameworks ορίζονται τα frameworks με μικρή έως ελάχιστη εξάρτηση με εξωτερικές βιβλιοθήκες. Αυτό έχει και πλεονεκτήματα και μειονεκτήματα. Στα πλεονεκτήματα του framework συγκαταλέγονται: είναι αρκετά «ελαφρύ» και μπορεί να υποστηριχθεί από υπολογιστικές μονάδες χαμηλής επεξεργαστικής ισχύος, η δυνατότητα του για υποστήριξη multi-thread εφαρμογών και το κυριότερο η απλότητα και ευκολία στην ανάπτυξη εφαρμογών με τη χρήση της γλώσσας προγραμματισμού Python. Αντίθετα στα μειονεκτήματα του λογίζονται: υπάρχουν λίγες εξαρτήσεις(dependencies) για την ενημέρωση και την παρακολούθηση των σφαλμάτων ασφαλείας, αδυναμία υποστήριξης μεγάλης έκτασης εφαρμογών, 60
62 περισσότερη δουλειά τον developer λόγω του ότι δεν υπάρχουν πολλά έτοιμα προς χρήση plugins Χαρακτηριστικά Flask Framework Περιλαμβάνει server και debugger Ενσωματωμένη υποστήριξη για unit testing RESTful API Jinja2 Templates Υποστήριξη ασφαλών cookies(συνεδρίες χρήστη) 100% συμβατότητα με το WSGI 1.0 Συμβατό με Google App Engine Εκτενές documentation Πίνακας 6-5 : Χαρακτηριστικά Flask Framework Συμπερασματικά, θα μπορούσαμε να πούμε ότι το Flask αποτελεί ένα πολύ ισχυρό εργαλείο για την ανάπτυξη web εφαρμογών σε μικρό χρονικό διάστημα και για την εξοικείωση ενός νέου developer με την τεχνολογία των Frameworks. Το συγκεκριμένο framework χρησιμοποιείται από χιλιάδες developers ανά τον κόσμο σε πλήθος ερευνητικών κυρίως εφαρμογών. 61
63 Κεφα λαιο 7 7 Ανάπτυξη εφαρμογής σε περιβάλλον Android Η τελική φάση της εργασίας αποτελεί την ανάπτυξη του λογισμικού εκείνου που θα παρέχει τη δυνατότητα στο χρήστη να μπορεί να δει live στο κινητό του τις μετρήσεις από το όχημά του. Έτσι, επιλέχθηκε η ανάπτυξη εφαρμογής σε προγραμματιστικό περιβάλλον Android κύριο σκοπό την παρουσίαση σε πραγματικό χρόνο μετρήσεων από ένα όχημα. 7.1 Λειτουργικές απαιτήσεις Η εφαρμογή που αναπτύχθηκε είναι σχετικά απλή με κύριο στόχο την παρουσίαση δεδομένων σε μορφή κατανοητή από τον χρήστη. Στην εν λόγω εφαρμογή θα μπορούσαν να προστεθούν μια πληθώρα από λειτουργικότητες. Οι λειτουργικές απαιτήσεις που καλύφθηκαν από την παρούσα εργασία παρουσιάζονται παρακάτω: O χρήστης πρέπει να μπορεί να δει την ταχύτητα, τη ροπή του κινητήρα, το ποσοστό πίεσης του γκαζιού, τη θερμοκρασία του ψυκτικού υγρού του κινητήρα και την πίεση στη βαλβίδα αέρα. Ο χρήστης πρέπει να μπορεί να δει τα δεδομένα αυτά σε πραγματικό χρόνο. Ο χρήστης πρέπει να μπορεί να δει την κατάσταση της απομακρυσμένης σύνδεσης του οχήματος του. Ο χρήστης πρέπει να μπορεί να δει σε πραγματικό χρόνο το γράφημα καθ ενός από τα δεδομένα. Ο χρήστης πρέπει να μπορεί να δει σε πραγματικό χρόνο την αναπαράσταση του ταχυμέτρου του οχήματος. 7.2 Χρήστες και εξωτερικά συστήματα Χρήστης Ο χρήστης μπορεί να είναι οποιοσδήποτε έχει στην κατοχή του ένα όχημα, όχι απαραίτητα αυτοκίνητο (θα μπορούσε τρακτέρ, φορτηγό κλπ), και ένα κινητό 62
64 τηλέφωνο που λειτουργεί με λογισμικό Android. Ο χρήστης μέσω της εφαρμογής που αναπτύχθηκε έχει τη δυνατότητα της πρόσβασης σε δεδομένα του ηλεκτρονικού δικτύου του αυτοκινήτου του σε πραγματικό χρόνο Interface Οχήματος Για την λειτουργία της εφαρμογής είναι προφανές ότι ο χρήστης θα πρέπει να έχει προμηθευτεί ένα interface οχήματος. Σε διαφορετική περίπτωση δε θα μπορεί να λάβει δεδομένα. To interface οχήματος λαμβάνει τα δεδομένα από το CAN bus δίκτυο του αυτοκινήτου και τα αποστέλλει μέσω GPRS στον εξυπηρετητή του συστήματος Βάση Δεδομένων Το σύστημα μας διαθέτει μια βάση δεδομένων. Στη βάση αποθηκεύονται τα δεδομένα που αποστέλλονται από το interface οχήματος, όπως επίσης τα στοιχεία του οχήματος και του ιδιοκτήτη του. Η βάση δεδομένων βρίσκεται στον server του συστήματος και απαντά στα ερωτήματα του χρήστη για δεδομένα. 7.3 Διάγραμμα σεναρίων χρήσης Εικόνα 7-1 : Διάγραμμα σεναρίων χρήσης εφαρμογής 63
65 7.4 Γραφικά Παράθυρα Εφαρμογής Εικόνα 7-2: Αρχική Σελίδα Εφαρμογής Εικόνα 7-3: Μενού επιλογών & Αναπαράσταση της Live ταχύτητας σε κοντέρ 64
66 Εικόνα 7-4: Live Διάγραμμα Ταχύτητας και Ροπής Κινητήρα Εικόνα 7-5: Live Διάγραμμα Θερμοκρασίας Κινητήρα & Θέσης Γκαζιού 65
67 Κεφα λαιο 8 8 Ενδεικτικές μετρήσεις από το CAN bus δίκτυο αυτοκινήτου Όπως αναφέρθηκε στο κεφάλαιο 4 ένας από τους στόχους του συστήματος αποτελεί η καταγραφή δεδομένων του δικτύου ενός οχήματος σε SD κάρτα. Στις επόμενες ενότητες παρουσιάζονται σε διαγράμματα μετρήσεις που καταγράφηκαν από το σύστημα που υλοποιήθηκε. Οι μετρήσεις έγιναν για μια διαδρομή περίπου 11,5 λεπτών στους δρόμους γύρω από το ΑΠΘ. 8.1 Γραφήματα μετρήσεων δεδομένων αυτοκινήτου Εικόνα 8-1: Γράφημα Ταχύτητας Αυτοκινήτου Εικόνα 8-2 Γράφημα Ροπής Κινητήρα Αυτοκινήτου 66
68 Εικόνα 8-3: Γράφημα Πίεσης Πεντάλ Γκαζιού του Αυτοκινήτου Εικόνα 8-4: Γράφημα Θερμοκρασίας Ψυκτικού Υγρού Κινητήρα Με βάση τις παραπάνω μετρήσεις προκύπτουν οι ακόλουθες μέσες τιμές για την εν λόγω διαδρομή των 11,5 λεπτών. Ταχύτητα: 12,84 km/h Ροπή: 1001,9 rpm Θέση Γκαζιού: 14.9 % Θερμοκρασία Ψυκτικού Υγρού Κινητήρα: βαθμοί Κελσίου 67
69 8.2 Γραφήματα απόκρισης ECU μονάδας αυτοκινήτου στα requests Στην ενότητα αυτή θα παρουσιάσουμε πόσα request χρειάστηκαν να γίνουν στην ECU μονάδα του οχήματος μέχρι να πάρουμε την τιμή που αιτούμασταν. Εικόνα 8-5: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Ταχύτητας Εικόνα 8-6: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Ροπής 68
70 Εικόνα 8-7: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Θέσης Γκαζιού Εικόνα 8-8: Γράφημα του αριθμού των Requests μέχρι να πάρουμε τιμή Θερμοκρασίας Υγρού Κινητήρα Παρακάτω δίνεται η μέση τιμή των requests που στείλαμε για να πάρουμε απάντηση για κάθε μια από τις μετρήσεις που παρουσιάσθηκαν στην ενότητα 8.1. Μέση Τιμή Requests Ταχύτητας: 15,91 Μέση Τιμή Requests Ροπής: 15,44 Μέση Τιμή Requests Θέσης Γκαζιού: 16,87 Μέση Τιμή Requests Θερμοκρασία Ψυκτικού Υγρού Κινητήρα: 14,12 69
71 8.3 Σχολιασμός & συμπεράσματα μετρήσεων Πριν το σχολιασμό, ας αναφέρουμε ότι το interface οχήματος που περιγράφηκε εκτενώς σε προηγούμενα κεφάλαια,συνδέεται σαν κόμβος πάνω σε έναν από τους CAN διαύλους του αυτοκινήτου και συγκεκριμένα πάνω στο OBD-ΙΙ σύστημα του αυτοκινήτου μέσω του Data Link Connector(βρίσκεται μέσα στην καμπίνα του αυτοκινήτου). Ας ξεκινήσουμε από τον σχολιασμό των μετρήσεων των requests στην ECU μονάδα του αυτοκινήτου. Αρχικά θα πρέπει να αναφερθεί ότι τα requests για την κάθε τιμή που επιθυμούσαμε να λάβουμε έγιναν με διαφορά 10 milliseconds. Έτσι μπορούμε να πούμε ότι λαμβάναμε μια τιμή για κάθε μέτρηση μετά από κάποια milliseconds από το πρώτο request. Συγκεκριμένα: Ταχύτητα: 159,1 ms Ροπή: 154,4 ms Θέση Γκαζιού: 168,7 ms Θερμοκρασία Ψυκτικού Υγρού Κινητήρα: 141,2 ms Μερικά σχόλια-συμπεράσματα για τις αποκρίσεις στα requests: 1) Μπορούμε να συμπεράνουμε πως παρόλο που το CAN αποτελεί ένα request-response σύστημα επικοινωνίας αυτό δε σημαίνει ότι όλα τα αιτήματά μας θα απαντηθούν από την μονάδα στην οποία απευθυνόμαστε. Φαίνεται ότι πολλά από αυτά αγνοούνται. 2) Από τις μετρήσεις που διεξήγαμε παρατηρούμε ότι για να πάρουμε μια απάντηση από την ECU του αυτοκινήτου πρέπει να επιμείνουμε μέχρις ότου είναι σε θέση να μας αποστείλει δεδομένα. Είναι λογικό καθώς η ECU επιτελεί πολλές λειτουργίες που έχουν να κάνουν με τη λειτουργία του κινητήρα και την αποστολή σφαλμάτων λειτουργίας, δηλαδή λειτουργίες με μεγαλύτερη κομβικότητα για το σύστημα και άρα προτεραιότητα επικοινωνίας. 3) Φαίνεται ο χρόνος απόκριση της μονάδας ΕCU να είναι τυχαίος. Εξαρτάται δηλαδή από την κατάσταση που θα βρίσκεται ο δίαυλος την χρονική στιγμή του αιτήματος και την προτεραιότητα των αιτημάτων άλλων κόμβων που επιδιώκουν επικοινωνία με την ECU. 4) Εν τέλει από τα αποτελέσματα των μετρήσεων πρόεκυψε ότι για κάθε μέτρηση έχουμε απόκριση από την ECU μετά από κατά μέσο όρο 15 70
72 αιτήματα περίπου από τον κόμβο μας. Δηλαδή για κάθε αίτημα για τιμή έχουμε ένα σταθερό χρόνο απόκρισης στα 150 ms. Τώρα όσον αφορά το καθαρό κομμάτι των μετρήσεων,δηλαδή τις τιμές που πήραμε από το δίκτυο του αυτοκινήτου για την ταχύτητα, τη ροπή του κινητήρα κλπ διαφαίνεται ότι : 1) Είναι εύκολο να καταλάβει κάποιος τις χρονικές στιγμές που το όχημα σταματάει λόγω των φαναριών ή της κίνησης. 2) Μπορεί κάποιος να συμπεράνει την κίνηση στους δρόμους στους οποίους γίνεται η μέτρηση. 3) Μπορεί να κατανοηθεί η οδική συμπεριφορά του οδηγού και αν έχει παραβιάσει όρια ταχύτητας στο δρόμο τον οποίο κινείται. 4) Με την πρόσβαση στις πληροφορίες αυτές,το μοντέλο του οχήματος ή ακόμα και την ένδειξη από τον αισθητήρα εκπομπών του οχήματος, είναι δυνατό ειδικοί που ασχολούνται με τις μεταφορές να έχουν μια real-time απεικόνιση των εκπομπών οχημάτων για κάποια περιοχή. 71
73 Κεφα λαιο 9 9 Εφαρμογή συστήματος καταγραφής CAN δεδομένων σε τρακτέρ Στα πλαίσια της διπλωματικής εργασίας επιχειρήθηκε η λήψη δεδομένων από το CAN bus δίκτυο ενός τρακτέρ. Συγκεκριμένα το σύστημα του interface οχήματος που υλοποιήθηκε προσαρμόστηκε στο CAN δίκτυο του τρακτέρ μέσω 9-pin κονέκτορα, φαίνεται στην παρακάτω εικόνα. Εικόνα 9-1: Καλώδιο 9-pin to OBD-II Σε αντίθεση με τα περισσότερα I.X οχήματα που το CAN δίκτυό τους λειτουργεί στα 500 kbps, το δίκτυο των τρακτέρ λειτουργεί στα 250 kbps. Οι μετρήσεις έγιναν σε τρακτέρ John Deere, έτους κατασκευής Παρακάτω παρουσιάζεται ένα στιγμιότυπο από τα μηνύματα που λαμβάνονται από το CAN δίκτυο του τρακτέρ. Εικόνα 9-2: CAN μηνύματα από τον δίαυλο του τρακτέρ 72
74 9.1 Ενδεικτικές μετρήσεις από το CAN bus δίκτυο του τρακτέρ Για τα οχήματα τρακτέρ δε γνωρίζουμε τα PID των μηνυμάτων που λαμβάνονται σε ποια λειτουργία του οχήματος αντιστοιχούν. Έτσι θα επιχειρήσουμε να αναλύσουμε τα δεδομένα του πιο συχνού μηνύματος που καταγράφηκε. Πρόκειται για το μήνυμα με PID «33C». Εικόνα 9-3: Δεκαδική τιμή του Least Significant Byte των δεδομένων του μηνύματος Εικόνα 9-4: Δεκαδική τιμή του Most Significant Byte των δεδομένων του μηνύματος 73
75 Εικόνα 9-5: Δεκαδική Τιμή των δεδομένων του μηνύματος Τέλος, αξίζει να σημειωθεί πως αν είχαμε στη διάθεση μας τους τύπους μετατροπής των δεδομένων σε πραγματικά μεγέθη, θα ήμασταν σε θέση να έχουμε οποιαδήποτε πληροφορία για το τρακτέρ και τα γεωργικά μηχανήματα που προσαρμόζονται πάνω του. 74
76 Κεφα λαιο Συμπεράσματα για αξιοποίηση & μελλοντική ανάπτυξη 10.1 Συμπεράσματα για αξιοποίηση Το CAN bus δίκτυο βρίσκεται αρκετά μέσα στη ζωή μας παρόλο που δεν είναι τόσο διαδομένο και γνωστό όπως π.χ. τα δίκτυα Ethernet, 4G κλπ. Συναντάται σχεδόν σε κάθε σύγχρονο όχημα τόσο σε αυτοκίνητα όσο και σε φορτηγά και τρακτέρ. Χρησιμοποιείται επίσης σε αεροπλάνα και στρατιωτικές εφαρμογές. Η μεγάλη αυτή παρουσία των CAN δικτύων στην ανθρώπινη δραστηριότητα δίνει ιδιαίτερη αξία στα δεδομένα που κυκλοφορούν στο εσωτερικό τους. Τα δεδομένα αυτά μπορούν να μας δώσουν αρκετές πληροφορίες για το περιβάλλον γύρω τους μέσω των αισθητήρων που μετέχουν στο CAN δίκτυο. Ακόμη είναι δυνατό μέσω της επεξεργασίας των δεδομένων αυτών να βελτιστοποιηθούν αρκετές δραστηριότητες της ανθρώπινες ζωής. Με βάση το σκεπτικό, θα δοθούν δύο παραδείγματα εν δυνάμει πρακτικής εφαρμογής και αξιοποίησης των δεδομένων που μπορεί να παρέχει ένα σύστημα παρόμοιο με αυτό που υλοποιήθηκε στην παρούσα εργασία. Τοποθέτηση σε αυτοκίνητα: Η αξιοποίηση των δεδομένων από τους αισθητήρες των Ι.Χ οχημάτων μπορούν να συμβάλλουν: στην αντιμετώπιση των προβλημάτων κυκλοφορίας, στην αντιμετώπιση της ατμοσφαιρικής ρύπανσης μέσω του ελέγχου εκπομπών αερίων από την καύση του καυσίμου, τη διαλεύκανση ατυχημάτων Τοποθέτηση σε τρακτέρ και αγροτικά μηχανήματα: Η αξιοποίηση των δεδομένων από τους αισθητήρες του τρακτέρ αλλά και των μηχανημάτων που προσαρμόζονται σ αυτό είναι δυνατό να συμβάλλουν: Βελτιστοποίηση της απόδοσης των καλλιεργειών μέσω της χαρτογράφησης της έκτασης. Τόσο ως προς το έδαφος της έκτασης που δεν έχει οργωθεί ή καλλιεργηθεί,όσο και ως προς το ποσοστό των στοιχείων που υπάρχουν στο κάθε κομμάτι του χαρτογραφημένου έδαφος. Καλύτερη οργάνωση της καλλιέργειας από την πλευρά της αποθήκευσης και διαθεσιμότητας τόσο των αγροεφοδίων όσο και του τελικού προϊόντος της καλλιέργειας. 75
77 Μέσω των παραπάνω στη μείωση της κατανάλωσης καυσίμου Εικόνα 10-1: Παράδειγμα χρήσης CAN BUS σε Τρακτέρ 10.2 Μελλοντική ανάπτυξη του συστήματος που υλοποιήθηκε Μια βασική μελλοντική προσθήκη που πρέπει να γίνει στο σύστημα που υλοποιήθηκε αποτελεί η προσθήκη δέκτη GPS. Με την προσθήκη αυτή το σύστημά μας θα γίνει πολύ πιο λειτουργικό συνδυάζοντας τα δεδομένα από το CAN bus δίκτυο με την τοποθεσία του οχήματος. Η προσθήκη του δέκτη GPS έχει προβλεφθεί στο λογισμικό που αναπτύχθηκε και το μόνο που λείπει για να ενεργοποιηθεί κι αυτή η λειτουργικότητα του συστήματος είναι η προμήθεια ενός δέκτη GPS. Ακόμη αναγκαία στο μέλλον κρίνεται και η περαιτέρω ανάπτυξη της εφαρμογής Android. Συγκεκριμένα σαν αναγκαία μελλοντική προσθήκη προτείνεται η λειτουργία της εγγραφής του οχήματος χρήστη, εφόσον έχει προμηθευτεί το interface οχήματος, μέσω της εφαρμογής Android και όχι μέσω του διαχειριστή του συστήματος. Τέλος, για μελλοντική αξιοποίηση υπό πιο απαιτητικές συνθήκες σε αποθηκευτικό χώρο ή επεξεργαστική ισχύ θα προτεινόταν αντί του Arduino, η χρήση ενός μικροελεγκτή Raspberry. 76
ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication
ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ
Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης
Bread Online Σχεδιασμός και μετατροπή μιας απλής οικιακής συσκευής σε επαναπρογραμματιζόμενη συσκευή IP Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών
CAN Bus. Ασβεστοπούλου Θωμαΐς Δόντσιος Δημήτριος Άνοιξη 2014
Ασβεστοπούλου Θωμαΐς Δόντσιος Δημήτριος Άνοιξη 2014 Δίαυλοι Επικοινωνίας Είναι κανάλια επικοινωνίας πάνω στα οποία ρέει η πληροφορία μεταξύ δύο ή περισσοτέρων συσκευών Γιατί δίαυλοι και όχι καλώδια; Μεταφορά
ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ
ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΟΙΚΟΝOΜΟΥ ΧΑΡΗΣ (6424) ΦΩΚΟΣ ΝΙΚΟΛΑΟΣ(6592) ΚΑΜΒΥΣΗΣ ΝΙΚΟΛΑΟΣ(7178) 2013-2014 ΠΕΡΙΕΧΟΜΕΝΑ Σκοπός της εργασίας Ανάλυση Arduino Uno Δημιουργία πληροφορίας Αποστολή και
Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών
Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές Εισαγωγή στο Arduino Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Τι είναι Μικροελεγκτής; Ηλεκτρονική συσκευή που διαχειρίζεται ηλεκτρονικά
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός
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) μπορούμε να μετρήσουμε απόλυτη χωρητικότητα, σχετική μεταβολή χωρητικότητας καθώς επίσης και χρονικό διάστημα ανάμεσα σε δύο παλμούς. Βασίζεται στην
Εφαρμογές Σειριακής Επικοινωνίας
Εφαρμογές Σειριακής Επικοινωνίας Εισαγωγή Στο μάθημα αυτό θα μάθουμε πώς να χρησιμοποιούμε την βιβλιοθήκη serial για την επικοινωνία από την πλατφόρμα Arduino πίσω στον υπολογιστή μέσω της θύρας usb. Τι
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) Περιγραφή της Άσκησης Ο σκοπός της πρώτης άσκησης είναι κυρίως η εξοικείωση με το περιβάλλον προγραμματισμού του Arduino, γι αυτό και δεν είναι ιδιαίτερα σύνθετη. Αρχικά, θα
Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr
Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΩΤΙΑ ΗΣ Α. ΗΜΗΤΡΗΣ M.Sc. ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ (Σ.Τ.ΕΦ.) ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ d.fotiadis@kastoria.teikoz.gr Ασύγχρονη σειριακή
Ενσωµατωµένα Συστήµατα
Ενσωµατωµένα Συστήµατα για εφαρµογές πραγµατικού χρόνου Μικροελεγκτής Arduino Ιωάννης Καλόµοιρος Αναπληρωτής Καθηγητής Τµήµα Μηχανικών Πληροφορικής Μάθηµα 7ο Τι είναι το Arduino... Ένα open-hardware σύστηµα
Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2
Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.
Γνωριμία με το Arduino
Γνωριμία με το Arduino Τι είναι το Arduino; Το arduino είναι ένας μικρός υπολογιστής σε μέγεθος παλάμης που περιλαμβάνει ένα μικροελεγκτή (για εκτέλεση εντολών) και ένα σύνολο εισόδων/εξόδων για επικοινωνία
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front
Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)
Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν
WIRELESS SENSOR NETWORKS (WSN)
WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση
Ψηφιακές Επικοινωνίες
Τεχνική Εκπαίδευση Ψηφιακές Επικοινωνίες Παναγιώτης Γεώργιζας BEng Cybernetics with Automotive Electronics MSc Embedded Systems Engineering Θέματα που θα αναλυθούν Στόχοι του σεμιναρίου Λίγη Θεωρία για
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ
ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)
ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα
ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ
ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ Σκοπός της άσκησης Οι φοιτητές θα εξοικειωθούν με την πλακέτα του μικροελεγκτή και θα αναγνωρίσουν τα βασικά της στοιχεία. Επίσης θα εξοικειωθούν
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας με Θερμοστάτη. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW.
ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 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
Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.
Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον
Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων
Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Εργαστήριο Αυτομάτου Ελέγχου Ενσωματωμένα συστήματα (Embedded Systems) Ενσωματωμένα συστήματα (Embedded
ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM
ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΏΝ ΕΦΑΡΜΟΓΏΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ CHECK IN TANK PUMPING THROUGH GSM Επιβλέπων Καθηγητής: Κόγιας Παναγιώτης Επιβλέπουσα Καθηγήτρια: Κόγια Φωτεινή ΚΑΒΑΛΑ, ΦΕΒΡΟΥΑΡΙΟΣ
Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο
Συσκευές Τηλεπικοινωνιών και Δικτύωσης Επικοινωνίες Δεδομένων Μάθημα 9 ο Εισαγωγή Ένα δίκτυο αποτελείται από ενεργά και παθητικά στοιχεία. Στα παθητικά στοιχεία εντάσσονται τα καλώδια και τα εξαρτήματα
Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet
Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος
WDT και Power Up timer
Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ PIC O μικροελεγκτής PIC κατασκευάζεται από την εταιρεία Microchip. Περιλαμβάνει τις τρεις βασικές κατηγορίες ως προς το εύρος του δίαυλου δεδομένων (Data Bus): 8 bit (σειρές PIC10, PIC12,
Σχεδιασμός και υλοποίηση κυκλώματος μέτρησης κατανάλωσης ισχύος
Σχεδιασμός και υλοποίηση κυκλώματος μέτρησης κατανάλωσης ισχύος Φοιτητής Φετινίδης Αναστάσιος Επιβλέπων Δασυγένης Μηνάς Μάρτιος 2014 1 Περιεχόμενα παρουσίασης Εισαγωγή Θεωρητικό υπόβαθρο Υλικό μέρος του
Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ
Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να
Ανάκτηση θερμοκρασιακού πεδίου σε περιστρεφόμενο (εν κινήσει)
Κεφάλαιο 6 Ανάκτηση θερμοκρασιακού πεδίου σε περιστρεφόμενο (εν κινήσει) ρότορα Η σύνδεση του στρεφόμενου τμήματος της μηχανής με την μετρολογική διάταξη (αναλογικά όργανα μέτρησης ή υπολογιστή) παρουσιάζει
Συστήµατα DAQ. 6.1 Εισαγωγή
6 Συστήµατα DAQ 6.1 Εισαγωγή Με τον όρο Acquisition (Απόκτηση) περιγράφουµε τον τρόπο µε τον οποίο µεγέθη όπως η πίεση, η θερµοκρασία, το ρεύµα µετατρέπονται σε ψηφιακά δεδοµένα και απεικονίζονται στην
ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u
Εφαρμογή 1: Το ρομπότ INTELITEK ER-2u Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr,
Λογικά σύμβολα των 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
Η δυναμική του Arduino στο μάθημα της Τεχνολογίας. Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03
Η δυναμική του Arduino στο μάθημα της Τεχνολογίας Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03 dfasouras@gmail.com Τι είναι το Arduino ; Το Arduino είναι μια απλή μητρική πλακέτα ανοικτού κώδικα. Διαθέτει
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα Σκοπός και περίγραμμα της Ενότητας 5 Σκοπός της παρουσίασης Να δώσουμε τις βασικές ιδέες για τα αναλογικά σήματα και την χρήση διαφορετικών ειδών περιφερειακών Σύνοψη Επεξήγηση
Υλοποίηση Τεχνολογιών έξυπνων σπιτιών
Πανεπιστήμιο Μακεδονίας Μεταπτυχιακό Εφ. Πληροφορικής Ειδικευση Συστήματα Υπολογιστών Μεταπτυχιακή Εργασία Υλοποίηση Τεχνολογιών έξυπνων σπιτιών Εκπόνηση: Απόστολος Πλαστήρας Επιβλέπων Καθηγητής: Αλέξανδρος
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια
ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2
ΘΕΜΑ : ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΔΙΑΡΚΕΙΑ:? περίοδος Οι μικροελεγκτές είναι υπολογιστές χωρίς περιφερειακά, σε ολοκληρωμένα κυκλώματα. Μπορούν να συνδυάσουν αρκετές από τις βασικές λειτουργίες άλλων ειδικών
Κεφάλαιο 1.6: Συσκευές αποθήκευσης
Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)
Διασύνδεση τοπικών δικτύων
Κεφάλαιο 10 Διασύνδεση τοπικών δικτύων ------------------------- Μάθημα 10.1 : Αρχές διασύνδεσης τοπικών δικτύων Μάθημα 10.2 : Επιλογή τοπικού δικτύου και μέσου μετάδοσης Μάθημα 10.3 : Επιλογή τοπικού
ΣΥΝΔΕΣΗ ΣΕ ΣΕΙΡΑ ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: 1 ΣΚΟΠΟΣ 1 2 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 1 3 ΕΞΟΠΛΙΣΜΟΣ 7 4 ΕΞΑΡΤΗΜΑΤΑ 7
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ΣΥΝΔΕΣΗ ΣΕ ΣΕΙΡΑ ΗΜΕΡΟΜΗΝΙΑ: ΤΡΙΩΡΟ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: Περιεχόμενα 1 ΣΚΟΠΟΣ 1 2 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 1 2.1 ΑΝΤΙΣΤΑΣΕΙΣ ΣΕ ΣΕΙΡΑ 1 2.2 ΣΥΝΟΛΙΚΗ
για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.
1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Δραστηριότητα: 11 Μάθημα: Εργαστήριο Δικτύων Υπολογιστών Αντικείμενο : Μέτρηση
Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα : Στρώμα Ζεύξης στα Δίκτυα ΗΥ- Ethernet MAC Στρώμα Σαββαΐδης Στυλιανός
Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 6 Σύστημα διασύνδεσης και διαδικασία εισόδου-εξόδου Τι είναι αρτηρία (Bus) ; Ένα σύνολο γραμμών διασύνδεσης Πρωτόκολλο (protocol) Περιγραφή Πρωτοκόλλου χρονικό διάγραμμα
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την
ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Μήνυμα μήκους
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών Υλοποίηση δικτύου ασύρματης ραδιοεπικοινωνίας μεταξύ δύο ενσωματωμένων κόμβων (κόμβος ταυτοποίησης
ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Στο δίκτυο
Εκτέλεση προγράμματος
ιεπιφάνεια controller Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες 1 2 Αυτόματα Εκτέλεση προγράμματος παραγωγή Χειροκίνητα για απλές λίγες κινήσεις Εντολή προς εντολή για έλεγχο ορθότητας
Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 Mηχανοτρονική Το Arduino είναι μια «ανοικτού κώδικα» πλατφόρμα «πρωτοτυποποιημένων» ηλεκτρονικών βασισμένη σε ευέλικτο και εύκολο στη χρήση
Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή
Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται
Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4
Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει
ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ
ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ Σκοπός και περίγραμμα της Ενότητας 7 Σκοπός της παρουσίασης ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ ΥΠΕΡΥΘΡΟΥ ΦΩΤΟΣ Χρήση αισθητήρα υπέρυθρων για τον εντοπισμό αντικειμένων, εμποδίων, παρουσίας
ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ
ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ Στόχος και Περίγραμμα της Ενότητας 10 Στόχος της παρουσίασης Παρουσίαση της βασικής ιδέα και απλών παραδειγμάτων για την οδήγηση DC και βηματικών κινητήρων με το Arduino.
Μαθαίνοντας το hardware του αναπτυξιακού
1. ΑΣΚΗΣΗ 1 Μαθαίνοντας το hardware του αναπτυξιακού Προϋποθέσεις Το εργαστήριο αυτό προϋποθέτει το διάβασμα και χρήση των εξής: Αρχείο mcbstr9.chm HTML, που δίδεται με τα υπόλοιπα αρχεία του εργαστηρίου.
Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07
Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή
Πρωτόκολλο Επικοινωνίας
NMEA National Maritime Electronics Association Προδιαγραφές για την επικοινωνία μεταξύ ηλεκτρονικών συσκευών (σόναρ, ανεμόμετρα, γυροσκόπια, GPS) Πρότυπο 0183 και 2000 Πρωτόκολλο Επικοινωνίας Χρησιμοποιεί
AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές
AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Μετάδοσης Δεδομένων Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail:
ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΗΡΗΣΗ Η/Υ
ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΗΡΗΣΗ Η/Υ 1) Τι είναι μητρική πλακέτα; Είναι η βασική ηλεκτρονική πλακέτα ενός Η/Υ πάνω στην οποία συνδέονται όλα τα εξαρτήματα ενός Η/Υ όπως ο επεξεργαστής, η μνήμη, οι κάρτες επέκτασης,
Λειτουργίες CNC-DNC. Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες. Λειτουργίες CNC-DNC. Γ.Βοσνιάκος-ΕΡΓΑΛΕΙΟΜΗΧΑΝΕΣ
Λειτουργίες CNC-DNC Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες Γ.Βοσνιάκος-ΕΡΓΑΛΕΙΟΜΗΧΑΝΕΣ Λειτουργίες CNC-DNC Άδεια Χρήσης Το παρόν υλικό υπόκειται σε άδειες χρήσης Creative Commons
Μάθημα 6: Αρχιτεκτονική TCP/IP
Μάθημα 6: Αρχιτεκτονική TCP/IP 6.1 Συσχέτιση OSI και TCP/IP Η αρχιτεκτονική TCP/IP ακολουθεί ένα πρότυπο διαστρωμάτωσης παρόμοιο με το μοντέλο OSI. Η αντιστοιχία φαίνεται στο σχήμα 6.1. Η ονομασία της
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»
ΣΥΝΘΕΤΑ ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΙΣΜΟΥ. Μετά την ολοκλήρωση της ενότητας αυτής θα μπορείτε:
Ενότητα 2.6 Κεφάλαιο 2 ΣΥΝΘΕΤΑ ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΟΧΟΙ Μετά την ολοκλήρωση της ενότητας αυτής θα μπορείτε: Να αιτιολογείτε την αναγκαιότητα χρησιμοποίησης κάθε είδους αυτοματισμού. Να διακρίνετε
ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Πλατφόρμες ενσωματωμένων συστημάτων Διδάσκων: Παναγιώτης Καρκαζής Περίγραμμα - Δίαυλοι επικοινωνίας - Μνήμες -Συσκευές Ι/Ο Timers Counters keyboards Leds 7 segment display
ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)
ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε
Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).
Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται
Μάθημα 4.2 Η μητρική πλακέτα
Μάθημα 4.2 Η μητρική πλακέτα - Εισαγωγή - Οι βάσεις του επεξεργαστή και της μνήμης - Οι υποδοχές της μητρικής πλακέτας - Άλλα μέρη της μητρική πλακέτας - Τυποποιήσεις στην κατασκευή μητρικών πλακετών Όταν
Σειριακό Τερματικό Serial Terminal (Dumb Terminal)
Σειριακό Τερματικό Serial Terminal (Dumb Terminal) Ένα σειριακό τερματικό είναι ο απλούστερος τρόπος για να συνδέσουμε πολλαπλές μονάδες εξόδου (οθόνες) και εισόδου (πληκτρολόγια) σε ένα μηχάνημα UNIX
Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων
Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino UNO Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O
Διαφορές single-processor αρχιτεκτονικών και SoCs
13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό
Σχεδιασμός και Υλοποίηση οχήματος ελεγχόμενου μέσω Bluetooth
ΕΚΘΕΣΗ ΑΝΑΦΟΡΑΣ ΕΡΓΑΣΙΑΣ ΕΞΑΜΗΝΟΥ ΜΕ ΘΕΜΑ: Σχεδιασμός και Υλοποίηση οχήματος ελεγχόμενου μέσω Bluetooth Design and Implementation of a remote control vehicle using Bluetooth ΑΝΑΣΤΑΣΙΟΥ ΚΩΝΣΤΑΝΤΙΝΟΣ Επιβλέπων:
Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα
Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα 1ο ΕΠΑΛ Περάματος 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino.
RobotArmy Περίληψη έργου
RobotArmy Περίληψη έργου Στην σημερινή εποχή η ανάγκη για αυτοματοποίηση πολλών διαδικασιών γίνεται όλο και πιο έντονη. Συνέχεια ακούγονται λέξεις όπως : βελτιστοποίηση ποιότητας ζωής, αυτοματοποίηση στον
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο
ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ
ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε
1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.
40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο
Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή
Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα Περιεχόµενα Εισαγωγή Επικοινωνία εδοµένων Αναλογική vs. Ψηφιακή Μετάδοση ιαµόρφωση σήµατος Κανάλια επικοινωνίας Κατεύθυνση και ρυθµοί µετάδοσης Ασύγχρονη
Γενικές πληροφορίες για το OBD-ΙΙ ή OBD-2. Πηγή : CarCode Muller (Germany) Τι είναι το OBD-2/EOBD;
Γενικές πληροφορίες για το OBD-ΙΙ ή OBD-2 Πηγή : CarCode Muller (Germany) Τι είναι το OBD-2/EOBD; Το OBD ή On Board Diagnostics, συνιστά ένα ολοκληρωμένο μέσα στο όχημα σύστημα διάγνωσης OBD-2 ή OBD-II.
Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2014-15 Διασύνδεση Εισόδου-Εξόδου (συσκευές και ) http://www.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Διασυνδετικοί : Αναλαμβάνουν την
ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS
ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS ΔΙΑΡΚΕΙΑ: 1 περιόδους 16/11/2011 10:31 (31) καθ. Τεχνολογίας ΚΑΤΗΓΟΡΙΕΣ ΜΕΓΕΘΩΝ ΑΝΑΛΟΓΙΚΟ (ANALOGUE) ΨΗΦΙΑΚΟ (DIGITAL) 16/11/2011 10:38 (38) ΕΙΣΑΓΩΓΗ ΣΤΑ
ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ
ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ 1 ARDUINO ΚΑΙ ΗΧΟΣ ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή, μηχανές παραγωγής ήχου Χρήση του πιεζοηλεκτρικού
Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα
Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2 ΤΟ ΣΥΣΤΗΜΑ ΣΑΡΩΣΗΣ ΤΟΥ ΟΠΤΙΚΟΥ ΠΕΔΙΟΥ. Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Συστήματα Πραγματικών Εφαρμογών Νέα Ψηφιακά
LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ
LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ Οδηγίες Παραμετροποίησης Power Electronics Control Ε.Π.Ε. Τύποι Συσκευών: LFT169 - LFR169 Περιγραφή: Πομπός και Δέκτης Τηλεχειρισμού 169MHz
Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας
Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.
Κεφάλαιο 1 Εισαγωγή.
Κεφάλαιο 1 Εισαγωγή Αντικείμενο της εργασίας είναι η σχεδίαση και κατασκευή του ηλεκτρονικού τμήματος της διάταξης μέτρησης των θερμοκρασιών σε διάφορα σημεία ενός κινητήρα Ο στόχος είναι η ανάκτηση του
Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας
Βασικές Έννοιες Πτυχιακή Εργασία 2015 Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Η Ασύρματη Επικοινωνία, χρησιμοποιώντας το πρωτόκολλο WiFi.
AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές
AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail: e.leligkou@puas.gr
- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών
Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης
Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή
Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.
ΗΛΕΚΤΡΙΚΟ ΣΥΣΤΗΜΑ ΑΥΤΟΚΙΝΗΤΟΥ
ΗΛΕΚΤΡΙΚΟ ΣΥΣΤΗΜΑ ΑΥΤΟΚΙΝΗΤΟΥ Α.Σ.ΠΑΙ.Τ.Ε. ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΩΝ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΑΙΣΘΗΤΗΡΕΣ: ΜΕΡΟΣ ΙΙ ΑΙΣΘΗΤΗΡΑΣ ΡΟΗΣ ΜΑΖΑΣ ΑΕΡΑ (MAF) Στέλνει ένα ηλεκτρικό σήμα στον "εγκέφαλο",
Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους
ΤΕΙ Κρήτης, Παράρτηµα Χανίων
ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2
-I/O-SYSTEM 750 BMS ΕΛΕΓΧΟΣ ΚΤΙΡΙΑΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΚΛΙΜΑΤΙΣΜΟΥ
VER.DATE: 10/04/2014 -I/O-SYSTEM 750 BMS ΕΛΕΓΧΟΣ ΚΤΙΡΙΑΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΚΛΙΜΑΤΙΣΜΟΥ η φιλοσοφία To σύστημα ελέγχου WAGO έχει σχεδιαστεί με σκοπό την ευκολία στην σχεδίαση και στην εκτέλεση ενός project
Οργάνωση Υπολογιστών (IΙI)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό
Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων
Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο
Χρ. Καβουσιανός Επίκουρος Καθηγητής
Είσοδος - Έξοδος Χρ. Καβουσιανός Επίκουρος Καθηγητής Συσκευές Εισόδου/Εξόδου Θερµοκρασία Τα ψηφιακά συστήµατα επικοινωνούν µε το περιβάλλον µε µορφοτροπείς (transducers-sensors). Πίεση Φως Ηχος Κίνηση
1. Ηλεκτρικοί κινητήρες- σερβοκινητήρας 2. Ελεγκτές. ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης
www.robolab.tuc.gr 1. Ηλεκτρικοί κινητήρες- σερβοκινητήρας 2. Ελεγκτές ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης 1. Ηλεκτρικοί κινητήρες σερβοκινητήρας R/C σέρβο βηματικός κινητήρας 2 1. Ηλεκτρικοί κινητήρες σερβοκινητήρας
Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων
Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins: