Απομακρυσμένος έλεγχος σπιτιού με χρήση εφαρμογής Android

Διπλωματική Εργασία uoadl:2866217 245 Αναγνώσεις

Μονάδα:
Κατεύθυνση Ηλεκτρονικός Αυτοματισμός (Η/Α, με πρόσθετη εξειδίκευση στην Πληροφορική και στα πληροφοριακά συστήματα)
Βιβλιοθήκη Σχολής Θετικών Επιστημών
Ημερομηνία κατάθεσης:
2019-03-14
Έτος εκπόνησης:
2019
Συγγραφέας:
Καρτσωνάκης Αντώνιος
Στοιχεία επιβλεπόντων καθηγητών:
Τσίλης Εμμανουήλ, Επίκουρος Καθηγητής, Τμήμα Φυσικής, ΕΚΠΑ
Ρείσης Διονύσιος, Αναπληρωτής Καθηγητής, Τμήμα Φυσικής. ΕΚΠΑ
Αλεξάκης Γεώργιος, Επίκουρος Καθηγητής, Τμήμα Φυσικής, ΕΚΠΑ
Πρωτότυπος Τίτλος:
Απομακρυσμένος έλεγχος σπιτιού με χρήση εφαρμογής Android
Γλώσσες εργασίας:
Ελληνικά
Μεταφρασμένος τίτλος:
Απομακρυσμένος έλεγχος σπιτιού με χρήση εφαρμογής Android
Περίληψη:
Η παρούσα διπλωματική είχε ως στόχο την υλοποίηση ενός συστήματος απομακρυσμένου ελέγχου σπιτιού με τη χρήση μιας εφαρμογής Android. Αυτό το σύστημα έχει ως βάση του έναν server που τρέχει σε Raspberry Pi, ο οποίος χρησιμοποιείται για τον χειρισμό των ηλεκτρικών και ηλεκτρονικών συσκευών, καθώς και για την ενημέρωση του χρήστη της εφαρμογής σχετικά με τις συνθήκες που επικρατούν στο σπίτι με τη χρήση των κατάλληλων αισθητήρων.
Αρχικά, έγινε περιγραφή του server ο οποίος τρέχει σε ένα Raspberry Pi και υλοποιείται με τη χρήση του Flask, ενός Micro web framework της Python το οποίο επιλέχθηκε λόγω του ότι σε αντίθεση με άλλα web framework, όπως για παράδειγμα το django, δεν ήταν από την αρχή φορτωμένο με όλες τις βιβλιοθήκες και τα εργαλεία που χρησιμεύουν στην δημιουργία μιας web app, αλλά δεν θα είχαν καμία χρησιμότητα στην δημιουργία του server για το παρόν σύστημα. Ο server χρησιμοποιεί τα GPIO του Raspberry για την επικοινωνία με τους πομπούς, τους δέκτες και τους αισθητήρες που χρησιμοποιούνται για τον έλεγχο των συσκευών και την ενημέρωση του χρήστη μέσω της εφαρμογής.
Στην συνέχεια, έγινε περιγραφή της εφαρμογής Android, η οποία στην αρχική της οθόνη δίνει την δυνατότητα στον χρήστη να επιλέξει κάποια από τις λειτουργίες του συστήματος. Οι λειτουργίες αυτές είναι η ενημέρωση για την θερμοκρασία και την υγρασία στον χώρο του σπίτιού, ο χειρισμός IR συσκευών, ο χειρισμός RF συσκευών και η ενημέρωση του αν ανιχνεύθηκε κίνηση στον χώρο του σπιτιού από τον αντίστοιχο αισθητήρα. Επιπλέον, κάθε φορά που ανιχνευθεί 5 φορές κίνηση από τον αισθητήρα αποστέλεται στον χρήστη ειδοποίηση με μόνη προυπόθεση να είναι συνδεδεμένος στο internet, χωρίς δηλαδή να χρειάζεται να έχει ανοικτή την εφαρμογή.
Ακολούθως, περιγράφηκε αναλυτικά η υλοποίηση των τεσσάρων λειτουργιών του συστήματος τόσο σε επίπεδο server όσο και σε επίπεδο εφαρμογής. Συγκεκριμένα, αναλύθηκε η υλοποίηση του REST API στον server ώστε να διαχειρίζεται κατάλληλα τα http requests που δέχεται κατά περίπτωση από την εφαρμογή, η οποία χρησιμοποιεί την βιβλιοθήκη Volley του Android για την αποστολή των επιθυμητών requests. Επιπλέον, στον server δημιουργείται ένα ακόμα thread που τρέχει παράλληλα με το routing που χρησιμοποιείται για το REST API, καθώς χρειάζεται να ελέγχεται συνεχώς η κατάσταση του αισθητήρα κίνησης ώστε να σταλεί ειδοποίηση στον χρήστη αν χρειαστεί αλλά και να υπάρχει η δυνατότητα ενημέρωσής του για το πόσες φορές τις τελευταίες ώρες έχει ανιχνευθεί κίνηση.
Τέλος, για να είναι προσβάσιμες από παντού οι λειτουργίες του server μέσω της εφαρμογής Android, γίνεται Port forwarding στο router ώστε τα request που έρχονται για τον server στην IP μας να προωθούνται σε αυτόν. Επειδή όμως η IP του router μας, ουσιαστικά δηλαδή η διεύθυνσή μας στο internet, μεταβάλεται συνεχώς λόγω της χρήσης DCHP από τους ISPs για την απόδοση διευθύνσεων, οδηγούμαστε και στην χρήση των υπηρεσιών Dynamic DNS. Με τις υπηρεσίες αυτές είναι δυνατή η πρόσβαση στον server από παντού, ανεξάρτητα από τις αλλαγές στην IP διεύθυνση του router, με τη χρήση ενός συγκεκριμένου domain name που κατοχυρώνουμε.
Κύρια θεματική κατηγορία:
Θετικές Επιστήμες
Λέξεις-κλειδιά:
Android, Flask, Raspberry Pi, REST API, Firebase Cloud Messaging(FCM)
Ευρετήριο:
Όχι
Αρ. σελίδων ευρετηρίου:
0
Εικονογραφημένη:
Όχι
Αρ. βιβλιογραφικών αναφορών:
35
Αριθμός σελίδων:
55
DiplomatikiKartsonakisAntonios.pdf (891 KB) Άνοιγμα σε νέο παράθυρο