Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες Εργασία 2016-2017
Νέες Τάσεις για τα Δίκτυα Στόχευση της Εργασίας Εισαγωγή Δικτύων 5 ης γενιάς Έμφαση στην επικοινωνία μηχανής με μηχανή tac>le internet έμφαση σε εφαρμογές επικοινωνίας με μηδενική καθυστέρηση Internet of Things.. «οριζόντια» επικοινωνία μεταξύ... people places things
Βασική Περιγραφή της Εργασίας Σύστημα Προειδοποίησης Για Αποφυγή Συγκρούσεων Zητείται η ανάπτυξη εφαρμογής η οποία θα εκμεταλλεύεται την πληροφορία από αισθητήρες των τερματικών android ώστε να προειδοποιεί το χρήστη για επικείμενη πιθανή σύγκρουση με άλλο κινούμενο χρήστη. θεωρούμε ότι οι χρήστες κινούνται προς διάφορες κατευθύνσεις και διαδρομές σε ένα χώρο, όπως π.χ. οι διάδρομοι, το προαύλιο του τμήματος κλπ., έχοντας το κινητό τους τερματικό μπροστά από το σώμα τους. Οι μετρήσεις από τους αισθητήρες (π.χ. εγγύτητας, έντασης φωτισμού, επιτάχυνσης κλπ.) θα πρέπει να χρησιμοποιούνται από την εφαρμογή για να λαμβάνεται μια απόφαση σχετικά με την πιθανότητα σύγκρουσης. Τότε θα πρέπει να ενεργοποιείται ηχητικό και οπτικό σήμα ειδοποίησης.
Βασική Περιγραφή της Εργασίας Η ανάπτυξη του λογισμικού χωρίζεται σε 2 φάσεις: Φάση 1: με βάση τις μετρήσεις των αισθητήρων του android τερματικού ενεργοποιείται ηχητική ειδοποίηση στο χρήστη όταν διαπιστώνεται η πιθανότητα ύπαρξης άλλου πεζού σε πολύ κοντινή απόσταση μπροστά από το χρήστη. Φάση 2: οι μετρήσεις των αισθητήρων τουλάχιστον 2 android τερματικών και οι ενδείξεις από τα gps συλλέγονται σε ένα εξυπηρετητή, όπου η εφαρμογή αναλύει την κίνηση των τερματικών των χρηστών, την κατεύθυνση και την ταχύτητα προσέγγισης και ενεργοποιεί ηχητική ειδοποίηση στους χρήστες όταν διαπιστώνεται η πιθανότητα σύγκρουσης. Bonus: Ανίχνευση είδους αντικειμένου και αντίστοιχη προειδοποίηση Android τερματικών (με χρήση Google Vision)
Εφαρμογή Αποφυγής Σύγκρουσης- Βασική Αρχιτεκτονική
Αρχιτεκτονική του συστήματος (1)
Αρχιτεκτονική του συστήματος(2)
Android Sensors Sensor Type Description Common Uses TYPE_ACCELEROMETER Hardware Measures the acceleration force in m/s 2 that is applied to a Motion detection (shake, tilt, device on all three physical axes (x, y, and z), including the etc.). force of gravity. TYPE_GRAVITY Software or Hardware Measures the force of gravity in m/s 2 that is applied to a device on all three physical axes (x, y, z). Motion detection (shake, tilt, etc.). TYPE_GYROSCOPE Hardware Measures a device's rate of rotation in rad/s around each of Rotation detection (spin, the three physical axes (x, y, and z). turn, etc.). TYPE_LIGHT Hardware Measures the ambient light level (illumination) in lx. Controlling screen brightness. TYPE_LINEAR_ACCELERATION Software or Hardware Measures the acceleration force in m/s 2 that is applied to a Monitoring acceleration device on all three physical axes (x, y, and z), excluding the along a single axis. force of gravity. TYPE_MAGNETIC_FIELD Hardware Measures the ambient geomagnetic field for all three physical axes (x, y, z) in μt. Creating a compass. TYPE_ORIENTATION Software Measures degrees of rotation that a device makes around all Determining device position. three physical axes (x, y, z). As of API level 3 you can obtain the inclination matrix and rotation matrix for a device by using the gravity sensor and the geomagnetic field sensor in conjunction with the getrotationmatrix() method. TYPE_PROXIMITY Hardware Measures the proximity of an object in cm relative to the view screen of a device. This sensor is typically used to determine whether a handset is being held up to a person's ear. Phone position during a call. TYPE_ROTATION_VECTOR Software or Measures the orientation of a device by providing the three Motion detection and Hardware elements of the device's rotation vector. rotation detection.
Συντεταγμένες Κίνησης Τερματικών getdefaultsensor(sensor_type_accelerometer) returns a nonwake-up sensor Ο accelerometer sensor μετρα την επιταχυνση/κινηση της συσκευης κατα μηκος των 3 διαστασεων. Η μετρηση του «accelera>on» περιλαμβανει τη φυσικη επιταχυνση αλλα και τη μετρηση βαρυτητας. Οι μετρησεις καταγραφονται στα πεδια x, y and z του : sensors_event_t.accelera>on. Ολες οι τιμες ειναι σε SI units (m/s^2) και μετρουν το accelera>on της συσκευης μειον τη δυναμη της βαρυτητας κατα μηκος των 3 αξονων. Παραδειγματα: Η νορμα των (x, y, z) τεινει στο 0 κατα την ελευθερη πτωση. Οταν η συσκευη ειναι ακουμπισμενη οριζοντια σε ενα τραπεζι και καποιος τη σπρωξει απο τα αριστερα προς τα δεξια, η τιμη του accelera>on στον αξονα x ειναι θετική. Με τις ιδιες προϋποθεσεις, η τιμη του accelera>on κατα μηκος του αξονα z ειναι +9.81 alo, το οποιο αντιστοιχει στην επιταχυνση της συσκευης (0 m/s^2) μειον τη δυναμη της βαρυτητας(-9.81 m/s^2). Οταν η συσκευη μετακινηθει προς τα πανω (προς τον ουρανο), η τιμη του accelera>on ειναι μεγαλυτερη απο +9.81, το οποιο αντιστοιχει στο accelera>on της συσκευης (+A m/s^2) μειον τη δυναμη βαρυτητας(-9.81 m/s^2).
Τεχνολογίες GNU/Linux distribu>on (Λειτουργικό Σύστημα) Git Java Oracle SE 8 Android Studio Android 4.3 API level 18 ( h ps://developer.android.com/studio/index.html) MQTT (h p://mq.org/) Mosquito MQTT broker (h ps://mosqui o.org/)
Deployment Android Applica>on σε κινητό τερματικό android ή σε android emulator (απαιτείται κατάλληλη ρύθμιση της προσομοίωσης των αισθητήρων). Mosquito broker, server και γραφικό περιβάλλον διαχείρισης σε laptop.
Εκτέλεση εργασίας Δημιουργούνται ομάδες έως 4 ατόμων οι οποίες θα πρέπει να μπορούν να δουλέψουν σε τουλάχιστον 2 android τερματικά και 1 laptop/server. Απαραίτητη είναι η εγγραφή κάθε ομάδας στο gitlab (anapgit.scanlab.gr). Θα πρέπει να δημιουργηθεί ένα νέο gitlab group ανά ομάδα, το οποίο θα φέρει το όνομά της.
Εξέταση Φάση 1: Παρουσίαση της λειτουργικότητας της android εφαρμογής σε πραγματικό χρόνο. Η 1 η φάση της εργασίας θα εξεταστεί με εκτέλεση της εφαρμογής ενώπιων των εξεταστών και με ερωτήσεις σχετικά με την υλοποίηση και το θεωρητικό υπόβαθρο της εργασίας. Καταληκτική ημερομηνία υποβολής: 25/11/2016 Προβλεπόμενη ημερομηνία εξέτασης: 28/11-02/12/2016 Φάση 2: Παρουσίαση της android εφαρμογής σε συνδυασμό με το server και το συνολικό σύστημα. Η 2 η φάση της εργασίας θα εξεταστεί με παρόμοιο τρόπο. Καταληκτική ημερομηνία υποβολής: 10/01/2017 Προβλεπόμενη ημερομηνία εξέτασης: 12-20/01/2017 Οι εργασίες θα ελέγχονται σε όλες τις φάσεις από λογισμικό για ομοιότητες και αυτές που παρουσιάζουν υψηλό βαθμό ομοιότητας θα απορρίπτονται.
Παραδοτέα Στο gitlab group της κάθε ομάδας χρειάζεται να παραδοθούν τα εξής: Πηγαίος κώδικας android εφαρμογής Πηγαίος κώδικας java εξυπηρετητή
Βαθμολόγηση Εργασία 30% 1 η φάση 70% 2 η φάση 20% Bonus Σε περίπτωση που υπάρχει έως 2 μονάδες διαφορά μεταξύ του βαθμού εργασίας και γραπτής εξέτασης προκύπτει ως τελικός βαθμός αυτός της εργασίας. Σε περίπτωση διαφοράς μεγαλύτερης των 2 μονάδων προκύπτει ως τελικός βαθμός ο μέσος όρος της εργασίας και της γραπτής εξέτασης. Απαραίτητη προϋπόθεση: ελάχιστη βαθμολογία 5 τόσο για την εργασία όσο και τη γραπτή εξέταση.
Υποστήριξη της εργασίας Piazza Απάντηση ερωτήσεων από τους εκπαιδευτές uoa/k23b h ps://piazza.com/uoa.gr/fall2016/k23b Ότι έχει απαντηθεί από τους εκπαιδευτές στο piazza θεωρείται ταυτόχρονα και απαντημένο στα πλαίσια της άσκησης ανεξάρτητα από την αρχική εκφώνηση. Φροντιστηριακά μαθήματα Tutorials Κάλυψη αποριών Εκπαιδευτές Σαράντης Πασκαλής Δημήτρης Σουκαράς Ορφέας Θεοφάνης Νικόλας Κουρσιουμπάς Λίνα Μαγουλά