Πανεπιστήμιο Θεσσαλίας
Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Συστήματα Ασύρματων Δικτυών Αισθητήρων (ΜΔΕ-621)

Ακαδημαϊκό έτος 2020-2021, Χειμερινό εξάμηνο

Διδάσκων: Σπύρος Λάλης (lalis@uth.gr), Γραφείο Ε9.
Βοηθοί: Νάσος Γρηγορόπουλος (athgrigo@gmail.com), Γιώργος Πολυχρόνης (gpolychronis@uth.gr), Γιάννης Μπαδάκης (badakis@uth.gr), Γραφείο Β4.

Διαλέξεις: Δευτέρα 08:00-11:00 (Teams)
Φροντιστήριο / Συζήτηση εργασιών: με ανακοίνωση του διδάσκοντα

Υλικό και ανακοινώσεις

Το υλικό του μαθήματος θα βρίσκεται πλέον στο σύστημα eclass (https://eclass.uth.gr/courses/E-CE_P_128/), μέσω του οποίου θα γίνονται και όλες οι ανακοινώσεις του μαθήματος για διαλέξεις, εργασίες και εξετάσεις. Την Παρασκευή 25/9 θα γίνει αρχικοποίηση του eclass σε "καθαρή" κατάσταση. Όσοι ενδιαφέρονται να παρακολουθήσουν το μάθημα αυτό το εξάμηνο θα πρέπει να γραφτούν στο eclass από την Δευτέρα 28/9 και έπειτα.

Το μάθημα θα γίνει εξ' αποστάσεως μέσω της πλατφόρμας teams (201_Μ0117.ΜΔΕ621_ΣΥΣΤΗΜΑΤΑ ΑΣΥΡΜΑΤΩΝ ΔΙΚΤΥΩΝ ΑΙΣΘΗΤΗΡΩΝ). Ο κωδικός εγγραφής θα σταλεί στο eclass την ερχόμενη εβδομάδα. Οι διαλέξεις θα αρχίσουν την εβδομάδα 5-9 Οκτωβρίου. Η πρώτη διάλεξη, όπου θα συζητηθούν ο τρόπος διεξαγωγής και οι κανόνες του μαθήματος, θα γίνει Δευτέρα 5/10 και 09:00-11:00 (δεν θα αρχίσουμε 08:00 γιατί δεν θα χρειαστούμε όλο το 3ωρο).

Περιγραφή

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

Το μάθημα είναι δομημένο γύρω από μια σειρά από εργασιών στο λειτουργικό σύστημα TinyOS και την γλώσσα προγραμματισμού NesC, που θα οδηγήσουν σε μια ολοκληρωμένη πλατφόρμα διάδοσης και εκτέλεσης εφαρμογών σε ένα ασύρματο δίκτυο αισθητήτων. Η ανάπτυξη θα γίνει σε περιβάλλον προσομοίωσης TOSSIM, ενώ πραγματικές δοκιμές θα γίνονται τακτικά χρησιμοποιώντας ενσωματωμένους κόμβους.

Επίσης, κατά την διάρκεια του εξαμήνου, κάθε φοιτητής θα παρουσιάσει από μια εργασία που θα επιλέξει ο ίδιος, με βάση μια ενδεικτική λίστα που θα δοθεί στην αρχή του μαθήματος.

Απαιτήσεις

Το μάθημα απαιτεί πολύ καλές γνώσεις προγραμματισμού σε C. Οι εργασίες απαιτούν σοβαρή προσπάθεια με σημαντική και συστηματική προσωπική ενασχόληση, πολύ πέρα από την βοήθεια που θα δίνεται στις διαλέξεις / φροντιστήριο. Πέρα από πολύ καλές γνώσεις προγραμματισμού, είναι ιδιαίτερα επιθυμητό οι φοιτητές να έχουν παρακολουθήσει βασικά μαθήματα πάνω σε δίκτυα υπολογιστών και κατανεμημένα συστήματα.

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