ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εναλλακτικέ
x Πίνακας περιεχοµένων 1 Εισαγωγή...1 1.1 Αντικε
Κεφάλαιο 6 Επίλογος 88 πρόσβαση στο ιστορικό της κίνησης κάποιου χρήστη, αν ο τελευταίος δεν έχει δώσει την ρητή συγκατάθεση του, την οποία έχει τη
Κεφάλαιο 6 Επίλογος 89 6.2 Μελλοντικές επεκτάσεις Με αυτήν την διπλωµατική εργασία επιχειρήθηκε µια προσέγγιση στο επίκαιρο θέµα του εν
Κεφάλαιο 6 Επίλογος 90 διαθέτουν µονίµως µία συσκευή GPS και θα µπορούν να ενηµερώνουν το σύστηµα µε τις µετρήσεις τους σε πραγµατικό χρόνο.
Κεφάλαιο 6 Επίλογος 91 κάλυψης, ούτε µε χιλιάδες χρήστες ταυτόχρονα συνδεδεµένους σε αυτό. Αν και έχουν δηµιουργηθεί όλα τα απαραίτητα
Κεφάλαιο 7 Βιβλιογραφία 92 7 Βιβλιογραφία [Lam05] P. F. Lammertsma. Satellite Navigation. [UCB03] University of California Berkeley. Earth Sci
Κεφάλαιο 7 Βιβλιογραφία 93
xi 4.1.1 Πρωτόκολλο ΝΜΕΑ 0183 ... 27 4.1.2 Java 2 Micro Edition (J2M
xii 6.2 Μελλοντικές επεκτάσεις...89 7 Βιβλιογραφία ...
Κεφάλαιο 1 Εισαγωγή 1 1 Εισαγωγή 1.1 Αντικείµενο της διπλωµατικής Ο εντοπισµός της θέσης ενός ανθρώπου σε σχέση µε τη Γη είναι ένα πρόβληµα που
Κεφάλαιο 1 Εισαγωγή 2 Επιπροσθέτως, το σύστηµα που θα αναπτύξουµε θα πρέπει να µην απαιτεί τη χρήση οποιασδήποτε ειδικής συσκευής, αλ
Κεφάλαιο 1 Εισαγωγή 3 Σε περίπτωση που δεν παρέχουµε καµία υπηρεσία βασιζόµενη σε θέση είναι προφανές ότι ο προσδιορισµός της θέσης του χρήστη καθί
Κεφάλαιο 1 Εισαγωγή 4 πιθανά πεδία για περαιτέρω έρευνα τα οποία µπορούν να αποτελέσουν έναυσµα για µελλοντική επέκταση της διπλωµατικής
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 5 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης Όπως προαναφέρθηκε, υπάρχει ήδη µια πληθώρα τεχνικών εντοπ
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 6 απόστασης µεταξύ του ιδίου και των φάρων – σηµείων αναφοράς, είτε της γωνίας της ευθείας που τους ε
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 7 Θέση του φορητού τερµατικού, όπως Υπολογίζεται από την τοµή των σφαιρών Ο υπολογισµός του ακριβ
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 8 Πλέον λειτουργούν ή θα λειτουργήσουν τα εξής συστήµατα • Navigation Signal Timing and Ranging – NA
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 9 2.1.2 Galileo Positioning System Το Galileo βρίσκεται ακόµα σε αρχικό στάδιο. Αναπτύσσεται από κοι
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 10 2.2 Τεχνικές Βασιζόµενες σε Επίγειο ∆ίκτυο Σε αντίθεση µε τις µεθόδους που αναπτύχθηκαν προη
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 11 Το κινητό είναι συνδεδεµένο στην κυψέλη από όπου λαµβάνει την µέγιστη ισχύ Συνήθως οι πάροχοι
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 12 µιας κλήσης σε νέα κυψέλη, αυξάνοντας το λειτουργικό κόστος. Το µέγεθος της κυψέλης είν
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 13 2.2.2.3 Προβλήµατα Οι παραπάνω µέθοδοι όµως παρουσιάζουν σηµαντικά προβλήµατα που καθυστερούν αρκ
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 14 Το φορητό τερµατικό έχει τη δυνατότητα να εκτιµήσει την θέση του στον χώρο µε µία από τις ακόλουθε
Κεφάλαιο 2 Υπάρχουσες Τεχνικές Εντοπισµού Θέσης 15 τεχνικές χρησιµοποιούνται αποκλειστικά και µόνο για την βελτίωση της εκτίµησης GPS, και δε µπορούν
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 16 3 Ανάλυση της µεθόδου Cell of Origin Στόχος αυτής της διπλωµατικής, όπως προαναφέρθηκε, είνα
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 17 συνιστούν τον χάρτη κάλυψης της υπό εξέτασης περιοχής, είναι δυνατή η εκτέλεση ερωτηµάτων
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εναλλακτικές
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 18 Υπόδειγµα χάρτη κάλυψης µίας κεραίας κινητής τηλεφωνίας. Οι βυθίσεις οφείλονται στην µορφολογία του
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 19 3.2.1 Επίπεδο 0 Το επίπεδο 0, όπως προκύπτει και από το όνοµά του, είναι το απλούστερο και ελ
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 20 3.2.2 Επίπεδο 1 Το επίπεδο 1, για να βελτιώσει την εκτίµηση της θέσης, λαµβάνει υπ’ όψιν του την τε
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 21 τότε, για αποφυγή των σωρευτικών σφαλµάτων, το επίπεδο 1 απενεργοποιείται και παραµένει ανενεργό µέχ
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 22 Αναζήτησε σηµεία µέσα στην κυψέλη που βλέπει το κινητό, µε ισχύ ±2dΒ σε σχέση µε τη µετρούµενη, τα ο
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 23 Ο προηγούµενος τύπος είναι γνωστός ως τύπος του Haversine, και είναι αρκετά ακριβής όσο η απόσταση
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 24 Εκτέλεση επιπέδου 2 Παρατηρήθηκε ότι, λόγω της πολυπλοκότητας των ερωτηµάτων, αυτό το επίπεδο επιβ
Κεφάλαιο 3 Ανάλυση της µεθόδου Cell of Origin 25 Υπολόγισε τη µέση απόσταση µεταξύ των εκτιµήσεων και τη µέση γωνία κίνησης. Αναζήτησε σηµείο σ
Κεφάλαιο 4 Υλοποίηση 26 4 Υλοποίηση Σε αυτό το κεφάλαιο θα γίνει η παρουσίαση των εφαρµογών που υλοποιήθηκαν. Κρίνεται σκόπιµο να π
Κεφάλαιο 4 Υλοποίηση 27 4.1.1 Πρωτόκολλο ΝΜΕΑ 0183 National Marine Electronics Association; issues standards for interfacing marine electronics de
iv Copyright © Εθνικό Μετσόβιο Πολυτεχνείο, 2006 Με επιφύλαξη παντός δικαιώµατος. All rights reserved.
Κεφάλαιο 4 Υλοποίηση 28 6. LLLll.llll: Το γεωγραφικό µήκος από 0 µέχρι 180 µοίρες. Τα 3 πρώτα ψηφία είναι οι µοίρες σε ακέραιο αριθµό, ενώ τα
Κεφάλαιο 4 Υλοποίηση 29 4.1.2.2 Mobile Information Device Profile (MIDP) Τα προφίλ χρησιµοποιούνται για να διαφοροποιήσουν συσκευές της ίδιας διαµ
Κεφάλαιο 4 Υλοποίηση 30 και την προσφορά υπηρεσιών βασιζόµενες σε θέση (LBS) στους χρήστες. Οι εφαρµογές αυτές περιλαµβάνουν: 1. DiplomaC
Κεφάλαιο 4 Υλοποίηση 31 4.2.1 DiplomaCellPhone Η εφαρµογή DiplomaCellPhone αποτελεί το τµήµα του λογισµικού που αναπτύχθηκε για το κινητό τηλέφωνο
Κεφάλαιο 4 Υλοποίηση 32 4.2.3 DiplomaCellServer Ο DiplomaCellServer είναι ο µόνος που διαθέτει το χάρτη κάλυψης λόγω του µεγέθους του τελευταίου.
Κεφάλαιο 4 Υλοποίηση 33 Σχήµα της βάσης δεδοµένων Ακολουθεί αναλυτική εξήγηση του κάθε πίνακα. USER id INT Login Char(15) Password Char(40) Q
Κεφάλαιο 4 Υλοποίηση 34 4.2.6.1 Πίνακας CGIS Όπως έχει ήδη αναφερθεί, το µοναδικό αναγνωριστικό της κυψέλης αποτελείται από 4 πεδία, το cellID, το
Κεφάλαιο 4 Υλοποίηση 35 • Το πεδίο phone. Αποθηκεύει το τηλέφωνο του χρήστη, το οποίο χρησιµοποιείται για την ανάκτηση του κωδικού πρόσβασης. Αποτ
Κεφάλαιο 4 Υλοποίηση 36 • Ο µετρητής countersincechange που αποθηκεύει πόσες επαναλήψεις έγιναν από την τελευταία αλλαγή κυψέλης • Και η Boolean
Κεφάλαιο 4 Υλοποίηση 37 Πλατφορµική Όψη της ∆ιπλωµατικής Εργασίας 4.3 Λεπτοµέρειες υλοποίησης Ακολουθεί η ανάλυση των APIs όλων των δηµόσιων κλά
v Πρόλογος Θα ήθελα να ευχαριστήσω θερµά τον κ. Τιµολέων Σελλή, καθηγητή του τοµέα Τεχνολογίας Πληροφορικής και Υπολογιστών του
Κεφάλαιο 4 Υλοποίηση 38 4.3.1.1 Class Degree Αποθηκεύει τις µοίρες (γεωγραφικό πλάτος ή γεωγραφικό µήκος). Οι µοίρες αποθηκεύονται ως ακέραιος αρ
Κεφάλαιο 4 Υλοποίηση 39 Επιστρέφει: Μία String αναπαράσταση της κλάσης. Η µορφή της απάντησης θα είναι η ακόλουθη: (D)DD,MM.MMMM,{'N&apo
Κεφάλαιο 4 Υλοποίηση 40 • Κατασκευαστές: 1. public Coordinates () Κατασκευάζει την κλάση µε µηδενικά ορίσµατα. 2. public Coordinates (Degree Lat
Κεφάλαιο 4 Υλοποίηση 41 • Ορατά Πεδία: Ουδέν. • Κατασκευαστές: 1. public GPSMeasurement () Κατασκευάζει την κλάση µε µηδενικά ορίσµατα. • Μέθοδ
Κεφάλαιο 4 Υλοποίηση 42 Τις GPS συντεταγµένες του σηµείου που έγινε η µέτρηση. 10. public void setCoordinates (Coordinates coordinates) Όρισµα:
Κεφάλαιο 4 Υλοποίηση 43 Απενεργοποιεί τον Listener, και απολύει την σύνδεση Bluetooth. 3. public void run() Κύρια µέθοδος του νήµατος. Προσδιορ
Κεφάλαιο 4 Υλοποίηση 44 • gps: Στιγµιότυπο της κλάσης GPSListener το οποίο πρέπει να εκκινηθεί. • callBack: ο CommandListener που πρέπει ν
Κεφάλαιο 4 Υλοποίηση 45 4.3.2 Package DiplomaCellPhone.GSM Το πακέτο αυτό επιτρέπει σε µία εφαρµογή την σύνδεση µέσω του 127.0.0.1 loopback µε τον
Κεφάλαιο 4 Υλοποίηση 46 2. public String toString() Επιστρέφει: Μία String αναπαράσταση της κλάσης. Η µορφή της απάντησης θα είναι η ακόλουθ
Κεφάλαιο 4 Υλοποίηση 47 4.3.2.2 Class GSMMeasurement Η κλάση αυτή αποθηκεύει µία µέτρηση GSM, που αποτελείται από το CGI της συνδεδεµένης κυψέλης
vi Περίληψη Ο σκοπός αυτής της διπλωµατικής εργασίας είναι η ανάπτυξη εναλλακτικών τεχνικών εντοπισµού της θέσης µιας συσκευής κινητής τηλεφωνία
Κεφάλαιο 4 Υλοποίηση 48 Την κλάση – µοναδικό αναγνωριστικό της κυψέλης 3. public void setCGI (int CGI) Όρισµα: • CGI: H κλάση – µοναδικό αναγνω
Κεφάλαιο 4 Υλοποίηση 49 Interface Runnable Παρατήρηση: Να µην καλείται απ’ ευθείας από εξωτερική µέθοδο. Την κλήση αυτής της µεθόδου την αναλαµβ
Κεφάλαιο 4 Υλοποίηση 50 4.3.3 Package DiplomaCellPhone.InternetPredictor Το πακέτο αυτό αναλαµβάνει την σύνδεση µε τον διαδικτυακό εξυπηρετητή.
Κεφάλαιο 4 Υλοποίηση 51 Την µέθοδο toString της κλάσης Object. 2. public float getLatitude() Επιστρέφει: Το γεωγραφικό πλάτος ως προσηµασµέ
Κεφάλαιο 4 Υλοποίηση 52 Παράδειγµα: 147.102.12.15:8080/DiplomaCellPhone • user: Ο κωδικός χρήστη (login). • pass: Ο κωδικός πρόσβασης (password). •
Κεφάλαιο 4 Υλοποίηση 53 Την εκτίµηση για την τρέχουσα θέση του χρήστη Εγείρει: • IOException: αν εγερθεί εξαίρεση τέτοιου τύπου από την σύ
Κεφάλαιο 4 Υλοποίηση 54 • internet: Στιγµιότυπο της κλάσης InternetPredictor το οποίο πρέπει να εκτελέσει την verifyLogin(). • callBack: ο Co
Κεφάλαιο 4 Υλοποίηση 55 4.3.3.5 Exception LoginFailedException Η εξαίρεση εγείρεται όταν ο κωδικός της απάντησης από τον server είναι 403: Απαγορε
Κεφάλαιο 4 Υλοποίηση 56 3. public String getToken() Επιστρέφει: Tο επόµενο token του buffer ή null αν ο buffer ισούται µε null. Ο εσωτερικός
Κεφάλαιο 4 Υλοποίηση 57 • title: Ο τίτλος του µηνύµατος. • message: Το κυρίως σώµα του µηνύµατος. • timeout: Η χρονική διάρκεια του µηνύµατος σε m
vii
Κεφάλαιο 4 Υλοποίηση 58 • date: Η ηµεροµηνία ως string στην µορφή DDMMYY, όπως δίνεται από συσκευές GPS. • Μέθοδοι: 1. public String getDate(
Κεφάλαιο 4 Υλοποίηση 59 4.3.4.4 Class Time Η κλάση αυτή χρησιµοποιείται για την αποθήκευση της ώρας. ∆εν γίνεται κάποιος έλεγχος ορθής εισαγωγής
Κεφάλαιο 4 Υλοποίηση 60 Όρισµα: • min: Τα λεπτά της ώρας. 7. public int getSec() Επιστρέφει: Τα δευτερόλεπτα. 8. public void setSec (int se
Κεφάλαιο 4 Υλοποίηση 61 Απολύει την tcp σύνδεση µε τον server. 3. public void isConnected() Επιστρέφει: True αν έχει επιτευχθεί η σύνδεση
Κεφάλαιο 4 Υλοποίηση 62 1. public BTGPSConnector(String url) Κατασκευάζει και αρχικοποιεί την κλάση µε βάση το δοθέν όρισµα. Όρισµα: • url: Η δ
Κεφάλαιο 4 Υλοποίηση 63 1. static public int bufferSize Το µέγεθος του buffer εξόδου. Συνιστάται να διατηρείται µικρότερο των 512 bytes, για να µη
Κεφάλαιο 4 Υλοποίηση 64 Γράφει το string s µαζί µε τον χαρακτήρα αλλαγής γραµµής στο αρχείο. Όρισµα: • s: Το string s για αποθήκευση. Εγείρει
Κεφάλαιο 4 Υλοποίηση 65 http://147.102.12.15:8080/DiplomaCellServer/. Προσέξτε το τελικό /. • Μέθοδοι: 1. public void connect(String requestStr
Κεφάλαιο 4 Υλοποίηση 66 • IOException: αν η http σύνδεση παρουσιάσει κάποιο σφάλµα. 4.3.5.5 Class GoogleConnector extends InternetConnector
Κεφάλαιο 4 Υλοποίηση 67 2. public javax.microedition.lcdui.Image getImage() Επιστρέφει: • Τον χάρτη της περιοχής. Εγείρει: • IOException: α
viii Abstract The purpose of this diploma thesis is the development of alternative positioning techniques of a mobile user, towards the provisi
Κεφάλαιο 4 Υλοποίηση 68 4.3.6.3 Class Coordinates Η κλάση αυτή αποθηκεύει τις συντεταγµένες τις εκτίµησης, ως δύο προσηµασµένους αριθµού
Κεφάλαιο 4 Υλοποίηση 69 • longitude: Το νέο γεωγραφικό µήκος του σηµείου ως προσηµασµένος αριθµός κινητής υποδιαστολής απλής ακρίβειας 5
Κεφάλαιο 4 Υλοποίηση 70 • initialBearingDegrees: Η αρχική γωνία κίνησης ως προς τον µεσηµβρινό. Επιστρέφει: Το σηµείο προορισµού έχοντας γ
Κεφάλαιο 4 Υλοποίηση 71 • depth: Το επίπεδο που πραγµατοποίησε την εκτίµηση. 3. public Prediction(float latitude, float longitude, int accuracy, i
Κεφάλαιο 4 Υλοποίηση 72 Εγείρει: • IllegalArgumentException: αν το predictionDepth είναι αρνητικός αριθµός ή µεγαλύτερος από το µέγιστο
Κεφάλαιο 4 Υλοποίηση 73 κινητό τηλέφωνο θα υποβάλλει αίτηµα τύπου get σε µία από τις ακόλουθες σελίδες και ο εξυπηρετητής θα αναλάβει να
Κεφάλαιο 4 Υλοποίηση 74 Καταρχήν γίνεται έλεγχος αντίστοιχος του login.jsp. Αν ο έλεγχος ήταν επιτυχής, ελέγχεται αν υπάρχει το όρισµα cid. Αν το
Κεφάλαιο 4 Υλοποίηση 75 4.3.9.2 Σελίδα login.jsp Η σελίδα login.jsp εµφανίζει µια φόρµα που επιτρέπει στον χρήστη να εισάγει τον κωδικό
Κεφάλαιο 4 Υλοποίηση 76 4.3.9.6 Σελίδα profile.jsp Ο χρήστης έχει τη δυνατότητα να ενηµερώσει το προφίλ του και να αλλάξει τον κωδικ
Κεφάλαιο 5 Έλεγχος 77 5 Έλεγχος Ο ποιοτικός έλεγχος της διπλωµατικής εργασίας είναι ένα απαραίτητο και αναπόσπαστο τµήµα της. Θα χρη
ix
Κεφάλαιο 5 Έλεγχος 78 • Λειτουργία σε αυτοκινητόδροµο • Λειτουργία σε πόλη Για τον αυτοκινητόδροµο επιλέχθηκε η Αττική Οδός, ένας δρόµος
Κεφάλαιο 5 Έλεγχος 79 παρακάµπταµε έναν αριθµό γραµµών ανά µία γραµµή που διαβάζαµε, επιτυγχάνοντας έτσι το ρυθµό δειγµατοληψίας που επιθυµούµε. Π
Κεφάλαιο 5 Έλεγχος 80 καµία απολύτως πληροφορία του ιστορικού, οι οποίες προφανώς οφείλονται σε τυχαία σφάλµατα, τα οποία είτε αποκόπ
Κεφάλαιο 5 Έλεγχος 81 05010015020025030035040045050035810ΌριοΜέσο Σφάλµα (m) Αττικής Οδού050100150200250Μέσο Σφάλµα (m) ΠόληςΑττική 0Αττική 1Αττική
Κεφάλαιο 5 Έλεγχος 82 Προφανώς το επίπεδο 0 το αλγορίθµου δεν επηρεάζεται από το κατώφλι ισχύος αφού δεν εκµεταλλεύεται την πληροφορία τ
Κεφάλαιο 5 Έλεγχος 83 εξυπηρετητή στην Ελευσίνα από ενός browser που έτρεχε σε έναν φορητό υπολογιστή και έγινε login από τον χρήστη ‘s
Κεφάλαιο 5 Έλεγχος 84 ακολουθούν παρατηρούµε πως εµφανίζεται ο χάρτης στο κινητό, καθώς και η δυνατότητα µεγέθυνσης και σµίκρυνσης. Η πο
Κεφάλαιο 5 Έλεγχος 85 Στις τρεις προηγούµενες εικόνες παρατηρούµε πως εµφανίζεται ο χάρτης στο κινητό τηλέφωνο, καθώς και η δυνατότητα zoom in and
Κεφάλαιο 5 Έλεγχος 86 o Symbian Series 60 2nd Edition Feature Pack 3 (Symbian OS version 8.1a) o CLDC 1.1, MIDP 2.0 • NAVSTAR GPS Device EMTAC B
Κεφάλαιο 6 Επίλογος 87 6 Επίλογος 6.1 Σύνοψη και συµπεράσµατα Εν κατακλείδι µπορούµε να ισχυριστούµε ότι η υλοποίηση της παρούσας διπλω
Komentáře k této Příručce