ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ
Με την επιτυχή ολοκλήρωση του μαθήματος ο/η φοιτητής/ήτρια θα είναι σε θέση να:
- Επιλέγει την κατάλληλη πλατφόρμα για την ανάπτυξη ενσωματωμένων συστημάτων βάσει συγκεκριμένων προδιαγραφών.
- Αντιμετωπίζει τα ενσωματωμένα συστήματα σαν Κυβερνο-Φυσικά Συστήματα (Cyber-Physical Systems).
- Χρησιμοποιεί την αναπτυξιακή διάταξη NXP Freedom βασισμένη σε ARM μικροελεγκτή για δημιουργία διατάξεων ειδικού σκοπού.
- Χρησιμοποιεί την πλατφόρμα Raspberry Pi για την ανάπτυξη ενσωματώμενων συστημάτων.
- Κατανοεί και διαμορφώνει ενσωματωμένα συστήματα Linux.
- Διασύνδεει και ελέγχει αισθητήρες και συστήματα με την Πλατφόρμα Raspberry Pi.
Γενικές Ικανότητες
- Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
- Εργασία σε διεπιστημονικό περιβάλλον
- Άσκηση κριτικής και αυτοκριτικής
- Λήψη αποφάσεων
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ
- Εισαγωγή στις Σύγχρονες Πλατφόρμες Ενσωματωμένων Συστημάτων
- Πλατφόρμες και Εργαλεία Ανάπτυξης Λογισμικού
- Arduino
- beagleboard
- Raspberry Pi (RPi)
- NXP Freedom (ARM Cortex-M0+ )
- TI Sensortag
- C.H.I.P.
- PocketCHIP
- Πλατφόρμες και Εργαλεία Ανάπτυξης Λογισμικού
- Εισαγωγή στα Embedded Cyber Physical Systems (CPS)
- Μοντελοποίηση Embedded Cyber Physical Systems
- Τεχνικές υλοποίησης CPS. Διαγράμματα καταστάσεων ροής (State-flow) για την υλοποίηση CPS
- Εισαγωγή στην χρήση Specification Description Language (SDL) για την υλοποίηση και εξομοίωση πολύπλοκων ενσωματωμένων CPS
- Χρήση της Πλατφόρμας MBED για τον προγραμματισμό Μικροελεγκτών βασισμένων σε ARM
- Το Υλικό (Hardware) της Πλατφόρμας NXP Freedom.
- Η Αρχιτεκτονική του ARM Cortex-M0+.
- Εισαγωγή στον προγραμματισμό του Cortex-M0+ .
- Μεθοδολογίες προγραμματισμού για πλατφόρμες MBED. Χρήση βιβλιοθηκών APIs. CMSIS και το SDK MBED.
- Interrupts και Low Power τρόποι λειτουργίας.
- Προγραμματισμός μέσω μοντελοποίησης.
- Προγραμματισμός τετρακόπτερου με το Simulink.
- Εισαγωγή στην Πλατφόρμα Raspberry Pi
- Το Υλικό (Hardware) Raspberry Pi
- To Λογισμικό (Software) Raspberry Pi
- Linux διανομές στο Raspberry Pi
- Ενσωματωμένα Συστήματα Linux
- Πλεονεκτήματα και Μειονεκτήματα του Embedded Linux
- Λογισμικό Ανοιχτού Κώδικα
- Διαχείριση Συστημάτων Linux
- O Super User
- Διαχείριση Συστήματος
- Εντολές Linux
- Διεργασίες Linux
- Git για Εργαλείο Ελέγχου Εκδόσεων (Version Control)
- Κώδικας Μαθήματος
- Προγραμματισμός στο RPi
- Ρύθμιση συχνότητας λειτουργίας του RPi
- Η επίδοση των διαφόρων γλωσσών στο RPi
- Γλώσσες Scripting (Scripting Languages)
- Bash
- LUA
- Python
- Γλώσσες Compiled (Compiled Languages)
- C στο RPi
- C++ στο RPi
- Γλώσσες DCL (Dynamically Compiled Languages)
- Java στο RPi
- JavaScript και Node.js στο RPi
- Παραδείγματα κώδικα σε όλες τις παραπάνω γλώσσες
- Διασύνδεση, Έλεγχος και Επικοινωνία με την Πλατφόρμα Raspberry Pi
- Διασύνδεση με το RPi
- Διασύνδεση με τους διαύλους (Buses) RPi
- Εισαγωγή στην επικοινωνία διαύλων
- Δίαυλος I2C
- Δίαυλος SPI
- Δίαυλος UART
- Διασύνδεση του RPi με το φυσικό περιβάλλον
- Διασύνδεση με Actuators
- Διασύνδεση με Αναλογικούς Αισθητήρες
- Διασύνδεση με οθόνες
- Διασύνδεση του RPi με το Arduino
Εργαστηριακές Ασκήσεις
Η εργαστηριακή εκπαίδευση των φοιτητών γίνεται, πραγματοποιώντας 13 εργαστηριακές ασκήσεις εστιασμένες στα βασικότερα αντικείμενα της θεωρητικής διδασκαλίας. Οι ασκήσεις θα είναι προσανατολισμένες πάνω στα ακόλουθα πεδία:
- Εισαγωγή στο Raspberry Pi (RPi) – Αναγνώριση Εσωτερικών και Εξωτερικών Περιφεριακών (HATs) – Προετοιμασία Linux SD Κάρτας από Image για Raspbian.
- Σύνδεση στο δίκτυο, επικοινωνία με SSH και έλεγχος του RPi με εντολές Linux.
- Το Git σαν Εργαλείο Ελέγχου Εκδόσεων.
- Διασύνδεση με το RPi και έλεγχος των GPIOs.
- Προγραμματισμός στο RPi με Bash Scripting.
- Προγραμματισμός στο RPi με Python.
- Προγραμματίζοντας με WiringPi.
- Διασύνδεση με τους διαύλους I2C , SPI, UART.
- Διασύνδεση με Actuators , Οθόνες, Αναλογικούς και Ψηφιακούς Αισθητήρες.
- Προγραμματισμός πλατφόρμας NXP Freedom με την χρήση MBED Cloud Compiler.
- Προγραμματισμός πλατφόρμας NXP Freedom βασισμένος σε μοντέλα (Model Based Programming) και το Simulink.
- Προγραμματισμός μικρού αυτοκινούμενου οχήματος βασισμένου σε πλατφόρμα μικροελεγκτή ARM. (Μέρος I)
- Προγραμματισμός μικρού αυτοκινούμενου οχήματος βασισμένου σε πλατφόρμα μικροελεγκτή ARM. (Μέρος ΙΙ)
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ
Ι. Γραπτή τελική εξέταση επί του θεωρητικού μέρους του μαθήματος που περιλαμβάνει επίλυση ασκήσεων και προβλημάτων διαβαθμισμένης δυσκολίας. Σε κάθε ερώτημα αναφέρονται οι μονάδες που αξιολογείται. Η εξεταστέα ύλη του μαθήματος ανακοινώνεται στην αρχή του εξαμήνου στην ιστοσελίδα του μαθήματος και οι φοιτητές μπορούν να έχουν κατά τη διάρκεια της εξέτασης οποιοδήποτε σχετικό βιβλίο.
ΙΙ. Αξιολόγηση επί του εργαστηριακού μέρους του μαθήματος:
– Γραπτή ή/και προφορική αξιολόγηση κατά τη διάρκεια εκτέλεσης της κάθε εργαστηριακής άσκησης (20%)
– Ενδιάμεση εξέταση στο μέσο του εξαμήνου (20%)
– Τελική εξέταση στο τέλος του εξαμήνου (60%)
ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ
- Felix Hüning, EMBEDDED DESIGN FOR IOT WITH RENESAS SYNERGY , 2018
- Richard Oed, BASICS OF THE RENESAS SYNERGY PLATFORM, 2018
- Tammy Noergaard, Embedded Systems Architecture, A Comprehensive Guide for Engineers and Programmers, Elsevier 2013
- E. A. Lee and S. A. Seshia, Introduction to Embedded Systems – A Cyber-Physical Systems Ap – proach, Second Edition, MIT Press, 2017.
- Peter Marwedel, Embedded System Design,Embedded Systems, Foundations of Cyber-Physical Systems and the Internet of Things, Springer 2018
- J. W. Valvano, Embedded Systems: Real-Time Interfacing to ARM ® Cortex-M Microcontrollers, ISBN: 978-1463590154, 2014
- J. W. Valvano, Embedded Systems: Real-Time Operating Systems for ARM ® Cortex -M Microcon- trollers, Volume 3, ISBN: 978-1466468863,2017
- JOHN H. DAVIES, MSP430 Microcontroller Basics, NEWNES-ELSEVIER, 2008, ISBN: 978-0-7506- 8276-3
- Jonathan W. Valvano “Embedded Systems: Introduction to ARM®CORTEX-M Microcontrollers”, Volume 1, Fifth Edition, June 2014
- Molloy, D. (2016). Exploring Raspberry Pi: interfacing to the real world with embedded Linux. John Wiley & Sons.
- Monk, S. (2015). Programming the Raspberry Pi: getting started with Python. TAB Electronics.
- Molloy, D. (2014). Exploring BeagleBone: tools and techniques for building with embedded Linux. John Wiley & Sons.