ΚΟΙΝΩΝΙΚΗ ΔΙΚΤΥΩΣΗ ΜΕΣΩ ΚΙΝΗΤΩΝ ΣΥΣΚΕΥΩΝ: ΧΡΗΣΗ ΔΕΚΤΗ GPS ΓΙΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ ΣΕ ΚΙΝΗΤΗ ΣΥΣΚΕΥΗ Χαρίτων Ευσταθιάδης Σοφία Γεωργιάδου Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής ΕΠΛ 425
OUTLINE Κοινωνική δικτύωση FRIEND Tracker: ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ Global Positioning System (GPS) Neo Freerunner Device Project OpenMoko Ανάκτηση δεδομένων GPS στο Neo Freerunner Ενεργοποίηση wi-fi στο Neo Freerunner Friend TRACKER Ανάπτυξη FriendTracker Ανάπτυξη Friends Tracker: Server-side Ανάπτυξη Friends Tracker: Client-side Future work
ΚΟΙΝΩΝΙΚΗ ΔΙΚΤΥΩΣΗ Οι υπηρεσίες κοινωνικής δικτύωσης είναι ευρέως διαδεδομένες Ο μαγικός κόσμος του διαδικτύου τείνει να γίνει το μέσο γνωριμίας μεταξύ ομάδων ανθρώπων Κοινωνική Δικτύωση: Ομαδοποίηση κάποιων ανεξάρτητων ατόμων για τη δημιουργία μιας κοινότητας όπου τα μέλη της συνδέονται μεταξύ τους κάτω από κάποια σχέση
ΚΟΙΝΩΝΙΚΗ ΔΙΚΤΥΩΣΗ ΚΑΙ ΚΙΝΗΤΕΣ ΣΥΣΚΕΥΕΣ Δυνατότητα ανάπτυξης υπηρεσιών κοινωνικής δικτύωσης σε κινητές συσκευές Εκμηδενισμός των αποστάσεων Χρήση των αισθητήρων των κινητών συσκευών για αύξηση των δυνατοτήτων των εφαρμογών κινητής δικτύωσης
FRIEND TRACKER Μια εφαρμογή κοινωνικής δικτύωσης που ανιχνεύει και απεικονίζει στο χάρτη την ακριβή περιοχή που βρίσκεται κάθε «φίλος», στην οθόνη μιας κινητής συσκευής
FRIEND TRACKER: ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ Γραμμένη σε γλώσσα προγραμματισμού Java Χρησιμοποιεί το εργαλείο GPS Ανακτά πληροφορίες από τον GPS δέκτη Στέλνει της πληροφορίες μέσω wi-fi στον εξυπηρετητή Αποθήκευση και αποστολή στους χρήστες που ανήκουν στη ίδια κοινότητα Οι χρήστες μπορούν να γνωρίζουν τη θέση ενός μέλους της κοινότητας Αναπτύχθηκε στη συσκευή Neo Freerunner και μπορεί να χρησιμοποιηθεί σε οποιαδήποτε πλατφόρμα Linux
GLOBAL POSITIONING SYSTEM (GPS) Aξιοπιστία στην ανίχνευση της θέσης καθώς και στην πλοήγηση του χρήστη Αποτελείται από δύο μέρη: 24 με 32 δορυφόρους GPS δέκτη Χρήσιμο εργαλείο για: Πλοήγηση Ανίχνευση θέσης Πρωτοχρησιμοποιήθηκε από τον Αμερικανικό Στρατό Ανοικτό προς το κοινό από τα τέλη της δεκαετίας του 90
NEO FREERUNNER DEVICE PROJECT OPENMOKO Το Neo Freerunner τρέχει open-source λογισμικά Το project OpenMoko αναπτύσσει Open-source λογισμικά βασισμένα σε Linux Το Neo Freerunner μπορεί επίσης να υποστηρίξει Google Android και Debian Χαρακτηριστικά συσκευής Neo Freerunner: Εσωτερικός δέκτης GPS WiFi GSM και GPRS
ΑΝΑΚΤΗΣΗ ΔΕΔΟΜΕΝΩΝ GPS ΣΤΟ NEO FREERUNNER Χρήση Client/Server μοντέλου κάτω από το TCP/IP πρωτόκολλο IP: localhost Port: 2947 Ο εξυπηρετητής ανοίγει ένα δίαυλο (socket) χρησιμοποιώντας τα port και ip. Ο πελάτης συνδέεται σε αυτό το δίαυλο και εγείρει μία σημαία. Η σημαία δείχνει ότι θέλει να ανακτήσει δεδομένα από το δέκτη GPS Ο εξυπηρετητής στέλνει τα δεδομένα
ΕΝΕΡΓΟΠΟΙΗΣΗ WIFI ΣΤΟ NEO FREERUNNER Τα λογισμικά που προέρχονται από το project Open Moko είναι δοκιμαστικά έχουν πολλά προβλήματα Ένα πρόβλημα είναι το ότι δεν μπορούμε να ενεργοποιήσουμε το Wi-Fi από την διεπαφή του χρήστη Για να ενεργοποιήσουμε το Wi-Fi πρέπει να εκτελέσουμε τα ακόλουθα: Σύνδεση μέσω ssh στο Neo Freerunner Με τη χρήση bash shell εκτελούμε τις εντολές: 1. iwlist eth0 scan To see the available networks 2. iwconfig eth0 essid "networkname To connect to the network 3. ifup eth0 To check if you are connected
ΑΝΑΠΤΥΞΗ FRIEND TRACKER Χρήση Client/Server μοντέλου και TCP/IP πρωτοκόλλου Αναπτύχθηκε σε γλώσσα προγραμματισμού Java Δοκιμάστηκε στη συσκευή Neo Freerunner Firmware: SHR (Stable Hybrid Release)
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER: SERVER Το λογισμικό του εξυπηρετητή είναι εγκατεστημένο σε ένα Public PC, «ορατό» από το διαδίκτυο Με την εκτέλεση του λογισμικού του Εξυπηρετητή: Ανοίγουμε ένα δίαυλο στο port 3456 Περιμένουμε κάποιον πελάτη να συνδεθεί.
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER: SERVER Ανάκτηση αρχείου αιτήσεων με λίστα για πιθανούς φίλους του Έλεγχος αρχείων χρηστών που περιέχονται στην λίστα που παραλάβαμε Αν το όνομα του χρήστη περιέχεται στα αρχεία τότε ο αντίστοιχος χρήστης γίνεται επιβεβαιωμένος φίλος Αποστολή αναβαθμισμένου αρχείου στο χρήστη
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER: SERVER Ο χρήστης αποστέλλει τη θέση του στον εξυπηρετητή μέσω wi-fi. Παραλαβή και αποθήκευση της θέσης σε αρχείο Κάθε χρήστης έχει το δικό του μοναδικό αρχείο Κάποιο μέλος της κοινότητας επιθυμεί να ανακτήσει τη θέση του χρήστη Αποστολή δεδομένων του αρχείου που δημιουργήθηκε
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER CLIENT: Εμφάνιση μιας διεπαφής χρήστη Ο χρήστης μπορεί να επιλέξει ότι επιθυμεί Μπορεί να αποστείλει τη θέση του στο Server
FRIENDS TRACKER CLIENT:
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER CLIENT: Εκτέλεση εφαρμογής πελάτη Σύνδεση στον δίαυλο (socket) του εξυπηρετητή στο port: 3456 Ανανέωση αρχείου κοινότητας Επιλογή Send κουμπιού Ανάκτηση δεδομένων από τον δέκτη GPS Αποστολή δεδομένων GPS στον εξυπηρετητή
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER CLIENT: Επιλογή «φίλου» σε συνδυασμό με το κουμπί get : Αποστολή αίτησης ανάκτησης θέσης του επιλεγμένου φίλου Ανάκτηση θέσης από τον Εξυπηρετητή Εμφάνιση στοιχείων θέσης στην οθόνη του κινητού καθώς και ονόματος περιοχής Εμφάνιση απόστασης χρήστη από τη θέση του φίλου του
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER CLIENT: Απεικόνιση θέσης φίλου σε χάρτη: Μετατροπή δεδομένων GPS από Degrees Minutes Seconds (DMS) τύπο σε Decimal τύπο Μέθοδος: convertdms2dec(double) Ανάκτηση περιοχής χάρτη από openstreermap.org
ΑΝΑΠΤΥΞΗ FRIENDS TRACKER CLIENT: ΠΑΡΑΔΕΙΓΜΑ: ΑΠΕΙΚΟΝΗΣΗ ΘΕΣΗΣ ΣΕ ΧΑΡΤΗ Ο επιλεγμένος φίλος βρισκόταν στο Πανεπιστήμιο Κύπρου όταν απέστειλε τη θέση του στον εξυπηρετητή.
ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ Αποθήκευση θέσης σε κάποια βάση δεδομένων. Έτσι θα είναι εφικτή η ικανοποίηση πιο πολύπλοκων επερωτήσεων Μετατροπή Friend Tracker ούτως ώστε να τρέχει σε πιο εμπορικές κινητές συσκευές