Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α



Σχετικά έγγραφα
Μείνετε πάντα σε επαφή

ANDROID Προγραμματισμός Εφαρμογών

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Σχεδίαση και Ανάπτυξη Ιστότοπων

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ραγδαία τεχνολογική εξέλιξη

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Σχεδιαστικά Προγράμματα Επίπλου

Το Διαδίκτυο των Αντικειμένων και η Δύναμη του Πλήθους (Internet of Things and Crowdsourcing)

RobotArmy Περίληψη έργου

Digital Signage. «Δημιουργικότητα στην Πληροφόρηση»

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης Ενότητα: 8 η

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Internet Business Hellas

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή

Σύστημα Διαχείρισης Φωτισμού. Εφαρμογές, Δυνατότητες & Πλεονεκτήματα

Ει ναι τα Windows που γνωρι ζετε, αλλα καλυ τερα

Instabus Technology Systems. Παρουσίαση Instabus KNX

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

Δικτύωση με τα Windows Vista

Αύξηση πελατών. Λίγα λόγια για Επιτυχημένες προωθήσεις

Κοινωνική Αλληλεπίδραση

Εργασία Τεχνολογίας Α Γυμνασίου: ΕΠΙΚΟΙΝΩΝΙΑ. Αβανίδης Βασίλης

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

Αυτόματος κλιμακοστασίου με τη χρήση PLC. 1 Θεωρητικό μέρος

devolo dlan powerline technology Σύντομη παρουσίαση dlan WiFi ac

Επικοινωνία Ανθρώπου Υπολογιστή

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

SMART BUILDING. Ενεργειακή Αναβάθμιση Κτιριακών Εγκαταστάσεων με Χρήση Νέων Τεχνολογικών Λύσεων

Tynker: Γρήγορος οδηγός για εκπαιδευτικούς

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

Εισαγωγή στη Σχεδίαση Λογισμικού

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Κάντε κλικ για έναρξη

Εισαγωγή 6. Δημιουργία λογαριασμού 13. Εγκατάσταση και λειτουργία του Skype 28. Βασικές λειτουργίες 32. Επιλογές συνομιλίας 48

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Τεχνολογία Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

αντίστοιχο γεγονός. Όταν όντως το κουμπί

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

Security Project Ρέλλος Ιωάννης Διευθυντής Πωλήσεων Χονδρικής

Νεογεωγραφία και Χαρτογραφική Διαδικτυακή Απεικόνιση. Η χρήση Ελεύθερων Γεωγραφικών Δεδομένων και Λογισμικού Ανοιχτού Κώδικα σε Φορητές Συσκευές.

ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΟΡΙΟΥ ΣΥΝΑΡΤΗΣΗΣ

Διεθνής έρευνα για την εξάπλωση των Smartphones και Tablets

Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος

Θέμα: «Διαδικτιακές Εφαρμογές Μελέτης Ευχρηστίας»

Οδηγίες για συμμετοχή σε τηλεδιασκέψεις με χρήση Cisco WebEx

ΣΥΣΤΗΜΑ ΤΗΛΕΔΙΑΧΕΙΡΙΣΗΣ & ΤΗΛΕ-ΕΛΕΓΧΟΥ ΔΙΚΤΥΟΥ ΗΛΕΚΤΡΟΦΩΤΙΣΜΟΥ

Το FUTURE Time Traveller έκλεισε ένα χρόνο!

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 4288 /

Επικοινωνία Ανθρώπου Υπολογιστή. Α1. Εισαγωγή στην ΕΑΥ και γενικές πληροφορίες για το µάθηµα

Λύσεις για έξυπνο σπίτι

Το κινητό τηλέφωνο. Θάνος Ψαρράς. Μαθητής Β4 Γυμνασίου, Ελληνικό Κολλέγιο Θεσσαλονίκης. Επιβλέπων Καθηγητής: Κωνσταντίνος Παρασκευόπουλος

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

Η πρωτοποριακή υπηρεσία για απόλυτο έλεγχο στο χώρο σας! powered by

ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΠΑΡΑΓΩΓΗ ΔΙΑΦΗΜΙΣΗΣ

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Από την αίθουσα διδασκαλίας στην αίθουσα συσκέψεων. 5 τρόποι για να προετοιμάσετε τους σύγχρονους φοιτητές για τον αυριανό επαγγελματικό στίβο

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

Διαφορές single-processor αρχιτεκτονικών και SoCs

Βασικές Έννοιες Web Εφαρμογών

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

ΕΞΥΠΝΟ ΣΠΙΤΙ Η ΒΑΣΙΚΗ ΙΔΕΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία. AtYourService CY : Create a REST API. Δημήτρης Χριστοδούλου

Η πρωτοποριακή υπηρεσία για απόλυτο έλεγχο στο χώρο σας! powered by

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

VELIS EVO ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΪΟΝΤΟΣ

Χαράλαμπος Καραγιαννίδης

Περίληψη ιπλωµατικής Εργασίας

ιαχείριση Τηλεφωνικών Κλήσεων

Διαχείριση Ενέργειας (BEMS)

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Η ΤΑΥΤΟΤΗΤΑ ΜΑΣ. Αναλαμβάνουμε τη μελέτη, εγκατάσταση και υποστήριξη όλων των τηλεπικοινωνιακών συστημάτων VοIP.

Απλά θα είναι μαζί σας...

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

H devolo μας ταξιδεύει στο μέλλον του smart home (Booth tour - IFA 2015)!

Υπολογιστικής Σκέψης

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

«Τεχνολογίες του Διαδικτύου των Αντικειμένων για Εξοικονόμηση Ενέργειας και Άνεση σε Έξυπνα Κτήρια»

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΠΑΤΡΩΝ TO ΠΕΡΙΒΑΛΛΟΝ ΕΙΝΑΙ ΔΙΚΗ ΜΑΣ ΥΠΟΘΕΣΗ

ΟΔΗΓΌΣ ΓΡΉΓΟΡΗΣ ΕΚΚΊΝΗΣΗΣ

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Τμήμα του εθνικού οδικού δικτύου (Αττική οδός)

Υπηρεσίες Διαχείρισης Τηλεφωνικού Κέντρου. «Αποτελεσματικότητα και οικονομία»

Transcript:

Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Π Τ Υ Χ Ι Α Κ Η Ε Ρ ΓΑ Σ Ι Α «ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID» ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΟΣ ΒΡΑΚΑΣ, ΛΕΚΤΩΡ ΘΕΣΣΑΛΟΝΙΚΗ 2012

ΠΕΡΙΛΗΨΗ Π Ε Ρ Ι Λ Η Ψ Η Οι τελευταίες εξελίξεις στο χώρο της τεχνολογίας δείχνουν ότι η πλειοψηφία των χρηστών τείνει να απομακρύνεται από τους παραδοσιακούς σταθερούς και φορητούς υπολογιστές παρά τις μεγάλες δυνατότητες τους και να καταφεύγει σε φορητές λύσεις όπως είναι τα έξυπνα κινητά και οι ταμπλέτες. Η εργασία αυτή είχε σαν σκοπό την ανάπτυξη εφαρμογής που δίνει πρόσβαση στις λειτουργίες των έξυπνων συσκευών μέσω του Διαδικτύου σε μια κινητή συσκευή που έχει εγκατεστημένο το λειτουργικό Android. Κάποιες από αυτές τις συσκευές είναι οι έξυπνες πρίζες, που παρέχουν λειτουργίες χειρισμού και ενημέρωση για τη κατάσταση και τη κατανάλωση ενέργειας, οι πολυαισθητήρες που ενημερώνουν για τις συνθήκες περιβάλλοντος όπως θερμοκρασία, υγρασία και φωτεινότητα και οι έξυπνες δαγκάνες που ενημερώνουν για τη συνολική κατανάλωση ηλεκτρικής ενέργειας ενός κτιρίου. Παρόλα αυτά η εφαρμογή σχεδιάστηκε έτσι ώστε με έναν εύκολο τρόπο να μπορούν να προστεθούν νέες συσκευές και Υπηρεσίες Ιστού χωρίς την ανάγκη νέας ενημέρωσης. Για την υλοποίηση αυτού του στόχου χρειάστηκε η συνεργασία του υπάρχοντος ενδιάμεσου λογισμικού(awesome) που παρέχει τις ενέργειες αυτές μέσω Υπηρεσιών Ιστού που μπορούν να χρησιμοποιηθούν διάμεσου Παγκοσμίου Ιστού. Στην ανάπτυξη επίσης χρειάστηκαν εργαλεία για τη δημιουργία του προγράμματος-πελάτη που καλεί τις Υπηρεσίες Ιστού που προαναφέρθηκαν. Επειδή πρόκειται για ένα γραφικό περιβάλλον που σκοπό έχει να γίνει μέρος μιας μεγαλύτερης διεπαφής Διάχυτης Νοημοσύνης που ακολουθεί τα πρότυπα της Φυσικής Διεπαφής Χρήστη(NUI) δόθηκε μεγάλη έμφαση στο σωστό σχεδιασμό της διεπαφής ώστε να είναι καλαίσθητη, κατανοητή και εύκολη στη χρήση. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID III

ABSTRACT A B S T R A C T The latest advances in technology suggest that the majority of users tend to move away from traditional desktop and laptop computers, despite their great potential and to use in portable solutions such as smartphones and tablets. This work had as purpose the development application that gives access to the functionality of smart devices via the Internet on a mobile device that running Android. Some of these devices are smart plugs, which provide information and operating functions for the status and energy consumption, multi-sensors that inform for environmental conditions such as temperature, humidity and luminance and smart clampers that inform for total electricity consumption of a building. However, the application was designed to provide an easy way to add new devices and Web services without the need of new updates. To achieve this goal it was necessary the cooperation of existing middleware software (awesome) that provides these actions through Web Services that can be used through Web. Also developing tools were needed to create client for Web Services described above. Because this is a graphical interface and was designed to become part of a larger Ambient Intelligence interface follows the standards of Natural User Interface (NUI) there was great emphasis on proper design of the interface to be elegant, understandable and easy to use. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID V

ΕΥΧΑΡΙΣΤΙΕΣ Ε Υ Χ Α Ρ Ι Σ Τ Ι Ε Σ Πριν την παρουσίαση των αποτελεσμάτων της παρούσας εργασίας, αισθάνομαι την υποχρέωση να ευχαριστήσω ορισμένους από τους ανθρώπους που γνώρισα, συνεργάστηκα μαζί τους και έπαιξαν πολύ σημαντικό ρόλο στην πραγματοποίησή της. Καταρχήν, θα ήθελα να ευχαριστήσω τον κ.βράκα Δημήτριο, Λέκτορα του τμήματος για την καθοδήγηση του και για την ευκαιρία που μου έδωσε αναθέτοντας μου αυτή την εργασία και με βοήθησε να μάθω στην πράξη τις νέες τεχνολογίες που χρησιμοποίησα στην εργασία. Θα ήθελα επίσης να ευχαριστήσω τον κ.βλαχάβα Ιωάννη διευθυντή του εργαστηρίου LPIS, για την παραχώρηση όλου του υλικού και του εξοπλισμού και την βοήθεια που ήταν απαραίτητα για την εκπόνηση της εργασίας αυτής. Επιπρόσθετα, θα ήθελα να ευχαριστήσω τον κ. Σταυρόπουλο Θάνο, υποψήφιο διδάκτορα του τμήματος για το πραγματικό ενδιαφέρον και την συνεχή καθοδήγηση κατά τη διάρκεια υλοποίησης της εργασίας Τέλος, θα ήθελα να ευχαριστήσω την οικογένεια μου για την αμέριστη στήριξη τους, την αγάπη και την κατανόηση που μου χάρισαν. <3/7/2012> Πηλικίδης Γεώργιος ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID VII

ΠΕΡΙΕΧΟΜΕΝΑ Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ...17 ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ...21 2.1 ΙΣΤΟΡΙΚΑ ΣΤΟΙΧΕΙΑ...23 2.2 ΠΑΝΤΑΧΟΥ ΠΑΡΟΥΣΑ ΥΠΟΛΟΓΙΣΤΙΚΗ ΔΥΝΑΜΗ...24 2.3 ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΥΠΟΛΟΓΙΣΤΗ...25 2.3.1 ΔΙΑΚΡΙΤΙΚΗ ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ...25 2.3.2 ΜΟΝΤΕΛΟ ΔΙΑΚΡΙΤΙΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ-ΥΠΟΛΟΓΙΣΤΗ...26 2.4 ΠΑΡΑΔΕΙΓΜΑΤΑ ΔΙΕΠΑΦΩΝ ΔΙΑΧΥΤΗΣ ΝΟΗΜΟΣΥΝΗΣ...27 2.4.1 SMART KITCHEN COUNTER...27 2.4.2 SMART FRIDGE...29 2.4.3 SMART HOMES...31 2.4.4 PHILIPS HOMELAB...32 2.4.5 ΔΙΑΔΡΑΣΤΙΚΟΣ ΚΑΘΡΕΠΤΗΣ...32 2.4.6 MICROSOFT SURFACE...33 2.4.7 MICROSOFT XBOX360 KINECT...33 2.5 ΕΞΥΠΝΑ ΚΙΝΗΤΑ ΤΗΛΕΦΩΝΑ...35 2.6 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ...36 2.6.1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΒΑΣΙΣΜΕΝΗ ΣΕ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ...37 2.6.2 ΙΔΙΟΤΗΤΕΣ SOA...37 2.6.3 ΣΧΕΔΙΑΣΤΙΚΕΣ ΠΡΟΚΛΗΣΕΙΣ...38 2.6.4 HYDRA...40 2.6.5 ΟΦΕΛΗ...40 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID IX

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ ΚΕΦΑΛΑΙΟ 3: ΕΡΓΑΛΕΙΑ...43 3.1 ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ANDROID...45 3.1.1 ANDROID SDK...45 3.1.2 ΙΣΤΟΡΙΑ ΓΙΑ ΤΟ ANDROID SDK...46 3.1.3 DALVIK DEBUG MONITOR SERVER...46 3.1.4 ΠΩΣ ΤΟ DDMS ΕΠΙΚΟΙΝΩΝΕΙ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ...46 3.2 ECLIPSE...47 3.3 KSOAP2...47 3.3.1 SOAP ΠΡΩΤΟΚΟΛΛΟ...47 3.4 ZXING...49 3.5 ANDROID DOM XML PARSER...49 3.6 ΓΛΩΣΣΑ XML...50 ΚΕΦΑΛΑΙΟ 4: ΟΔΗΓΟΣ ΧΡΗΣΗΣ...51 4.1 ΑΡΧΙΚΗ ΣΕΛΙΔΑ...53 4.2 ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ...53 4.3 ΠΡΟΒΟΛΗ ΣΥΣΚΕΥΩΝ ΑΝΑ ΚΑΤΗΓΟΡΙΑ...54 4.4 ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΟΜΑΔΑΣ Η ΧΩΡΟΥ...56 4.5 ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΣΥΣΚΕΥΗΣ...57 X ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΠΕΡΙΕΧΟΜΕΝΑ 4.6 ΣΕΛΙΔΑ ΙΔΙΟΤΗΤΩΝ/ΕΝΕΡΓΕΙΩΝ ΣΥΣΚΕΥΗΣ...58 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ...61 5.1 ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ...63 5.2 ΚΛΑΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ...64 5.2.1 PLUGDROID2ACTIVITY CLASS...65 5.2.2 GROUPVIEW CLASS...67 5.2.3 ADDDEVICE CLASS...69 5.2.4 ADDGROUP CLASS...69 5.2.5 DEVICEVIEW CLASS...69 5.2.6 ΚΩΔΙΚΑΣ ΚΛΗΣΗΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ KSOAP2...70 5.2.7 SERVICEXMLPARSER...71 5.2.8 SERVICES.XML...71 5.2.9 ΔΕΙΓΜΑ ΤΟΥ ΑΡΧΕΙΟΥ XML...72 5.2.10 INTRACTIVEARRAYADAPTER CLASS...74 5.2.11 MODEL CLASS...75 5.2.12 GROUP CLASS...75 5.2.13 ROOM CLASS...75 5.2.14 DEVICE CLASS...75 5.2.15 SERVICE CLASS:...76 5.2.16 OPERATION CLASS...76 5.2.17 INPUT,OUTPUT CLASSES...76 ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ...77 ΠΑΡΑΡΤΗΜΑ I: ΑΝΑΦΟΡΕΣ...81 ΠΑΡΑΡΤΗΜΑ II: ΑΚΡΩΝΥΜΑ...85 ΠΑΡΑΡΤΗΜΑ III: ΓΛΩΣΣΑΡΙΟ...89 ΠΑΡΑΡΤΗΜΑ IV: ΕΥΡΕΤΗΡΙΟ...93 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID XI

ΛΙΣΤΑ ΕΙΚΟΝΩΝ Λ ΙΣΤΑ Ε Ι Κ Ο Ν ΩΝ ΕΙΚΟΝΑ 1: ΕΠΕΞΕΡΓΑΣΙΑ ΓΙΝΕΤΑΙ ΠΑΝΤΟΥ!... 24 ΕΙΚΟΝΑ 2: ΜΟΝΤΕΛΟ ΔΙΑΚΡΙΤΙΚΗΣ ΔΙΕΠΑΦΗΣ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ... 27 ΕΙΚΟΝΑ 3: ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΤΟΥ ΕΞΥΠΝΟΥ ΠΑΓΚΟΥ ΚΟΥΖΙΝΑΣ... 28 ΕΙΚΟΝΑ 4: ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΪΟΝΤΩΝ ΑΠΟ ΤΟΝ ΕΞΥΠΝΟ ΠΑΓΚΟ... 29 ΕΙΚΟΝΑ 5: ΣΧΕΔΙΟ ΕΞΥΠΝΟΥ ΨΥΓΕΙΟΥ... 30 ΕΙΚΟΝΑ 6: ΣΧΕΔΙΟ ΕΞΥΠΝΟΥ ΨΥΓΕΙΟΥ... 31 ΕΙΚΟΝΑ 7: ΔΙΑΔΡΑΣΤΙΚΟΣ ΚΑΘΡΕΠΤΗΣ... 33 ΕΙΚΟΝΑ 8: ΕΜΠΕΙΡΙΑ ΔΙΑΔΡΑΣΗΣ ΣΕ ΕΝΑ ΠΟΛΥ-ΑΙΣΘΗΤΗΡΙΑΚΟ ΠΕΡΙΒΑΛΛΟΝ... 35 ΕΙΚΟΝΑ 9: ΔΟΜΗ ΜΙΑΣ ΥΠΗΡΕΣΙΑΣ ΙΣΤΟΥ... 37 ΕΙΚΟΝΑ 10: ΔΟΜΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΒΑΣΙΣΜΕΝΗΣ ΣΕ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ... 39 ΕΙΚΟΝΑ 11: ΣΗΜΑ ΤΟΥ ΕΡΓΟΥ HYDRA... 40 ΕΙΚΟΝΑ 12: ΜΗΝΥΜΑ SOAP ΓΙΑ ΚΛΗΣΗ ΥΠΗΡΕΣΙΑΣ ΙΣΤΟΥ... 48 ΕΙΚΟΝΑ 13: ΜΗΝΥΜΑ SOAP ΓΙΑ ΤΟ ΑΠΟΤΕΛΕΣΜΑ ΚΛΗΣΗΣ... 48 ΕΙΚΟΝΑ 14: ΑΡΧΙΚΗ ΣΕΛΙΔΑ ΕΜΦΑΝΙΣΗΣ ΣΥΣΚΕΥΩΝ... 53 ΕΙΚΟΝΑ 15: ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ... 54 ΕΙΚΟΝΑ 16: ΕΠΙΛΟΓΗ ΚΑΤΗΓΟΡΙΑΣ ΤΑΞΙΝΟΜΗΣΗΣ.... 55 ΕΙΚΟΝΑ 17: ΠΡΟΒΟΛΗ ΤΩΝ ΟΜΑΔΩΝ ΣΥΣΚΕΥΩΝ ΠΟΥ ΕΙΝΑΙ ΑΠΟΘΗΚΕΥΜΕΝΕΣ... 55 ΕΙΚΟΝΑ 18: ΠΡΟΒΟΛΗ ΤΩΝ ΧΩΡΩΝ ΠΟΥ ΕΙΝΑΙ ΑΠΟΘΗΚΕΥΜΕΝΟΙ... 55 ΕΙΚΟΝΑ 19: ΠΡΟΒΟΛΗ ΤΩΝ ΣΥΣΚΕΥΩΝ ΠΟΥ ΥΠΑΡΧΟΥΝ ΜΕΣΑ ΣΕ ΕΝΑ ΧΩΡΟ... 55 ΕΙΚΟΝΑ 20: ΠΡΟΒΟΛΗ ΤΩΝ ΣΥΣΚΕΥΩΝ ΠΟΥ ΥΠΑΡΧΟΥΝ ΜΕΣΑ ΣΕ ΜΙΑ ΟΜΑΔΑ... 56 ΕΙΚΟΝΑ 21: ΕΙΣΑΓΩΓΗ ΝΕΟΥ ΧΩΡΟΥ ΚΑΙ ΝΕΑΣ ΟΜΑΔΑΣ... 56 ΕΙΚΟΝΑ 22: ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΣΥΣΚΕΥΗΣ... 57 ΕΙΚΟΝΑ 23: ΜΗΝΥΜΑ ΓΙΑ ΤΗΝ ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΣΥΣΚΕΥΗΣ... 57 ΕΙΚΟΝΑ 24: ΑΦΑΙΡΕΣΗ ΣΥΣΚΕΥΗΣ ΑΠΟ ΤΟ ΧΩΡΟ... 58 ΕΙΚΟΝΑ 25: ΑΦΑΙΡΕΣΗ ΣΥΣΚΕΥΗΣ ΑΠΟ ΤΗΝ ΟΜΑΔΑ... 58 ΕΙΚΟΝΑ 26: ΜΗΝΥΜΑ ΓΙΑ ΤΗΝ ΑΝΑΝΕΩΣΗ ΤΗΣ ΠΡΟΒΟΛΗΣ... 58 ΕΙΚΟΝΑ 27: ΣΥΣΚΕΥΗ PLUGWISE... 59 ΕΙΚΟΝΑ 28: ΣΥΣΚΕΥΗ SMART CLAMPER... 59 ΕΙΚΟΝΑ 29: ΣΥΣΚΕΥΗ PRISMA SENSOR... 60 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID XIII

ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ Λ Ι Σ ΤΑ Σ Χ Η Μ ΑΤ ΩΝ ΣΧΗΜΑ 1: ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ... 63 ΣΧΗΜΑ 2: ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΥΤΩΝ... 63 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID XV

Κ Ε Φ Α Λ Α Ι Ο 1 : Ε Ι Σ Α Γ Ω Γ Η

ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΕΙΣΑΓΩΓΗ Η εργασία αυτή είχε σαν σκοπό την ανάπτυξη εφαρμογής που δίνει πρόσβαση στις λειτουργίες των έξυπνων συσκευών μέσω του Διαδικτύου. Για την υλοποίηση αυτού του στόχου χρειάστηκε η συνεργασία ενδιάμεσου λογισμικού(awesome) που παρέχει τις ενέργειες αυτές μέσω του Παγκοσμίου Ιστού καθώς και εργαλεία για τη χρήση τους μέσω μιας κινητής συσκευής που έχει εγκατεστημένο το λειτουργικό Android. Στην εφαρμογή αυτή εισάγεται η δυνατότητα χρήσης των Υπηρεσιών Ιστού από μία κινητή συσκευή καθώς χωρίς ένα αυτοματοποιημένο εργαλείο έτσι ώστε να μπορεί εύκολα να υποστηρίξει νέες έξυπνες συσκευές και Υπηρεσίες Ιστού. Οι τελευταίες εξελίξεις στο χώρο της τεχνολογίας δείχνουν ότι η πλειοψηφία των χρηστών τείνει να απομακρύνεται από τους παραδοσιακούς σταθερούς και φορητούς υπολογιστές παρά τις μεγάλες δυνατότητες τους και να καταφεύγει σε φορητές λύσεις όπως είναι τα έξυπνα κινητά και οι ταμπλέτες. Επίσης, αυτή η εργασία χρησιμοποιεί ένα τρόπο χρήσης των Υπηρεσιών Ιστού χωρίς πολύπλοκη παραμετροποίηση και διαφορετική προσέγγιση με βάση μία συγκεκριμένη Υπηρεσία Ιστού. Χρησιμοποιείται ένα αρχείο δήλωσης ιδιοτήτων, σημασιολογικών πληροφοριών και κειμένου προσαρμοσμένων προς εμφάνιση στον χρήστη, που δίνει την ευελιξία άμεσης εισαγωγής και χρήσης νέων Υπηρεσιών Ιστού απλώς με την παραμετροποίηση του αρχείου xml. Δίνεται σε αυτό το σημείο λοιπόν μια πιο αφαιρετική προσέγγιση των Υπηρεσιών Ιστού που βοηθάει στην αποσύνδεση των συνεχών ενημερώσεων από τον προγραμματιστή όταν γίνεται η οποιαδήποτε αλλαγή από τον προγραμματιστή των Υπηρεσιών Ιστού Η εργασία δομείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 2, αναλύεται το θεωρητικό επιστημονικό υπόβαθρο που σχετίζεται με την Διάχυτη Νοημοσύνη και τις διεπαφές ανθρώπου-υπολογιστή σε ένα τέτοιο πλαίσιο καθώς και παραδείγματα αυτών και με τις Υπηρεσίες Ιστού και την αρχιτεκτονική που βασίζεται σε αυτές Στο Κεφάλαιο 3, παρουσιάζονται τα εργαλεία που χρησιμοποιήθηκαν όπως android SDK, Eclipse IDE, ksoap2, Zxing, XML, SOAP μηνύματα και android XML Parser. Στο Κεφάλαιο 4, υπάρχει μια αναλυτική παρουσίαση των δυνατοτήτων της εφαρμογής Στο Κεφάλαιο 5, αναλύεται ο τρόπος υλοποίησης της εφαρμογής Plugdroid Στο Κεφάλαιο 6, παρουσιάζονται τα συμπεράσματα που βγήκαν από αυτή την εργασία Στο Παράρτημα I παρουσιάζονται αλφαβητικά η που αναφέρονται στην εργασία. Στο Παράρτημα IΙ παρουσιάζονται τα ακρωνύμια τα οποία χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IIΙ παρουσιάζεται το γλωσσάριο ξενικών όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. Στο Παράρτημα IV παρουσιάζεται το ευρετήριο των όρων οι οποίοι χρησιμοποιούνται σε αυτή την εργασία για την διευκόλυνση του αναγνώστη. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 19

Κ Ε Φ Α Λ Α Ι Ο 2 : Θ Ε Ω Ρ Η Τ Ι ΚΟ Υ Π Ο Β Α Θ Ρ Ο

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Με τον όρο Περιβάλλουσα ή Διάχυτη Νοημοσύνη(Ambient Intelligence), θεωρείται η επικοινωνία των ανθρώπων με ένα σύνολο ηλεκτρονικών συσκευών με έξυπνο τρόπο, και είναι μια εφαρμογή της επιστήμης της Τεχνητής Νοημοσύνης. Ως Νοημοσύνη νοείται η αλληλεπίδραση με τρόπο που εμφανίζει πρόβλεψη, προσαρμογή και δυναμικότητα. Ως Διάχυτη ή Περιβάλλουσα ορίζεται η ιδιότητα των συστημάτων της απανταχού παρουσίας με έναν μη επεμβατικό τρόπο. Μέσα στο σύνολο των συσκευών εντάσσονται συμπαγείς συσκευές που έχουν κάποιας μορφής υπολογιστική ισχύ. Έχουν, επίσης, τη δυνατότητα να προσαρμόζουν συνέχεια τις συνθήκες του περιβάλλοντος των χρηστών με σκοπό να διευκολύνουν την καθημερινή ζωή και τις εργασίες των χρηστών. Κάποια παραδείγματα λειτουργιών αυτών των συσκευών είναι η μεταξύ τους σύνδεση, στο τοπικό δίκτυο ή και το Διαδίκτυο και ο έλεγχος γεωγραφικών, κλιματικών και ενεργειακών πληροφοριών. Τέτοιες συσκευές συνήθως έχουν χαμηλό χρηματικό κόστος και κατέχουν, άλλο πια, μεγάλο ποσοστό της αγοράς. Ο «Έξυπνος» τρόπος έγκειται στις λειτουργίες που έχουν δοθεί μέσω λογισμικού που τις ενοποιεί και τις κάνει να μοιάζουν ως μια οντότητα. 2.1 ΙΣΤΟΡΙΚΑ ΣΤΟΙΧΕΙΑ Όσον αφορά την ιστορία του κλάδου, η πρώτη φορά που κάποιος ασχολήθηκε με τη Διάχυτη Νοημοσύνη ήταν το 1998 όταν η Philips οργάνωσε μια σειρά από παρουσιάσεις και ενδοεταιρικά σεμινάρια έχοντας ένα όραμα μέχρι το 2020 να δημιουργηθεί ένα οικιακό περιβάλλον που θα αποτελείται από συσκευές που θα παρέχουν διάχυτη επικοινωνία, ψυχαγωγία και πληροφόρηση. Ο πρώτος εισηγητής του όρου «Διάχυτη Νοημοσύνη» ήταν ο Simon Birrell, στα πλαίσια του ίδιου έργου. Από τότε η Philips ύστερα από τη στρατηγική συμμαχία της με την Oxygen, στις 24/4/2002 εγκαινίασε το HomeLab ένα χώρο που προσομοιώνει μία οικία και αποτελεί την υποδομή για θεωρητική και πρακτική έρευνα πάνω στο αντικείμενο καθώς και την δοκιμή του σε πραγματικές συνθήκες. Επίσης, έχει ήδη πραγματοποιηθεί το πρώτο ευρωπαϊκό συμπόσιο Διάχυτης Νοημοσύνης το 2004 (EUSAI). Σήμερα πολλά πανεπιστήμια, οργανισμοί και εταιρείες ανά τον κόσμο έχουν οργανώσει ερευνητικές ομάδες που ασχολούνται αποκλειστικά με τον σχεδιασμό και την υλοποίηση ωριμότερων συστημάτων. Κάποια παραδείγματα είναι τα εξής: η Ευρωπαϊκή Επιτροπή που στο πλαίσιο της «Πληροφορία, Κοινωνία και Τεχνολογία (IST)» διέθεσε έναν προϋπολογισμό 3.700εκ. για την περαιτέρω ανάπτυξη του οράματος. Επιπρόσθετα, Πανεπιστήμια σε χώρες όπως το Ηνωμένο Βασίλειο, Ισπανία, Σιγκαπούρη, Ιταλία, Γαλλία έχουν τις δικές τους ερευνητικές ομάδες. Τέλος, η Διάχυτη Νοημοσύνη τα τελευταία χρόνια έχει αρχίσει να επεκτείνεται και σε εξωοικιακές εφαρμογές όπως οι υπηρεσίες υγείας. Η Διάχυτη Νοημοσύνη στις μέρες μας έγκειται σε εφαρμογές αυτοματισμού και απανταχού υπολογίζειν (ubiquitous computing) που αποτελούν την υποδομή για πιο ολοκληρωμένα συστήματα που περά από τις πιλοτικές εφαρμογές είναι κάτι που προσδοκείτε να υπάρχει στο μέλλον. Τέτοια παραδείγματα βλέπουμε καθημερινά, μερικά από αυτά είναι τηλεοράσεις, κινητά με λειτουργικό σύστημα, κονσόλες παιχνιδιών κ.α. Οι συσκευές GPS για παράδειγμα που μπορούν να χειριστούν την ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 23

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ ακριβή γεωγραφική θέση βρίσκονται σήμερα σε αυτόνομες συσκευές, ενσωματωμένες σε αυτοκίνητα ή κινητά τηλέφωνα. Ο τηλεχειρισμός των μηχανημάτων έχει γίνει αναπόσπαστό κομμάτι των κινήσεων μας εντός και εκτός σπιτιού π.χ. τηλεχειρισμός τηλεόρασης, ηχοσυστήματος, κλιματιστικού, έλεγχος θερμοκρασίας, συστήματος προβολής μέσω βιντεοπροβολέα αλλά και κλείδωμα του αυτοκινήτου και τηλεχειρισμός των πορτών του σπιτιού. Ο προγραμματισμός λειτουργίας σε οικιακές συσκευές για την αποφυγή λειτουργίας σε ώρες αιχμής. Όλα αυτά τα παραδείγματα έχουν μια κοινή βάση. Παρέχουν κάποια μορφή επεξεργασίας δεδομένων και είναι αποδείξεις ότι η επικοινωνία των χρηστών γίνεται πιο εύκολη, οι διεπαφές πιο εξυπηρετικές και εξελίσσεται ταυτόχρονα η επικοινωνία μεταξύ συσκευών. 2.2 ΠΑΝΤΑΧΟΥ ΠΑΡΟΥΣΑ ΥΠΟΛΟΓΙΣΤΙΚΗ ΔΥΝΑΜΗ Εικόνα 1: Επεξεργασία γίνεται παντού! Ο Weiser το 1991 επινόησε τον όρο Πανταχού Παρούσα Υπολογιστική Δύναμη (ubiquitous computing) αναφερόμενος στην πανταχού παρουσία υπολογιστών που εξυπηρετούν τους ανθρώπους στη καθημερινή τους ζωή στο σπίτι και στην εργασία, λειτουργώντας αόρατα και διακριτικά στο παρασκήνιο και τους απελευθερώνουν σε μεγάλο βαθμό από χρονοβόρες εργασίες ρουτίνας. Σύμφωνα με το γενικό ορισμό που χρησιμοποιείται η Πανταχού Παρούσα Υπολογιστική Δύναμη είναι κάθε τεχνολογία της Πληροφορικής που επιτρέπει την αλληλεπίδραση του ανθρώπου μακριά από ένα μόνο σταθμό εργασίας. Αυτό περιλαμβάνει τεχνολογία βασισμένη σε πένα, φορητές 24 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ συσκευές ή συσκευές χειρός, μεγάλες διαδραστικές οθόνες, ασύρματη δικτυακή υποδομή και φωνητική η γραφική τεχνολογία. Αυτός ο ορισμός δόθηκε από τον Abowd το 2004. 1 Στην τελική του μορφή, Πανταχού Παρούσα Υπολογιστική Δύναμη θεωρείται κάθε υπολογιστική συσκευή, που ενώ κινείται μαζί σας, μπορεί να δημιουργήσει σταδιακά δυναμικά μοντέλα που ανταποκρίνονται στις διαφορές των περιβαλλόντων και να διαμορφώνει ανάλογα τις υπηρεσίες της. Οι συσκευές μπορούν είτε να «θυμούνται» προηγούμενα περιβάλλοντα ή να δημιουργούν ενεργά υπηρεσίες στα νέα περιβάλλοντα (Lyytinen and Yoo 2002). Το 1999 σε δήλωση περί το όραμα της, το Πρόγραμμα Συμβουλευτικής για τις τεχνολογίες της κοινωνίας της Ευρωπαϊκής Ένωσης(European Union s Information Society Technologies Program Advisory Group-ISTAG) χρησιμοποίησε τον όρο «Διάχυτη Νοημοσύνη» με παρόμοιο τρόπο για να περιγράψει ένα όραμα όπου «Οι άνθρωποι θα πρέπει να περιβάλλονται από έξυπνες και διαισθητικές διεπαφές που είναι ενσωματωμένες σε καθημερινά αντικείμενα που μας περιβάλλουν και ένα περιβάλλον που αναγνωρίζει και ανταποκρίνεται στην παρουσία ατόμων με έναν αόρατο τρόπο»(ahola 2001). Σύμφωνα με τους παραπάνω ορισμούς είναι εύκολο να καταλάβει κανείς πόσο συνδέεται η Διάχυτη Νοημοσύνη με την Πανταχού Παρούσα Υπολογιστική Δύναμη. Πολλές φορές λόγω των περιορισμένων εφαρμογών ευρείας έκτασης στις μέρες μας οι δύο όροι αναφέρονται σε ίδια συστήματα. 2.3 ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΥΠΟΛΟΓΙΣΤΗ Η επικοινωνία της πληροφορίας που προέρχεται από ένα υπολογιστικό σύστημα με κατεύθυνση προς τον άνθρωπο καθώς και η επίδραση της διαδικασίας του υπολογιστή στον άνθρωπο αναφέρεται ως Επικοινωνία Ανθρώπου Υπολογιστή (Human-Computer-Interaction HCI). Διαδραστικές εφαρμογές προσφέρουν μια έγκαιρη και διπλής κατεύθυνσης επικοινωνία μεταξύ υπολογιστικού συστήματος και ανθρώπου. Οι παραδοσιακές διεπαφές χρήστη των διαδραστικών προγραμμάτων περιέχουν συγγραφή κειμένου, γραφικά, φωνητική επικοινωνία, χειρονομίες και συνδυασμό αυτών, συχνά αποκαλούμενο και ως πολυτροπική διεπαφή. Η επικοινωνία Ανθρώπου-Υπολογιστή δεν είναι περιορισμένη μόνο σε συμβατικά συστήματα γραφείου. Συσκευές επεξεργασίας δεδομένων( Λογικά κυκλώματα, ελεγκτές κτλ) υπάρχουν ενσωματωμένες σε πολλές συσκευές όπως κινητά τηλέφωνα, κάμερες, συσκευές τηλεόρασης όπου η διεπαφή αξιολογείται ως κρίσιμος παράγοντας. Η σχεδίαση τέτοιων διεπαφών έχει τις δικές της αφανείς προκλήσεις, ανάλογα και με τον τύπο της συσκευής. 2.3.1 Διακριτική Επικοινωνία Ανθρώπου Υπολογιστή Μια σαφής διεπαφή έρχεται σε αντίθεση με την ιδέα της αόρατης επεξεργασίας, την έλλειψη διεπαφών και τη Διάχυτη Νοημοσύνη. Είναι απαραίτητα άλλα παραδείγματα για να διαπιστώσουμε την ιδέα του περιβάλλοντος που περιέχει διάχυτη επεξεργασία 1 http://journals.tdl.org/jodi/article/viewarticle/149/147 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 25

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ δεδομένων. Μια σαφής παραδοσιακή διεπαφή δεν κρίνεται κατάλληλη για αυτό το σκοπό. Η Διακριτική Επικοινωνία Ανθρώπου Υπολογιστή (Implicit Human-Computer- Interaction ihci) είναι η επικοινωνία του ανθρώπου με το περιβάλλον και τα αντικείμενα η οποία είναι επικεντρωμένη στην επίτευξη ενός στόχου. Μέσα σε αυτή τη διαδικασία το σύστημα λαμβάνει διακριτικά μία είσοδο και παρουσιάζει διακριτικά την έξοδο του. Η βασική ιδέα είναι ότι η Διακριτική Επικοινωνία Ανθρώπου Υπολογιστή επιτρέπει την σχεδόν αόρατη χρήση των υπολογιστικών συστημάτων. Αυτό δίνει τη δυνατότητα στο χρήστη να ολοκληρώσει την εργασία του επικοινωνώντας με το φυσικό του περιβάλλον και μέσω αυτού με το σύστημα. Ας μελετήσουμε μερικά απλά παραδείγματα μιας τέτοιας επικοινωνίας. Ο ιδιοκτήτης του σπιτιού πλησιάζει ερχόμενος από έξω, την εξώπορτα του σπιτιού του και είναι σκοτεινά γύρω του, τότε ανάβει ένα φώς. Δύο απλοί αισθητήρες(φωτός και ανίχνευσης κίνησης) ενεργοποιούνται και, σε αυτή τη περίπτωση, χωρίς τη χρήση λογισμικού δίνουν παροχή ρεύματος στη λάμπα. Ο ιδιοκτήτης οδηγεί προς το σπίτι του. Τόσο το αυτοκίνητο όσο και η πόρτα του υπογείου είναι εξοπλισμένα με ένα ασύρματο σύστημα επικοινωνίας. Ο οδηγός πλησιάζει και η πόρτα ανοίγει ώστε να περάσει με το αυτοκίνητο μέσα χωρίς να σταματήσει καθόλου. Το σύστημα κλιματισμού ενός κτιρίου μιας εταιρείας είναι προγραμματισμένο να λειτουργεί μόνο τις ώρες λειτουργίας της εταιρείας. Στα γραφεία των εξωτερικών πωλητών είναι ρυθμισμένο να λειτουργεί μόνο όταν βρίσκονται άτομα μέσα και η αίθουσα συνεδριάσεων να ελεγχθεί κλιματικά μόνο όταν είναι προγραμματισμένη μία συνάντηση. Υπάρχουν όμως και παραδείγματα που δεν είναι τόσο ξεκάθαρη η αντίδραση που θα πρέπει να έχει το σύστημα. Ας φανταστούμε έναν άνθρωπο που κάθεται στον καναπέ του σαλονιού και έχει δίπλα του ένα φως για διάβασμα και σε γωνία με αυτόν μια τηλεόραση. Υπάρχει ένα σύστημα το οποίο αντιδράει ως εξής: Ανοίγει το φως διαβάσματος όταν ανοίγει ένα βιβλίο ο χρήστης και για όσο είναι ανοιχτό. Όταν γυρίσει το κεφάλι του προς τα εκεί ανοίγει η τηλεόραση. Σε αυτό το σύστημα υπάρχουν προβλήματα ασάφειας παρόλο που δεν είναι άμεσα διακριτά. Αν ο χρήστης βλέπει τηλεόραση και ανοίξει ένα περιοδικό σχετικά με το πρόγραμμα της τηλεόρασης, τι θα πρέπει να κάνει το σύστημα; 2.3.2 Μοντέλο Διακριτικής Επικοινωνίας Ανθρώπου- Υπολογιστή Είναι φανερό ότι θα πρέπει να υπάρχει ένα πρότυπο για την υλοποίηση τέτοιων διεπαφών. Παρακάτω αναλύουμε το μοντέλο ihci. Στην εικόνα παρουσιάζεται μια αφαιρετική περιγραφή του μοντέλου. Όλες οι δραστηριότητες ενός χρήστη λαμβάνουν χώρα σε ένα συγκεκριμένο πλαίσιο. Καθημερινά όλοι μας έχουμε μια έντονη και σαφής διάδραση με το περιβάλλον μας( όταν καθόμαστε στον καναπέ, όταν πίνουμε ένα ποτήρι νερό, όταν κοιμόμαστε) παρόλο που δεν είμαστε σε θέση να αντιληφθούμε την έκταση της. Όλα τα πλαίσια και οι καταστάσεις είναι μέρος ολόκληρου του κόσμου μας, αλλά η αντίληψη του κόσμου υπαγορεύεται από το στιγμιαίο πλαίσιο όπου βρίσκεται κανείς. Μια σαφής διάδραση ενσωματωμένη σε 26 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ένα πλαίσιο είναι συχνά τρόπος για να επεκτείνει ο χρήστης το δικό του πλαίσιο, για παράδειγμα έχοντας πρόσβαση στο Διαδίκτυο. Εφαρμογές που είναι σύμφωνες με το μοντέλο λαμβάνουν σαν είσοδο όλο το πλαίσιο του χρήστη και επηρεάζουν το περιβάλλον με μια διακριτική έξοδο. Το μοντέλο αυτό έχει ως βάση το παραδοσιακό μοντέλο διάδρασης Ανθρώπου-Υπολογιστή με τη διαφορά ότι ο χρήστης δίνει τη προσοχή του σε όλο το πλαίσιο στο οποίο περικλείεται το οποίο είναι το περιβάλλον που πραγματοποιείται η διαδικασία. Η διάδραση με το περιβάλλον είναι επίσης μια διακριτική είσοδος στο σύστημα που αυτό με τη σειρά του έχει σας έξοδο μια επίδραση στο περιβάλλον. Εικόνα 2: Μοντέλο Διακριτικής Διεπαφής Ανθρώπου Υπολογιστή 2.4 ΠΑΡΑΔΕΙΓΜΑΤΑ ΔΙΕΠΑΦΩΝ ΔΙΑΧΥΤΗΣ ΝΟΗΜΟΣΥΝΗΣ Παρακάτω αναλύονται μερικές διεπαφές χρήστη σε περιβάλλοντα Διάχυτης Νοημοσύνης 2.4.1 Smart kitchen counter 2 Στο έξυπνο σπίτι της Microsoft(Microsoft Smart Home) υπάρχει ένα πρωτότυπο σύστημα που υλοποιεί τον έξυπνο πάγκο της κουζίνας και ονομάζεται Smart Kitchen Counter. Μία κάμερα και ένας βιντεοπροβολέας είναι τοποθετημένοι πάνω από τον πάγκο της κουζίνας. Με τη βοήθεια της τεχνολογίας Oasis της Εταιρείας Intel, η κάμερα αναγνωρίζει με βάση τα σχήματα και τα χρώματα τα υλικά που τοποθετήθηκαν επάνω στον πάγκο. Ένα σύνολο εκπαίδευσης έχει δημιουργηθεί και καθημερινά μεγαλώνει ώστε να αναγνωρίζει περισσότερα αντικείμενα. Όλα αυτά 2 http://www.technologyreview.com/news/419639/a-kitchen-countertop-with-a-brain/ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 27

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ ενσωματώνονται σε μία συσκευή μικρότερη από ένα κινητό τηλέφωνο που μπορεί να ενσωματωθεί δίπλα από τα φώτα κάτω από τα ντουλάπια και μέσω ασύρματης τεχνολογίας να επικοινωνεί με το Διαδίκτυο και την βάση δεδομένων Εικόνα 3: Μενού επιλογών του έξυπνου πάγκου κουζίνας Ο χρήστης τοποθετεί τα προϊόντα που αγόρασε στο πάγκο της κουζίνας όπως μια σακούλα αλεύρι ή ένα κουτί γάλα και το σύστημα τα αναγνωρίζει και εμφανίζει τις διατροφικές τους πληροφορίες. Αφού ο χρήστης επιβεβαιώσει τα υλικά και δει την διατροφική τους αξία, ρωτά αν χρειάζεται βοήθεια. Αν ο χρήστης απαντήσει «ΝΑΙ» χρησιμοποιώντας μόνο τη φωνή του, τότε εμφανίζεται μια μεγάλη οθόνη στον πάγκο. Καταρχήν, αν υπάρχουν παραπάνω από ένα υλικά, εμφανίζεται ένα μενού στο οποίο εμφανίζεται και η επιλογή ΣΥΝΤΑΓΕΣ. Αν ο χρήστης πει «ΣΥΝΤΑΓΕΣ» τότε εμφανίζονται επάνω στο πάγκο συνταγές που είναι φιλτραρισμένες σύμφωνα με τα υλικά που βρίσκονται πάνω σε αυτόν. Μόλις ο χρήστης δει τη συνταγή που τον ενδιαφέρει λέει το όνομα της. Στη συνέχεια και για κάθε επόμενο βήμα το σύστημα τον καθοδηγεί φωνητικά στη εκτέλεση της συνταγής ενώ εμφανίζει τα υλικά της συνταγής και τις οδηγίες εκτέλεσης στον πάγκο και ενημερώνει πότε είναι έτοιμος ο χρήστης να προχωρήσει στο επόμενο βήμα της συνταγής. Υπάρχει επίσης η δυνατότητα να προσμετρείται ο χρόνος που βρίσκονται τα υλικά εκτός ψυγείου ώστε να ειδοποιείται ο χρήστης για την επαναφορά τους στην ψύξη όπως για παράδειγμα ένα παγωτό. Επιπρόσθετα, δημιουργείται ένα καθάλι με τα προιόντα που υπάρχουν ήδη στο σπίτι και ποια τελείωσαν και μετά από επιβεβαίωση δημιουργείται μια λίστα για ψώνια η οποία συγχρονίζεται με την αντίστοιχη εφαρμογή σε ένα smartphone. 34 3 http://www.smartergadgets.com/2006/04/11/smart-kitchen-countertop/ 4 http://www.designbuzz.com/entry/oasis-smart-kitchen-countertop-makes-you-smarter-than-a-cook/ 28 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Εικόνα 4: Αναγνώριση προϊόντων από τον έξυπνο πάγκο 2.4.2 Smart fridge 5 Υπάρχουν περισσότερα από ένα σχέδιο για τα έξυπνα ψυγεία. Εδώ θα μιλήσουμε για τα κύρια χαρακτηριστικά των διεπαφών των κυριότερων. Το πρώτο ψυγείο είναι σχεδιασμένο για τη μέγιστη εξοικονόμηση ενέργειας κάτι που οδηγεί στη πιο αποδοτική ψύξη των τροφίμων. Η μεγαλύτερη σπατάλη ενέργειας πραγματοποιείται όταν ο χρήστης ανοίγει τη πόρτα για να ψάξει ένα τρόφιμο και εισέρχεται ο ζεστός αέρας. Με βάση αυτό το σκεπτικό επινοήθηκε το ψυγείο της εικόνας. Ο χρήστης πλησιάζει το ψυγείο και εμφανίζεται μία οθόνη στη πόρτα του που του επιτρέπει να ψάξει τα τρόφιμα που υπάρχουν μέσα στο ψυγείο καθώς και να λάβει πραγματική εικόνα μέσω κάμερα που βρίσκεται μέσα στο ψυγείο και προβολής της εικόνας στην εξωτερική οθόνη. Όταν ο χρήστης αποφασίσει ποιο προϊόν χρειάζεται μέσα από το ψυγείο, αυτό αναλαμβάνει να το πάρει από τη θέση που βρίσκεται και να το μεταφέρει σε ένα ξεχωριστό αποκλεισμένο τμήμα από τα υπόλοιπά. Όταν αυτή η ενέργεια πραγματοποιηθεί ο χρήστης ανοίγει το συγκεκριμένο τμήμα και παίρνει αυτό που διάλεξε χωρίς να έχει εισέλθει ζεστός αέρας μέσα στο ψυγείο και να αλλοιώσει τα τρόφιμα. Αυτό το ψυγείο επίσης μπορεί να ελεγχθεί μέσω smartphone. 5 http://itechfuture.com/the-concept-is-very-smart-fridge/ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 29

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Εικόνα 5: Σχέδιο έξυπνου ψυγείου Το δεύτερο σχέδιο έξυπνου ψυγείου εμφανίζει κοινά χαρακτηριστικά με τον έξυπνο πάγκο κουζίνας που παρουσιάστηκε παραπάνω. Η κύρια ιδέα είναι να βοηθήσει τον χρήστη να φτιάξει μία υγιεινή συνταγή με βάση αυτά τα τρόφιμα που υπάρχουν στο ψυγείο. Το ψυγείο αυτό έχει διάφανη πόρτα φτιαγμένη από φωτοχρωμικό κρύσταλλο πάνω στην οποία μπορεί να εμφανιστεί μια οθόνη. Έτσι ο χρήστης μπορεί να βλέπει τι υπάρχει στο ψυγείο πριν ανοίξει την πόρτα του. Ο χρήστης όταν αγοράζει τα τρόφιμα τα τοποθετεί στο χώρο ψύξης και κλείνοντας τη πόρτα επιλέγει το είδος του τροφίμου που μόλις έβαλε. Στη συνέχεια στην οθόνη εμφανίζεται ένα μενού επιλογών. Από αυτό το μενού μπορεί να επιλέξει τις συνταγές και τότε το έξυπνο ψυγείο εμφανίζει συνταγές που περιέχουν ως συστατικά τα υλικά που έχει στο ψυγείο. Επιλέγοντας μία συνταγή μπορεί να αρχίσει την εκτέλεση της ενώ ακούει τα βήματα από το ψυγείο ένα ένα. 6 6 http://www.yankodesign.com/2010/05/28/smart-fridge-is-your-new-recipe-card/ 30 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Εικόνα 6: Σχέδιο έξυπνου ψυγείου 2.4.3 Smart Homes Ένα παράδειγμα περιβάλλοντος εξοπλισμένο με Διάχυτη Νοημοσύνη είναι ένα «Έξυπνο ΣπίτιΣφάλμα! Δεν έχει οριστεί σελιδοδείκτης.». Πολλά έργα τέχνης και αντικείμενα σε ένα σπίτι μπορούν να φέρουν αισθητήρες για να συλλέξουν πληροφορίες και σε μερικές περιπτώσεις να αντιδράσουν αυτόνομα με βάση αυτές τις πληροφορίες. Τέτοια παραδείγματα είναι οι οικιακές συσκευές όπως ψυγείο και κουζίνα, είδη οικιακής χρήσης όπως βρύσες, κρεβάτια και καναπέδες και συσκευές ρύθμισης εσωτερικού μικροκλίματος όπως κλιματιστικά, θερμοστάτες, σώματα θέρμανσης κτλ. Οφέλη αυτής της τεχνολογίας είναι: Αύξηση ασφάλειας πχ μέσω παρακολούθησης των συνηθειών για εντοπισμό ασυνήθιστων ή ύποπτων ενεργειών ή για παροχή βοήθειας σε ηλικιωμένους και παιδία μέσω παρακολούθησης. Άνεση. Όταν γυρίζουν από την εργασία τους θέλουν να μην σπαταλήσουν επιπλέον ενέργεια για να κάνουν απλές εργασίες. Εξοικονόμησης χρόνου. Πολλές καθημερινές απλές εργασίες τις κάνουμε μηχανικά και σπαταλάμε τον πολύτιμο χρόνο ξεκούρασης στο σπίτι. Οικονομίας. Αυτό για παράδειγμα μπορεί να προκύψει από τον σωστό έλεγχο του φωτισμού ή από τη σωστή ρύθμιση της θερμοκρασίας του σπιτιού. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 31

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ 2.4.4 Philips HomeLab Το Philips HomeLab φαίνεται και κάνει τους χρήστες να αισθάνονται σαν να βρίσκονται σε ένα κανονικό σπίτι με μοντέρνα έπιπλα σε κάθε δωμάτιο, πίνακες στους τοίχους και πλήρως εξοπλισμένη κουζίνα. Αν και αυτή τη στιγμή κανείς δεν ζει στο HomeLab, προσωρινοί κάτοικοι είναι οι ερευνητές που μένουν στο σπίτι για όσο καιρό διαρκεί η έρευνα τους. Μια σειρά από πρωτότυπα από τις συσκευές αναγνώρισης ομιλίας και κίνησης σε ψηφιακές οθόνες μέσα στον καθρέπτη του μπάνιου και σε νέα παιχνίδια που βοηθούν τα παιδιά να αναπτύξουν τη δημιουργικότητα τους. Οι ερευνητές παρακολουθούν προσεκτικά πως οι εκάστοτε κάτοικοι ζουν με 24ωρη παρακολούθηση μέσω μικροκάμερων και μικροφώνων που είναι διακριτικά τοποθετημένα στο HomeLab. Σύμφωνα με τους ερευνητές της Philips, το HomeLab είναι σε θέση να μελετήσει τους ανθρώπους σε ένα φυσικό περιβάλλον δηλαδή το σπίτι τους βοηθώντας τους έτσι να αναπτύξουν καλύτερα προϊόντα πιο γρήγορα. Δίνεται έτσι μια πραγματική εικόνα για το πώς οι άνθρωποι αλληλεπιδρούν με τη τεχνολογία πέρα από την αρχική ευφορία καθώς τα υποκείμενα του πειράματος αντιδρούν φυσιολογικά σε ένα άνετο σπίτι και όχι σε ένα αποπνικτικό εργαστήριο. Από το HomeLab λείπει ο ογκώδης ηλεκτρονικός εξοπλισμός. Στο σπίτι του μέλλοντος σαν αυτό τα ηλεκτρονικά θα βρίσκονται ενσωματωμένα σε άλλες συσκευές με επίπεδες οθόνες, ασύρματες συνδέσεις, αναγνώριση φωνής και κινήσεων που μετά βίας μπορεί κάποιος να αναγνωρίσει μέσα στο σπίτι. Στην πραγματικότητα το σπίτι του μέλλοντος θα μοιάζει περισσότερο με το σπίτι του παρελθόντος χωρίς τηλεοράσεις DVD-αναπαραγωγείς, ηχεία, υπολογιστές τηλεχειριστήρια και καλώδια χωρίς ακαταστασία στο σαλόνι σας. Αυτή είναι η Διάχυτη Νοημοσύνη της Philips. Κάποια μέρα που μάλλον δεν αργεί να έρθει θα μπορεί κάποιος να ακούσει μουσική χωρίς καν να κουνήσει κάποιο μυ του. 2.4.5 Διαδραστικός καθρέπτης Ο διαδραστικός καθρέπτης ενισχύει ένα καθρέπτη με μια λειτουργία εμφάνισης προσθέτοντας διαδραστικότητα με την ανίχνευση χρήστη. Ο διαδραστικός καθρέπτης καταδεικνύει διάφορα σενάρια εφαρμογών για οικιακή και επαγγελματική χρήση και ενισχύει τις καθημερινές δραστηριότητες παρέχοντας νέες δυνατότητες. Μια σειρά από εφαρμογές σχεδιασμένες για λειτουργία στο μπάνιο, επιτρέπει στους χρήστες να ελέγξουν την τελευταία πρόγνωση του καιρού, την κυκλοφορία στους δρόμους, πληροφορίες για το βάρος του χρήστη, λάβουν προτάσεις για νέα κουρέματα και χτενίσματα μαλλιών και να ελέγξουν τον φωτισμό του περιβάλλοντος χώρου. Μια νέα εφαρμογή που ονομάζεται «Double Vision» χρησιμοποιούμενος σαν μεγεθυντικός καθρέπτης επιτρέπει στον χρήστη να δει την πίσω όψη του. Προσφέρει φωτισμού που προσομοιώνουν διαφορετικές συνθήκες πχ Γραφείο Εξωτερική κ.α. Οι επαγγελματικές εφαρμογές και τα σενάρια διεπαφών εμφανίζονται για επιχειρήσεις λιανικής πώλησης και σαλόνια κομμωτικής. Για την ενεργοποίηση και τον έλεγχο των αιτήσεων για την οθόνη καθρέπτη δυο έννοιες αλληλεπίδρασης έχουν αναπτυχθεί την αλληλεπίδραση με το πλαίσιο του καθρέπτη και την αλληλεπίδραση στην εγγύτητα με τον καθρέπτη. Οι έννοιες αυτές συνδυάζουν τα πλεονεκτήματα της άμεσης κατάδειξης και ταυτόχρονα δεν απαιτούν επαφή με τον καθρέπτη για την αποφυγή δημιουργίας δακτυλικών αποτυπωμάτων επάνω στο γυαλί. 32 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Διαδραστικά παιδικά παιχνίδια Εικόνα 7: Διαδραστικός καθρέπτης Μελετώντας πως η Διάχυτη Νοημοσύνη μπορεί να εφαρμοστεί σε παιχνίδια διατηρώντας φυσικά την ευκολία χρήσης τους μπορεί να αποφέρει αρχές της αλληλεπίδρασης χρηστών που μπορούν να εφαρμοστούν αλλού. Παιχνίδια που σχετίζονται με την τεχνολογία πρέπει επίσης να είναι χαμηλού κόστους ώστε να εγκαθίστανται για τη χρήση εφαρμογής Διάχυτης Νοημοσύνης χωρίς το κόστος να γίνεται απαγορευτικό. Μια από τις τεχνολογίες που διερευνώνται είναι ο τομέας των ασύρματων δικτύων αισθητήρων, οι οποίες επιτρέπουν την ανάπτυξη λειτουργιών και των δυο μορφών αλληλεπίδρασης. Μέσα στο HomeLab έχουν μελετηθεί δυο εφαρμογές παιχνιδιών: το StoryToy ένα διαδραστικό παιχνίδι αφήγησης και το Splashball ένα παιχνίδι μικτής πραγματικότητας με μπάλα. 2.4.6 Microsoft Surface To Microsoft Surface είναι μια επιφάνεια που μπορεί να ενσωματωθεί σε έπιπλα του σπιτιού όπως το τραπεζάκι του σαλονιού ή τον τοίχο. Δίνει τη δυνατότητα στους χρήστες να επικοινωνήσουν μέσω αυτού και να μάθουν και να πάρουν αποφάσεις σε συνεργασία. Στο Microsoft Surface μπορούν να αναγνωριστούν έως και 50 είσοδοι κάτι που σημαίνει ότι μια ολόκληρη παρέα χρηστών μπορεί να χρησιμοποιεί ταυτόχρονα τη συσκευή αυτή. Όπως είναι αναμενόμενο έχει μεγάλο μέγεθος που φτάνει τις 42 ίντσες σε διαγώνιο. 2.4.7 Microsoft XBOX360 Kinect Την ίδια στιγμή, εκατομμύρια ανθρώπων ανά τον κόσμο έχουν εισάγει τις νέες κονσόλες βιντεοπαιχνιδιών στα σπίτια τους το σύστημα ψυχαγωγίας και βιντεοπαιχνιδιών Xbox 360, το οποίο μπορεί να υποστηρίξει παιχνίδια, ταινίες, τηλεόραση, μουσική και φωτογραφίες και ανοίγει ένα κόσμο από Διαδικτυακές δυνατότητες. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 33

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Η πρόκληση ήταν ότι κανένας δεν είχε βρει στην ουσία ένα περιβάλλον διεπαφής που να λειτουργεί ικανοποιητικά μέσα σε ένα σαλόνι. Άλλες προσπάθειες βιομηχανιών εισήγαγαν την λύση του πληκτρολογίου για την εισαγωγή εντολών στην οθόνη, κάτι το οποίο δεν ήταν αποδεκτό από τους καταναλωτές. Το χειριστήριο του Xbox 360 ήταν υπέροχο για χειρισμό των βιντεοπαιχνιδιών αλλά είχε περιορισμένες δυνατότητες για αναζήτηση πολυμέσων ένα ξένο περιβάλλον για αυτούς που δεν παίζουν παιχνίδια. Έπρεπε να υπάρχει ένας καλύτερος τρόπος επικοινωνίας. Με την πρόκληση αυτή μπροστά τους, η ομάδα του Xbox ξεκίνησε να δημιουργεί μία επόμενης γενιάς διεπαφή ανθρώπου-υπολογιστή, ικανή να λαμβάνει εντολές όπως οι άνθρωποι μέσα από ομιλία και κινήσεις. Το αποτέλεσμα αυτής της προσπάθειας, ήταν το Kinect, το οποίο έφερε την υπηρεσία της ομιλίας μέσα σε εκατομμύρια σπίτια ενώ πριν υπήρχε μόνο η λύση του τηλεφώνου. Κατά τη δημιουργία του Kinect μία από της μεγαλύτερες δοκιμασίες ήταν το ίδιο το σαλόνι. Τα σαλόνια συνήθως είναι τα μεγαλύτερα δωμάτια, κάτι που οδηγούσε σε απροσδόκητες σχεδιαστικές απαιτήσεις την ομάδα Xbox οι μικροφωνικές διατάξεις του Kinect θα έπρεπε να λειτουργούν απρόσκοπτα έως 4 μέτρα μακριά από τον καναπέ, πολύ περισσότερο από ότι άλλα συστήματα αναγνώρισης ομιλίας στη βιομηχανία μπορούν εύκολα να χειριστούν. Μία ακόμα δυσκολία ήταν το γεγονός ότι τα σαλόνια είναι μέρη όπου μαζεύονται πολλοί άνθρωποι και συνήθως είναι γεμάτα από θορύβους, όπως συζητήσεις, μουσική από ταινίες και τραγούδια. Άλλη πρόκληση ήταν να βοηθήσουν το Kinect να καταλάβει ποιος μιλάει, να επικεντρωθεί σε αυτό το πρόσωπο μόνο και να αγνοεί όλα τα υπόλοιπα. Για να το πετύχουν αυτό, ο Tashev χρησιμοποίησε την τεχνολογία διαμόρφωσης ανά δέσμη, η οποία επικεντρώνεται στο πρόσωπο που δίνει εντολές στο σύστημα. Τελικά, η αλυσίδα βελτίωση ήχου αποτελείται από έξι κύρια στάδια τα οποία διαδοχικά βελτιώνουν την ποιότητα του σήματος της ομιλίας, αφαιρώντας την ακαταστασία, ήχους και ηχώ από το δωμάτιο για να βοηθηθεί ο μηχανισμός αναγνώρισης ομιλίας να κάνει τη δουλεία του. Με τη διάταξη του ήχου στη θέση του, το επόμενο βήμα ήταν να συνδυαστεί το σήμα με τη τεχνολογία Tellmespeech της Microsoft. Για αυτή τη φάση, η ομάδα του Xbox απευθύνθηκε στην ομάδα του Herold ώστε να κάνει διαθέσιμη την υπηρεσία στην πλατφόρμα του Xbox. Το έργο αυτό έπρεπε να διώξει τις αντιλήψεις που υπήρχαν για την τηλεφωνική επικοινωνία και την ομιλία του υπολογιστή και να επεκτείνει τα όρια τους σε ένα πιο ανθρώπινο περιβάλλον. Έπρεπε να σκέφτονται σε ότι πρόκειται για ένα περιβάλλον σαλονιού και μπορεί να υπάρχουν όλες οι διεπαφές. Γι αυτό έκαναν ένα συμβιβασμό, μόνο όταν κάποιος ξεκινήσει την πρόταση του με τη λέξη Xbox το σύστημα τον αντιλαμβάνεται, έτσι είναι σαν να πατάει ένα νοητό κουμπί πριν δώσει εντολή στο Xbox. Εφόσον το Kinect υποστηρίζει ομιλία και χειρονομίες, η ομάδα του Xbox και της Tellme διέθεσαν πολύ χρόνο στο πώς να ενεργοποιήσουν και τους δύο αυτούς τρόπους επικοινωνίας με έναν συμπληρωματικό και διαισθητικό τρόπο. Η σχεδιαστική αρχή τους ήταν η Φυσική Διεπαφή Χρήστη (Natural User Interface - NUI) στην οποία οι άνθρωποι επικοινωνούν με τις μηχανές στο μέγιστο ανθρώπινο τρόπο που μπορούν. Για παράδειγμα, είναι προτιμότερο να χρησιμοποιηθεί η ομιλία για να βρεθεί ένα τραγούδι παρά να χρησιμοποιηθεί η χειρονομία για να κατέβει μια τεράστια λίστα. Ο χρήστης απλά λέει: «Xbox, Bing The Beatles» και με έναν πολύ φυσικό τρόπο παίρνει αυτό που ζητάει μέσα από τη συλλογή που διατίθεται μέσα από το Xbox LIVE. Αφού εντοπιστεί η λίστα, η χρήση χειρονομίας για να επιλεχθεί το συγκεκριμένο τραγούδια είναι ο πιο φυσικός τρόπος. Γραφικά, κείμενο και ήχοι στην οθόνη διευκολύνουν τους χρήστες. Σύμφωνα με τον Herold, αυτό είναι το δυνατό 34 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ σημείο των συνδυαστικών διεπαφών, οι οποίες συνδυάζουν αφή, κίνηση, και άλλους τρόπους εισόδου: Ο κάθε τρόπος χρησιμοποιείται εκεί που είναι πιο δυνατός και ο συνδυασμός τελικά γίνεται πιο ισχυρός. Η φυσική και διαισθητική τεχνολογία όπως το Kinect μπορεί να είναι περισσότερα από μία πλατφόρμα για παιχνίδια και διασκέδαση- ανοίγει τεράστιες δυνατότητες για την αντιμετώπιση κοινωνικών προβλημάτων όπως η παροχή φροντίδας υγείας, εκπαίδευση, και παροχή μεγαλύτερης πρόσβασης σε άτομα με ειδικές ανάγκες. Εικόνα 8: Εμπειρία διάδρασης σε ένα πολύ-αισθητηριακό περιβάλλον 2.5 ΕΞΥΠΝΑ ΚΙΝΗΤΑ ΤΗΛΕΦΩΝΑ Ένα έξυπνο κινητό τηλέφωνο(smartphone) είναι βασισμένα σε μια πλατφόρμα επεξεργασίας για φορητές συσκευές, το οποίο παρέχει αυξημένη υπολογιστική δύναμη και μεγαλύτερη συνδεσιμότητα. Το πρώτο έξυπνο κινητό τηλέφωνο είχε λειτουργίες μιας ηλεκτρονικής ατζέντας, τηλεφώνου και φωτογραφικής μηχανής. Τα σήμερα μοντέλα συνδυάζουν τις λειτουργίες που κανονικά υπάρχουν σε ξεχωριστές συσκευές όπως αναπαραγωγέας ήχου(mp3 player), ερασιτεχνική φωτογραφική μηχανή, βιντεοκάμερες τσέπης και συσκευές γεωγραφικού εντοπισμού. Τα περισσότερα νέα μοντέλα ενσωματώνουν οθόνες αφής, προγράμματα περιηγητών Διαδικτύου τα οποία μπορούν να έχουν πρόσβαση στις περισσότερες ιστοσελίδες και όχι μόνο σε ειδικά διαμορφωμένες για κινητές συσκευές και έχουν πρόσβαση σε Δίκτυο υψηλών ταχυτήτων μέσω Wi-Fi και κινητής ευρυζωνικής σύνδεσης. Τα πιο δημοφιλή λειτουργικά συστήματα κινητών τηλεφώνων είναι τα Apple ios, Google Android, Microsoft Windows Phone, Nokia Symbian, RIM BlackBerry Os κα. Αυτά τα λειτουργικά πρακτικά μπορούν να εγκατασταθούν σε κάθε κινητή ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 35

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ συσκευή και να λαμβάνουν ενημερώσεις λογισμικού. To αντικείμενο όμως το οποίο ξεκάθαρα τα διαχωρίζει από ένα συμβατικό κινητό τηλέφωνο είναι η δυνατότητα δημιουργίας εφαρμογών για το κάθε λειτουργικό κάτι που μπορεί να έχει δημιουργηθεί από τον καθένα μιας και δεν υπάρχει περιορισμός στα εργαλεία ανάπτυξης (διατίθενται για το ευρύ κοινό). Η εφαρμογή της συγκεκριμένης εργασίας έχει αναπτυχθεί στο λειτουργικό Android. 2.6 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Μία Υπηρεσία Ιστού είναι μία μέθοδος επικοινωνίας μεταξύ δυο ηλεκτρονικών συσκευών μέσω δικτύου. Το W3C ορίζει την «Υπηρεσία Ιστού»(Web Service) ως λογισμικού σύστημα σχεδιασμένο να παρέχει διαλειτουργική διάδραση μηχανής με μηχανή πάνω από ένα δίκτυο. Επίσης, παρέχει μία διεπαφή η οποία περιγράφεται σε μία δομή εύκολα επεξεργάσιμη από συσκευές( WSDL). Άλλα συστήματα πραγματοποιούν διάδραση με την Υπηρεσία Ιστού με ένα τρόπο που περιγράφεται χρησιμοποιώντας SOAP μηνύματα, τα οποία μεταφέρονται μέσω του HTTP πρωτοκόλλου με μία σειριοποίηση XML σε συνδυασμό με άλλα πρότυπα του Ιστού. 7 Υπάρχουν δύο κατηγορίες Υπηρεσιών Ιστού. Πρώτα οι REST συμβατές Υπηρεσίες, οι οποίες στόχο έχουν να αλλάξουν τις αναπαραστάσεις XML των πηγών του Ιστού χρησιμοποιώντας ένα σύνολο από ενιαίες ενέργειες χωρίς κατάσταση. Επίσης υπάρχουν οι ελεύθερες Υπηρεσίες Ιστού με τις οποίες μπορούν να δημιουργηθούν οποιαδήποτε σύνολα ενεργειών. Τα συστήματα που χρησιμοποιούν ευρέως Υπηρεσίες Ιστού χρησιμοποιούν μηνύματα XML (Extensible Markup Language- Επεκτάσιμη Γλώσσα Σήμανσης) τα οποία ακολουθούν το πρότυπο SOAP (Simple Object Access Protocol- Απλό Πρωτόκολλο Πρόσβασης σε Αντικείμενο). Τέτοια συστήματα συνήθως χρησιμοποιούν για την περιγραφή των ενεργειών που προσφέρουν την γλώσσα περιγραφής Υπηρεσιών Ιστού WSDL (Web Services Description Language) η οποία είναι ευανάγνωστη από υπολογιστές. Υπάρχουν τρεις μέθοδοι χρήσης των Υπηρεσιών Ιστού. Η απομακρυσμένη κλήση επεξεργασίας (RPC-Remote Procedure Call), η αρχιτεκτονική βασισμένη σε Υπηρεσίες Ιστού και η μεταφορά αναπαράστασης κατάστασης (REST-Representation state transfer). Αρχικά η απομακρυσμένη κλήση επεξεργασίας παρέχει μία διεπαφή λειτουργίας ή συνάρτησης η οποία είναι οικεία προς του προγραμματιστές. Η βασική μονάδα της είναι η λειτουργία WSDL. Απομακρυσμένη κλήση επεξεργασίας χρησιμοποιούσαν οι πρώτες Υπηρεσίες Ιστού και επειδή θεωρήθηκε ότι δεν ήταν αρκετά συνεκτική τείνει να μην χρησιμοποιείται ευρέως. Σχετικά με τα συστήματα βασισμένα σε Υπηρεσίες Ιστού θα μιλήσουμε παρακάτω εκτενέστερα μιας και η εργασία είναι μέρος ενός έργου που ακολουθεί αυτή τη τεχνολογία. Τέλος, μεταφορά αναπαράστασης κατάστασης (REST) είναι μια προσπάθεια να περιγραφούν αρχιτεκτονικές μόνο με τη χρήση των HTTP λειτουργιών όπως GET, POST, PUT, DELETE. Η βασική ιδέα είναι η επικοινωνία άμεσα με τους πόρους και όχι μέσω μηνυμάτων η εκτέλεσης λειτουργιών. Μια REST αρχιτεκτονική μπορεί να περιγραφεί 7 http://en.wikipedia.org/wiki/web_service 36 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ με SOAP μηνύματα ή ακόμα και χωρίς αυτά. Το μειονέκτημα της είναι ότι ακόμα δεν έχει λάβει μεγάλης υποστήριξης από εργαλεία ανάπτυξης λογισμικού. Εικόνα 9: Δομή μιας Υπηρεσίας Ιστού 2.6.1 Αρχιτεκτονική Βασισμένη σε Υπηρεσίες Ιστού Η αρχιτεκτονική βασισμένη σε Υπηρεσίες Ιστού (SOA-Service Oriented Architecture) είναι ένα σύνολο αρχών και μεθοδολογιών για τη σχεδίαση και υλοποίηση λογισμικού με υπηρεσίες που παρέχουν πληθώρα λειτουργιών. Αυτές οι υπηρεσίες είναι κομμάτια λογισμικού καλά ορισμένα τα οποία μπορούν να επαναχρησιμοποιηθούν από διάφορες πηγές. Αυτή η αρχιτεκτονική προσφέρει έναν αφαιρετικό τρόπο χρήσης των υπηρεσιών. Για αυτό το λόγο μπορούν να προγραμματιστούν και να χρησιμοποιηθούν οι λειτουργίες των υπηρεσιών από διαφορετικά άτομα και συσκευές χωρίς καν την αναγκαία χρήση της ίδιας γλώσσας προγραμματισμού. Αυτό οδηγεί στην εύκολη χρήση της γλώσσας XML για τις επικοινωνίες της Αρχιτεκτονικής. Οι Υπηρεσίες Ιστού στη αρχιτεκτονική SOA βοηθούν ώστε οι λειτουργίες που πρέπει να παρέχονται να είναι σύμφωνες με πληθώρα πρωτοκόλλων του Διαδικτύου κ ανεξάρτητες από πλατφόρμες και γλώσσες προγραμματισμού. Αυτές οι υπηρεσίες μπορεί να είναι καινούργιες οι ήδη υπάρχουσες που η Υπηρεσίες Ιστού τις δίνουν τη δυνατότητα πρόσβασης μέσω δικτύου. Σε κάθε αρχιτεκτονική SOA υπάρχουν δύο ρόλοι αυτός του παρόχου της Υπηρεσίας και αυτός του χρήστη της Υπηρεσίας. Η εργασία χρησιμοποιεί Υπηρεσίες οι οποίες έχουν αναπτυχθεί από άλλες εργασίες. 2.6.2 Ιδιότητες SOA Μία αρχιτεκτονική βασισμένη σε Υπηρεσίες Ιστού θα πρέπει, σύμφωνα με το W3C να έχει αυτές τις ιδιότητες: 1. Λογική Όψη. Η υπηρεσία είναι μια αφαιρετική, λογική αναπαράσταση των πραγματικών προγραμμάτων, Βάσεων Δεδομένων, διαδικασιών κτλ εκφρασμένη με όρους σχετικούς με τις ενέργειες που μπορεί να εκτελέσει. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 37

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ 2. Προσανατολισμένη στα μηνύματα. Η υπηρεσία είναι επίσημα καθορισμένη με την κύρια ιδέα ότι υπάρχουν μηνύματα που ανταλλάσσονται μεταξύ των πρακτόρων που ζητούν και παρέχουν τις υπηρεσίες και όχι με την ανταλλαγή των καθεαυτού ιδιοτήτων σχετικές με τις καταστάσεις τους. Η εσωτερική δομή ενός πράκτορα συμπεριλαμβανομένου ιδιότητες όπως η γλώσσα προγραμματισμού υλοποίησης, δομή της διαδικασίας και ακόμα δομή Βάσης Δεδομένων είναι επίτηδες αντλούμενη από μακριά σε μια SOA αρχιτεκτονική: χρησιμοποιώντας την αυστηρότητα της SOA δε χρειάζεται και δεν πρέπει να υπάρχει η γνώση πως ο πράκτορας που προσφέρει την υπηρεσία είναι κατασκευασμένος. Ένα βασικό όφελος αυτής αφορά τα λεγόμενα συστήματα κληρονομιάς. Με την αποφυγή της γνώσης της εσωτερικής δομής του πράκτορα, κάποιος μπορεί να περιλαμβάνει οποιοδήποτε στοιχείο λογισμικού ή εφαρμογή που μπορεί να «τυλιχθεί» σε ένα μήνυμα που περιέχει κώδικα που του επιτρέπει να τηρεί τον επίσημο ορισμό των υπηρεσιών. 3. Προσανατολισμένη στη περιγραφή. Μια υπηρεσία περιγράφεται με μεταδεδομένα εύκολα επεξεργάσιμα από μηχανές. Η περιγραφή αυτή υποστηρίζει τη κοινόχρηστη φύση της SOA: μόνο οι λεπτομέρειες αυτές οι οποίες είναι εκτεθειμένες προς όλους και είναι σημαντικές για τη λειτουργία της υπηρεσίας πρέπει να περιλαμβάνονται στην περιγραφή. Η σημασιολογική πληροφόρηση μιας υπηρεσίας πρέπει να είναι καταγεγραμμένη, άμεσα η έμμεσα, μέσω της περιγραφής της. 4. Διακριτικότητα. Οι υπηρεσίες τείνουν να έχουν μικρό αριθμό από διαδικασίες με σχετικά μεγάλα και πολύπλοκα μηνύματα. 5. Προσανατολισμένη στο δίκτυο. Οι υπηρεσίες τείνουν να είναι προσανατολισμένες στην απευθείας χρήση μέσω δικτύου, παρόλο που αυτό δεν είναι απαραίτητη προϋπόθεση. 6. Ουδέτερη σε πλατφόρμες. Τα μηνύματα στέλνονται σε μία πρωτοτυποποιημένη μορφή που είναι ανεξάρτητη από πλατφόρμες που διαμοιράζεται μέσω των επαφών. Η XML είναι η πιο προφανής δομή που ικανοποιεί αυτή τη βλέψη. 2.6.3 Σχεδιαστικές προκλήσεις Οι βασικές δυσκολίες που πρέπει να αντιμετωπιστούν όταν ένα σύστημα ακολουθεί την αρχιτεκτονική SOA σύμφωνα είναι: Προβλήματα που δημιουργούνται από τη καθυστέρηση και την έλλειψη αξιοπιστίας στη μετάδοση. Η έλλειψη κοινής διαμοιραζόμενης μνήμης μεταξύ του αποδοχέα και του αντικειμένου. Προβλήματα που προκύπτουν από αστοχίες υλικού. 38 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Δυσκολίες από την ταυτόχρονη πρόσβαση σε απομακρυσμένους πόρους. Η αστάθεια των κατανεμημένων συστημάτων όταν κάποια μη συμβατή ενημέρωση έχει γίνει σε κάποιο συμμετέχοντα. Εικόνα 10: Δομή Αρχιτεκτονικής βασισμένης σε Υπηρεσίες Ιστού Αυτές ακριβώς οι προκλήσεις δημιουργούν το ερώτημα αν οι Υπηρεσίες Ιστού μέσω της αρχιτεκτονικής SOA είναι κατάλληλες για την υλοποίηση κατανεμημένων συστημάτων. Η απάντηση είναι ότι οι Υπηρεσίες Ιστού είναι πλέον κατάλληλες από τις υπόλοιπες εναλλακτικές όταν ισχύουν οι προϋποθέσεις που είναι επίσημα ορισμένες. Αν ισχύουν οι προϋποθέσεις ο λόγος να μην επιλεγεί η αρχιτεκτονική αυτή είναι ότι τα πλεονεκτήματα της προσέγγισης αυτής να αντισταθμίζονται από τις απαιτήσεις σε απόδοση και έλλειψη ωριμότητας της τεχνολογίας αυτής. Γενικά, η αρχιτεκτονική SOA και οι Υπηρεσίες Ιστού είναι πλέον κατάλληλες για εφαρμογές όπως: Αυτές που πρέπει να λειτουργούν μέσω Διαδικτύου, όπου η αξιοπιστία και η ταχύτητα δεν μπορεί να είναι εγγυημένη. Σε περιπτώσεις που δεν υπάρχει δυνατότητα να διαχειρίζεται την ανάπτυξη, έτσι ώστε όλοι οι αιτούντες και οι πάροχοι να αναβαθμίζονται κατευθείαν. Όταν τα τμήματα του κατανεμημένου συστήματος τρέχουν σε διαφορετικές πλατφόρμες και προϊόντα πωλητή. Σε περίπτωση όπου μια υπάρχουσα εφαρμογή πρέπει να εκτεθεί για χρήση σε ένα δίκτυο και μπορεί να είναι «Τυλιγμένες» σε μια Υπηρεσία Ιστού. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 39

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ 2.6.4 HYDRA Ο πρώτος στόχος του έργου HYDRA είναι η ανάπτυξη ενός ενδιάμεσου λογισμικού που βασίζεται στην αρχιτεκτονική SOA, στην οποία το επίπεδο επικοινωνίας είναι αόρατο. Το ενδιάμεσο αυτό λογισμικό θα περιλαμβάνει υποστήριξη για κατανεμημένες και για κεντρικοποιημένες αρχιτεκτονικές, ασφάλεια και εμπιστοσύνη, ανακλαστικές ιδιότητες και την ανάπτυξη εφαρμογών καθοδηγούμενη από μοντέλα. Το ενδιάμεσο λογισμικό του HYDRA θα είναι ικανό να αναπτυχθεί τόσο σε νέα όσο και σε υπάρχοντα δίκτυα από κατανεμημένες ασύρματες και ενσύρματες συσκευές, οι οποίες λειτουργούν με περιορισμένους υπολογιστικούς πόρους και λίγη ηλεκτρική ενέργεια καθώς και με περιορισμένη μνήμη. Αυτό θα επιτρέψει τις ασφαλής, αξιόπιστες και απαλλαγμένες από αστοχίες εφαρμογές μέσα από τη χρήση κατανεμημένης ασφάλειας και κοινών αποδεχτών τμημάτων. Η ενσωματωμένη και φορητή αρχιτεκτονική SOA θα παρέχει διαλειτουργική πρόσβαση σε δεδομένα, πληροφορίες και γνώση καλούμενη από ετερογενείς πλατφόρμες. Συμπεριλαμβανομένου Υπηρεσίες Ιστού και υποστήριξη πραγματικής Διάχυτης Νοημοσύνης για κατανεμημένες δικτυωμένες συσκευές. Ένας δεύτερος στόχος του προγράμματος αυτού είναι να κατασκευάσει ένα εργαλείο ανάπτυξης λογισμικού που μπορεί να χρησιμοποιηθεί από προγραμματιστές για την ανάπτυξη καινοτόμου μοντέλου με γνώμονα τις εφαρμογές. 2.6.5 Οφέλη Εικόνα 11: Σήμα του έργου HYDRA Οι παραγωγοί των συσκευών και των τμημάτων αντιμετωπίζουν ολοένα και περισσότερο την ανάγκη για δικτύωση στα δικά τους αλλά και σε συμπληρωματικά προϊόντα με σκοπό να παρέχουν λύσεις με μεγαλύτερη προστιθέμενη αξία για τους πελάτες τους ή σύμφωνα με τη προσέγγιση με επίκεντρο τον πολίτη απαιτείται να παρέχουν περισσότερη συγκέντρωση σε «έξυπνες» λύσεις που η μεγάλη πολυπλοκότητα τους κρύβεται πίσω από ένα φιλικό προς τον χρήστη περιβάλλον έτσι ώστε να προωθηθεί η ενσωμάτωση. Με δεδομένο το τεράστιο όγκο των ετερογενών συσκευών, αισθητήρων, ενεργοποιητές και με τα ενσωματωμένα συστήματα που ήδη υπάρχουν στην αγορά, την ποικιλία των παραγωγών και των κατασκευαστών, τη διαφορετική ταχύτητα ανάπτυξης λογισμικού (από μήνες μέχρι δεκαετίες), υπάρχει μια μεγάλη ανάγκη για τεχνολογίες και τα εργαλεία, τα οποία εύκολα μπορούν να προσθέσουν, να εφαρμόζουν και να αξιοποιούν την Νοημοσύνη ενσωματωμένη σε συσκευές. Ο στόχος για τους παραγωγούς είναι να μπορούν κατασκευάσουν αποδοτικά σε σύγκριση το κόστος, συστήματα Διάχυτης Νοημοσύνης με υψηλές επιδόσεις, μεγάλη αξιοπιστία, μικρότερο χρόνο μέχρι την έκδοση τους και πιο γρήγορη ανάπτυξη αλλά να είναι σε θέση να αξιοποιήσει τα πλεονεκτήματα της ήδη εγκατεστημένης βάσης. Η πρόσβαση σε λειτουργίες των συσκευών είναι ριζικά διαφορετική ανάμεσα στις διάφορες συσκευές, κυμαινόμενη από πρόσβασή μόνο από ανθρώπους σε αποκλειστική επικοινωνία μεταξύ συσκευών μέσω πρωτοκόλλων και πιθανών ασύρματων μεταφορών. Αυτό το διευρυμένο πλαίσιο από μηχανισμούς πρόσβασης είναι αποδεκτό από τους περισσότερους προγραμματιστές «Έξυπνων» λύσεων 40 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ βασισμένες σε συσκευές, όπως εξειδικευμένους ολοκληρωτές συστημάτων, οι οποίοι πρέπει να έχουν πρόσβαση μόνε σε μερικές συσκευές. Είναι πολύ πιο δύσκολο να κατασκευαστούν λύσεις βασισμένες σε μεγάλο αριθμό από συσκευές από διαφορετικούς κατασκευαστές σε διαφορετικά πρωτόκολλα πρόσβαση, τα οποία παραμένουν αποκλειστικά ή κρυφά. Εικόνα 12: Συσκευές που χρησιμοποιούν το ενδιάμεσο λογισμικό HYDRA ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 41

Κ Ε Φ Α Λ Α Ι Ο 3 : Ε Ρ ΓΑ Λ Ε Ι Α

ΚΕΦΑΛΑΙΟ 3: ΕΡΓΑΛΕΙΑ ΕΡΓΑΛΕΙΑ 3.1 ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ANDROID Το Android είναι λειτουργικό σύστημα για συσκευές κινητής τηλεφωνίας το οποίο τρέχει τον πυρήνα του λειτουργικού Linux. Αρχικά αναπτύχθηκε από την Google και αργότερα από την Open Handset Alliance. Επιτρέπει στους κατασκευαστές λογισμικού να συνθέτουν κώδικα με την χρήση της γλώσσας προγραμματισμού Java, ελέγχοντας την συσκευή μέσω βιβλιοθηκών λογισμικού ανεπτυγμένων από την Google. Η πρώτη παρουσίαση της πλατφόρμας Android έγινε στις 5 Νοεμβρίου 2007, παράλληλα με την ανακοίνωση της ίδρυσης του οργανισμού Open Handset Alliance, μιας κοινοπραξίας 48 τηλεπικοινωνιακών εταιριών, εταιριών λογισμικού καθώς και κατασκευής υλικού, οι οποίες είναι αφιερωμένες στην ανάπτυξη και εξέλιξη ανοιχτών προτύπων στις συσκευές κινητής τηλεφωνίας. Η Google δημοσίευσε το μεγαλύτερο μέρος του κώδικα του Android υπό τους όρους της άδεια διανομής λογισμικού Apache. Μέχρι την ολοκλήρωση αυτής της εργασίας έχουν ενεργοποιηθεί παραπάνω από 400 εκ. συσκευές που τρέχουν το λειτουργικό αυτό. 3.1.1 Android SDK Το Android SDK είναι ένα πακέτο ανάπτυξης λογισμικού που παρέχει χρήσιμες εφαρμογές εργαλεία για την ανάπτυξη εφαρμογών συμβατές με το λειτουργικό android. Σε αυτό περιλαμβάνονται το λογισμικό αποσφαλμάτωσης κώδικα, βιβλιοθήκες, ένας προσομοιωτής βασισμένος στη τεχνολογία QEMU (Quick EMUlator), τεκμηρίωση, παραδείγματα κώδικα και προγράμματα εκμάθησης. Μέχρι σήμερα υποστηρίζεται υπολογιστές που τρέχουν σε MAC OS X 10.4.9 και νεότερο, όλες τις σύγχρονες διανομές του Linux και σε Windows XP και νεότερο. Το περιβάλλον ανάπτυξης που υποστηρίζει το Android SDK είναι επίσημα το Eclipse IDE, χρησιμοποιώντας το πρόσθετο ADT (Android Development Tools). Ωστόσο υπάρχει η δυνατότητα να χρησιμοποιηθεί ένας απλός επεξεργαστής κειμένου για τη συγγραφή των αρχείων JAVA και XML και να χρησιμοποιηθεί η γραμμή εντολών του Android δημιουργία, κατασκευή και αποσφαλμάτωση εφαρμογών Android όπως και τον απομακρυσμένο έλεγχο των Android συσκευών. Βελτιώσεις στο Android SDK συμβαίνουν παράλληλα με τις αναβαθμίσεις της συνολικής πλατφόρμας ανάπτυξης. Τα εργαλεία ανάπτυξης είναι χωρισμένα σε κομμάτια ώστε ο προγραμματιστής να μπορεί να κατεβάσει μόνο τα κομμάτια που αναφέρονται σε συγκεκριμένες εκδόσεις της πλατφόρμας και ίσως και παλιότερες για έλεγχο προς τα πίσω συμβατότητας των αναπτυσσόμενων εφαρμογών. Μία δυσκολία στην ανάπτυξη εφαρμογών στο Android είναι ότι δεν υποστηρίζει κάποια από τα διαδεδομένα πρότυπα της JAVA όπως η JAVA SE ή η JAVA ME. Αυτό κάνει μη συμβατές τις εφαρμογές JAVA με αυτές στο Android. Το μόνο που χρησιμοποιείται είναι το γνωστό αντικειμενοστραφές συντακτικό και τα σημασιολογικά της JAVA εξαιρώντας τις πλήρεις βιβλιοθήκες κλάσεων της και τα APIs της. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 45

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ 3.1.2 Ιστορία για το Android SDK Η πρώτη προεπισκόπηση του android SDK δημοσιεύτηκε στις 12 Νοεμβρίου 2007. Τον Ιούλιο της επόμενης χρονιάς η ομάδα που είχε αναλάβει το διαγωνισμό για την ανάπτυξη του Android έστειλε κατά λάθος το νέο αυτό εργαλείο σε όλους τους συμμετέχοντες στη δοκιμασία λέγοντας ότι βρίσκεται σε μία ιδιωτική περιοχή για κατέβασμα. Η αποκάλυψη ότι η Google θα διέθετε το εργαλείο μόνο για μια μικρή ομάδα προγραμματιστών και όχι για όλους προκάλεσε ευρεία απογοήτευση σε όλη την ομάδα ανάπτυξης. Έτσι, τον επόμενο μήνα δημοσιεύτηκε η δοκιμαστική έκδοση του εργαλείου 0.9 η οποία περιείχε κάποιες ενημερώσεις, μία επεκταμένη διασύνδεση εφαρμογής (API), βελτιωμένα εργαλεία ανάπτυξης και μία ενημερωμένη σχεδίαση για την αρχική οθόνη. Λεπτομερείς οδηγίες σχετικά με την ενημέρωση ήταν διαθέσιμες για αυτούς που είχαν και την προηγούμενη έκδοση. Στις 23 Σεπτεμβρίου του 2008 κυκλοφόρησε η έκδοση 1.0. Σύμφωνα με τις πληροφορίες κυκλοφορίας περιείχε πολλές διορθώσεις σφαλμάτων και μερικές προσθήκες μικρών δυνατοτήτων. Είχαν περιληφθεί επίσης αρκετές αλλαγές στις διασυνδέσεις εφαρμογής από την προηγούμενη έκδοση. Από τότε έχουν γίνει πολλές αλλαγές. Σήμερα κυκλοφορεί στην έκδοση 16. 3.1.3 Dalvik Debug Monitor Server Το Android διαμοιράζεται μαζί με ένα εργαλείο που ονομάζεται Dalvik Debug Monitor Server (DDMS), το οποίο παρέχει από υπηρεσίες προωθημένες από θύρες, στιγμιότυπα της οθόνης της συσκευής, πληροφορίες για τα νήματα και τον σωρό εκτέλεσης στη συσκευή, το logcat η εφαρμογή για τη εμφάνιση όλων των σημάτων και μηνυμάτων που στέλνουν οι εφαρμογές, πληροφορίες για τη κατάσταση του σήματος, διπλότυπα από εισερχόμενες κλήσεις και μηνύματα και δεδομένα τοποθεσίας κα. 3.1.4 Πως το DDMS επικοινωνεί με το πρόγραμμα αποσφαλμάτωσης Στο android, κάθε εφαρμογή τρέχει στη δική του διεργασία, η οποία τρέχει στο δικό της προσομοιωτή. Κάθε προσομοιωτής εκθέτει μια μοναδική θύρα επικοινωνίας στην οποία μπορεί να προσκολληθεί ένας αποσφαλματωτής. Όταν ο DDMS ξεκινάει, συνδέεται με το adb (Android Debug Bridge). Μόλις συνδεθεί μία συσκευή, μία υπηρεσία προσομοιωτή δημιουργείται ανάμεσα στον adb και στον DDMS, η οποία ειδοποιεί τον DDMS πότε ο προσομοιωτής στη συσκευή ξεκινάει ή τερματίζεται. Από τη στιγμή που ο προσομοιωτής εκτελείται, o DDMS παραλαμβάνει τη ταυτότητα διεργασίας (process ID), μέσω του adb, και ανοίγει μία σύνδεση στον απασφαλματωτή του προσομοιωτή, διαμέσου του πρόγραμμα δαίμονα adb(adbdeamon) στη συσκευή. O DDMS μπορεί τώρα να επικοινωνεί με τον προσομοιωτή χρησιμοποιώντας ένα καθοριζόμενο ενσύρματο πρωτόκολλο. 46 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 3: ΕΡΓΑΛΕΙΑ 3.2 ECLIPSE Το eclipse είναι ένα πολυγλωσσικό περιβάλλον ανάπτυξης λογισμικού και ένα επεκτάσιμο σύστημα με προσθήκες. Ο κύριος ρόλος του είναι η ανάπτυξη εφαρμογών σε JAVA όμως με τα κατάλληλα πρόσθετα μπορεί να υποστηρίξει γλώσσες όπως C, C++, Perl, Python, Ruby κα. Διανέμεται κάτω από την άδεια Eclipse Public License και είναι δωρεάν πρόγραμμα ανοιχτού κώδικα. Το eclipse αρχικά ήταν ένα έργο της IBM Καναδά. Η OTI(Object Technology International) η οποία είχε ασχοληθεί και με άλλα περιβάλλοντα ανάπτυξης το ανέπτυξε σαν μία αντικατάσταση που δημιουργήθηκε για τη JAVA. Το Νοέμβριο του 2001 συγκροτήθηκε μία κοινοπραξία για τη συνέχιση του Eclipse IDE σαν έργο λογισμικού ανοιχτού κώδικα. Τα πρώτα μέλη της κοινοπραξίας ήταν η Borland, IBM, Red Hat, Suse, WebGain κ.α. Τα μέλη αυξήθηκαν σε 80 μέχρι το τέλος του 2003. Αυτό οδήγησε στη δημιουργία του οργανισμού Eclipse τον Ιανουάριο του 2004. Το όνομα Eclipse (Έκλειψη) δεν ήταν ένα λογοπαίγνιο με την εταιρεία Sun Microsystems (Ηλιος) αλλά περισσότερο με τον ανταγωνιστή του Visual Studio της Microsoft. Το Eclipse είχε αρχικά αδειοδοτηθεί με την Common Public License αλλά αργότερα αδειοδοτήθηκε ξανά με την άδεια Eclipse Public License. Μερικά έργα χρειάζονται διπλή αδειοδότηση πράγμα που είναι εφικτό με αυτή την άδεια διανομής ωστόσο εξαρτάται επίσης από την κάθε περίπτωση. 3.3 KSOAP2 Το έργο Ksoap2 είναι μια ελαφριά και αποδοτική βιβλιοθήκη για τη δημιουργία εφαρμογής SOAP πελάτη για τη πλατφόρμα android. Είναι ένα παρακλάδι της βιβλιοθήκης ksoap2 και είναι δοκιμασμένη στο android αλλά λειτουργεί και σε άλλες πλατφόρμες χρησιμοποιώντας της βιβλιοθήκες της JAVA. Χρησιμοποιεί ακόμα την έκδοση 1.3 της JAVA πράγμα που την κάνει συμβατή με την έκδοση JAVA ME όσο με τη πλατφόρμα Blackberry. Το έργο συνεχώς εμπλουτίζεται και διευρύνεται με περισσότερες λειτουργίες. Διανέμεται κάτω από την άδεια MIT και έτσι μπορεί να περιλαμβάνεται σε μια εμπορική εφαρμογή. Πολλές εφαρμογές χρησιμοποιούν αυτή τη βιβλιοθήκη χωρίς να το κάνουν όμως ρητά γνωστό. Κάποιες από αυτές είναι: DeuterIDE, Google Play, Facebook, Twitter, jira4android, Blackberry App World κα. Η υποστήριξη ως προς τους χρήστες της βιβλιοθήκης είναι ελλιπής μέσω του ιστοχώρου του έργου γι αυτό και παραπέμπει στην υποστήριξη της κοινότητας stackoverflow.com. Η συντήρηση του έργου επιχορηγείται από την simpligility technologies inc. 3.3.1 SOAP Πρωτόκολλο Το SOAP είναι ένα πρωτόκολλο που ορίζει τα χαρακτηριστικά για την ανταλλαγή δομημένων πληροφοριών σε μια υλοποίηση Υπηρεσιών Ιστού σε δίκτυα υπολογιστών. Βασίζεται στην γλώσσα XML για το δομή των μηνυμάτων, και συχνά βασίζεται σε άλλα πρωτόκολλα του επιπέδου εφαρμογών(μοντέλο OSI) όπως το HTTP και το SMTP για το χειρισμό και τη διάδοση των μηνυμάτων. Το SOAP διαμορφώνει το θεμελιώδες επίπεδο για την στοίβα των πρωτόκολλων των Υπηρεσιών Ιστού, καθορίζοντας ένα βασικό πλαίσιο στο οποίο μπορούν να χτιστούν οι Υπηρεσίες Ιστού. Αυτό το βασισμένο σε XML πρωτόκολλο αποτελείται από τρία ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 47

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ μέρη: ένα φάκελο(envelope), ο οποίος ορίζει τι είναι το μήνυμα και πώς να το επεξεργαστεί, ένα σύνολο κωδικοποιημένων κανόνων που εκφράζουν τα αντικείμενα από τύπους δεδομένων ορισμένους από την εφαρμογή, καθώς και μια σύμβαση για την αναπαράσταση κλήσεων διαδικασιών και αποκρίσεων. Το πρωτόκολλο SOAP έχει τρία βασικά χαρακτηριστικά: Επεκτασιμότητα Ουδετερότητα(Μπορεί να χρησιμοποιηθεί με οποιοδήποτε πρωτόκολλο μεταφοράς) Ανεξαρτησία(Επιτρέπει οποιοδήποτε προγραμματιστικό μοντέλο) Για παράδειγμα, μια περίπτωση χρήσης του πρωτοκόλλου, ένα μήνυμα SOAP θα μπορούσε να σταλεί σε μια ιστοσελίδα που έχει Υπηρεσίες Ιστού ενεργοποιημένες, όπως μια βάση δεδομένων για τιμές ακινήτων και να περιέχει τα κριτήρια αναζήτησης. Η ιστοσελίδα θα επέστρεφε ένα έγγραφο σε xml μορφή με τα δεδομένα του αποτελέσματος πχ. τιμές, τοποθεσίες κτλ. Τα δεδομένα έχοντας επιστραφεί σε μία προτυποποιημένη μορφή έυκολα αναγνώσιμη με αυτοματοποιημένο τρόπο, μπορούν να εισαχθούν άμεσα σε μία ιστοσελίδα ή εφαρμογή τρίτων. <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope> Εικόνα 13: Μήνυμα SOAP για κλήση Υπηρεσίας Ιστού <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope> Εικόνα 14: Μήνυμα SOAP για το αποτέλεσμα κλήσης 48 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 3: ΕΡΓΑΛΕΙΑ 3.4 ZXING H ZXing είναι μια βιβλιοθήκη ανοιχτού κώδικα που επεξεργάζεται εικόνες πολλών μορφών μονοδιάστατου και δισδιάστατου γραμμωτού κώδικα (1D/2D barcode) και έχει υλοποιηθεί σε γλώσσα JAVA. Η επικέντρωση της είναι στο να χρησιμοποιηθεί η ενσωματωμένη κάμερα της συσκευής ώστε να μπορέσει να σαρώσει και να αποκωδικοποιήσει γραμμικό κώδικα στη συσκευή, χωρίς να είναι απαραίτητη η επικοινωνία με απομακρυσμένο εξυπηρετητή. Ωστόσο το συγκεκριμένο εργαλείο μπορεί να χρησιμοποιηθεί σε επιτραπέζιους υπολογιστές και σε εξυπηρετητές το ίδιο καλά. Το έργο περιέχει κάποια βασικά συστατικά: Τον πυρήνα - Ο πυρήνας της βιβλιοθήκης επεξεργασίας εικόνας και δοκιμαστικός κώδικας. Το JAVASE Ένας συγκεκριμένος κώδικας για χρήση σε J2SE. Zxingorg πηγαίος κώδικας από τον ιστότοπο zxing.org/w Android - Πρόγραμμα προοριζόμενο για το Android ονομαζόμενο Barcode Scanner. AndroidTest - Δοκιμαστικός κώδικας για την εφαρμογή στο Android. Android-integration Υποστηρίζει την ενσωμάτωση της εφαρμογής Barcode Scanner μέσω πρόθεσης ανάμεσα στις δραστηριότητες του Android. Στη συγκεκριμένη εργασία χρησιμοποιήθηκε η βιβλιοθήκη μέσω της εφαρμογής Barcode Scanner. Η εφαρμογή αν δεν έχει ήδη γίνει προτρέπει τον χρήστη να εγκαταστήσει μέσω του Google Play τη συγκεκριμένη εφαρμογή. Για να συμπληρωθεί το λογισμικό αποκωδικοποίησης, έχει δημιουργεί ένας δημιουργός δυσδιάστατων γραμμωτών κωδικών βασισμένος στον ιστό. Εκεί υποστηρίζονται η κωδικοποίηση πληροφοριών επαφών, γεγονότα ημερολογίου, σύνδεσμοι του Ιστού κα. Η κωδικοποίηση γραμμωτού κώδικα έχει ένα ευρύ φάσμα πληροφοριών. Σε αυτή την εργασία υλοποιήθηκε μία διαφορετική χρήση του εργαλείου αυτού και ενσωματώθηκε σημασιολογική πληροφορία στη εισαγωγή νέων συσκευών στην εφαρμογή. Κωδικοποιήθηκε η μοναδική ταυτότητα της κάθε συσκευής και συνδέεται με την αντίστοιχη Υπηρεσία Ιστού. 3.5 ANDROID DOM XML PARSER Ένας αναλυτής XML(eXtensible Markup Language επεκτεινόμενη γλώσσα σήμανσης) είναι ένα αρκετά απλό πρόγραμμα, το οποίο διαβάζει ένα αρχείο XML και κάνει διαθέσιμα τα δεδομένα του για ενσωμάτωση στον κώδικα. Κάποιος μπορεί να δημιουργήσει τις δικές του κλάσεις για τη διαδικασία αυτή αλλά το Android έχει τη δικιά του βιβλιοθήκη. Στην εργασία αυτή έπρεπε να χρησιμοποιηθεί XML που υποστηρίζει το μοντέλο εγγράφου αντικειμένου (DOM - Document Object Model). Ο ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 49

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ αναλυτής XML διαβάζει το αρχείο και το μετατρέπει σε ένα αντικείμενο XML DOM. Ένα αρχείο XML πριν επεξεργαστεί πρέπει να εισαχθεί σε ένα αντικείμενο XML DOM. Το XML DOM περιέχει μεθόδους που διασχίζουν τα δένδρα XML και προσπελαύνουν, εισάγουν και διαγράφουν κόμβους. Οι προδιαγραφές του W3C για το DOM επίπεδο 1 αυτή τη στιγμή προσδιορίζουν ότι ένα DOM πρέπει να παρέχει ιδιότητες, μεθόδους και γεγονότα. 3.6 ΓΛΩΣΣΑ XML H XML (Extensible Markup Language Επεκτάσιμη Γλώσσα Σήμανσης) δημιουργήθηκε από το διεθνή οργανισμό προτύπων W3C (World Wide Web Consortium) και στοχεύει στην απλότητα, την γενικότητα και την ευχρηστία στο Διαδίκτυο. Αποτελείται από ένα σύνολο κανόνων για την κωδικοποίηση εγγράφων και την αναπαράσταση δομών δεδομένων. Τα δεδομένα της XML μπορούν να προσπελαστούν από διάφορες προγραμματιστικές εφαρμογές. Κάθε έγγραφο XML πρέπει να ξεκινάει με την δήλωση ή πρόλογο: <?xml version="1.0" encoding="utf-8"?>. Αυτή δηλώνει ότι το έγγραφο που ακολουθεί αποτελεί ένα έγγραφο XML, με κωδικοποίηση UTF-8. Επίσης, μπορεί να δηλωθεί αν αναφέρεται σε εξωτερικά δομικά έγγραφα, δηλαδή δεν είναι αυτόνομο το έγγραφο. Μία τέτοια δήλωση έχει την μορφή: <?xml version="1.0" encoding="utf-16" standalone="no"?> Για να είναι ένα έγγραφο XML καλά δομημένο (well-formed), θα πρέπει να είναι και συντακτικά σωστό. Έτσι, θα πρέπει να ισχύουν οι εξής κανόνες: Να υπάρχει μόνο ένα στοιχείο ρίζα. Δηλαδή όλα τα υπόλοιπα στοιχεία να είναι ένθετα σε αυτό (το στοιχειό mywebstore στο παράδειγμα είναι το στοιχείο ρίζα). Για κάθε στοιχείο με ετικέτα ανοίγματος να υπάρχει και μία αντίστοιχη ετικέτα κλεισίματος. Οι ετικέτες δεν πρέπει να αλληλεπικαλύπτονται, <label><label> <label/><label/>. Τα χαρακτηριστικά μέσα σε ένα στοιχείο δεν θα πρέπει να έχουν ίδια ονόματα μεταξύ τους. Τα ονόματα των στοιχείων θα πρέπει να αποδεκτά (π.χ. να μην ξεκινάνε από αριθμό). 50 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

Κ Ε Φ Α Λ Α Ι Ο 4 : Ο Δ Η Γ Ο Σ Χ Ρ Η Σ Η Σ

ΚΕΦΑΛΑΙΟ 4: ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ 4.1 ΑΡΧΙΚΗ ΣΕΛΙΔΑ Ο χρήστης όταν ανοίγει την εφαρμογή οδηγείτε στην αρχική οθόνη όπου παρουσιάζονται όλες οι συσκευές που έχουν εισαχθεί με τα ονόματα τους. Ο τύπος κάθε συσκευής ξεχωρίζει με το ανάλογο εικονίδιο. Η πράσινη πρίζα συμβολίζει τις συσκευές smart plug η κίτρινη πρίζα τις συσκευές smart clamper και το μικροτσίπ συμβολίζει τους αισθητήρες PRISMA. Οι νέοι τύποι συσκευών που εισάγονται μετά από την παραμετροποίηση του xml αρχείου εμφανίζονται με το εικονίδιο που έχει οριστεί εκεί. Εικόνα 15: Αρχική σελίδα εμφάνισης συσκευών 4.2 ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ Πατώντας το κουμπί μενού εμφανίζονται δύο επιλογές. Η προσθήκη νέας συσκευής και η αλλαγή προβολής. Πατώντας το κουμπί προσθήκη συσκευής οδηγείται η εκτέλεση σε μια νέα οθόνη που περιέχει τη φόρμα για την εισαγωγή της συσκευής, εκεί δηλώνεται το όνομα της συσκευής το αναγνωριστικό της και ο τύπος της ο οποίος προέρχεται από την ανάλυση του xml αρχείου. Μετά το την επιβεβαίωση της φόρμας με το κουμπί save, ελέγχεται αν το όνομα της συσκευής υπάρχει ήδη και αν δεν υπάρχει εμφανίζεται το μήνυμα ότι η λίστα έχει αποθηκευτεί. Αν τυχόν υπάρχει ήδη αυτό το όνομα εμφανίζεται μία ειδοποίηση και ο καινούργια συσκευή δεν εισάγεται τελικά. Αν θέλει να εισαχθεί η συσκευή ο χρήστης πρέπει να εισάγει ξανά τα στοιχεία με αλλαγμένο όνομα αυτή τη φορά. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 53

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Εικόνα 16: Εισαγωγή νέας συσκευής 4.3 ΠΡΟΒΟΛΗ ΣΥΣΚΕΥΩΝ ΑΝΑ ΚΑΤΗΓΟΡΙΑ Εάν από το μενού πατηθεί το κουμπί αλλαγή προβολών εμφανίζεται ένα παράθυρο διαλόγου που ο χρήστης πρέπει να διαλέξει σύμφωνα με ποια κατηγοριοποίηση θέλει να προβάλει τις συσκευές, ανάλογα με το τύπο τους, ανάλογα με την ομάδα που ανήκουν ή ανάλογα με το χώρο στον οποίο βρίσκονται. Στην προβολή ανά τύπο φαίνονται οι τύποι των συσκευών και όταν ο χρήστης επιλέξει έναν από αυτούς εμφανίζεται μια οθόνη παρόμοια με την αρχική που όμως έχει φιλτραρισμένες τις συσκευές. Το αντίστοιχό γίνεται με τους χώρους και τις ομάδες. 54 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 4: ΟΔΗΓΟΣ ΧΡΗΣΗΣ Εικόνα 17: Επιλογή κατηγορίας ταξινόμησης. Εικόνα 18: Προβολή των ομάδων συσκευών που είναι αποθηκευμένες Εικόνα 19: Προβολή των χώρων που είναι αποθηκευμένοι Εικόνα 20: Προβολή των συσκευών που υπάρχουν μέσα σε ένα χώρο ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 55

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Εικόνα 21: Προβολή των συσκευών που υπάρχουν μέσα σε μία ομάδα 4.4 ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΟΜΑΔΑΣ Η ΧΩΡΟΥ Στην προβολή των ομάδων στο μενού της υπάρχει η επιλογή για την προσθήκη νέας ομάδας. Οι ομάδες αφορούν δεδομένα που αποθηκεύονται στην μνήμη του τηλεφώνου και υπάρχουν για τον καλύτερο έλεγχο των συσκευών από τον χρήστη. Στην οθόνη για την προσθήκη ομάδας υπάρχει ένα πλαίσιο όπου ορίζεται ο όνομα. Με την αποθήκευση ελέγχεται αν υπάρχει τέτοια ομάδα αλλιώς η διαδικασία ακυρώνεται και δεν εισάγεται η καινούργια ομάδα. Το ίδιο ισχύει και για τους χώρους. Στην εισαγωγή ενός νέου χώρου ορίζονται πέρα από το όνομα και ο όροφος και το κτίριο του χώρου. Κάθε συσκευή μπορεί να βρίσκεται σε ένα μόνο χώρο αλλά σε πολλές ομάδες. Η επιλογή αλλαγής προβολής υπάρχει σε όλα τα μενού των παραπάνω οθονών. Σε κάθε μια μπορεί ο χρήστης να μεταβεί σε μία άλλη προβολή, μέσα σε αυτές και αυτή της αρχικής οθόνης δηλαδή εμφανίζοντας όλες τις συσκευές χωρίς κατηγοριοποίηση. Εικόνα 22: Εισαγωγή νέου χώρου και νέας ομάδας 56 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 4: ΟΔΗΓΟΣ ΧΡΗΣΗΣ 4.5 ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΣΥΣΚΕΥΗΣ Πατώντας τώρα επάνω σε μία συσκευή συνεχόμενα εμφανίζονται 3 επιλογές. Με τη πρώτη επιλογή, αφαίρεση, ο χρήστης μπορεί να αφαιρέσει αυτή τη συσκευή από το συγκεκριμένο χώρο ή τη συγκεκριμένη ομάδα και αν βρίσκεται στην προβολή όλων των συσκευών να την αφαιρέσει τελείως. Η δεύτερη επιλογή αφορά τη σύνδεση της συγκεκριμένης συσκευής με ένα χώρο και η τρίτη με την εισαγωγή της σε μια ομάδα. Η επιλογή ομάδας και χώρου γίνεται μέσω μιας καινούργιας οθόνης που προβάλλονται. Αν η συσκευή υπάρχει στον χώρο ή στην ομάδα η ενέργεια ακυρώνεται και δεν υπάρχει καμία αλλαγή. Αν η συσκευή εισαχθεί σε ένα καινούργιο χώρο τότε η συσκευή διαγράφεται από τον παλιό και υπάρχει μόνο στον καινούργιο. Αν η συσκευή ανήκει σε κάποια ομάδα η χώρο και την προβάλουμε μέσα από αυτόν τότε με συνεχόμενο πάτημα επάνω στο στοιχείο εμφανίζεται η επιλογή αφαίρεσης από τον συγκεκριμένο χώρο ή ομάδα. Για να ανανεωθεί η προβολή θα πρέπει ο χρήστης να μεταβεί στην αρχική οθόνη κάτι που εμφανίζεται σε μήνυμα προς ενημέρωση του χρήστη. Εικόνα 23: Μενού επιλογών συσκευής Εικόνα 24: Μήνυμα για την επιβεβαίωση διαγραφής συσκευής ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 57

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Εικόνα 25: Αφαίρεση συσκευής από το χώρο Εικόνα 26: Αφαίρεση συσκευής από την ομάδα Εικόνα 27: Μήνυμα για την ανανέωση της προβολής 4.6 ΣΕΛΙΔΑ ΙΔΙΟΤΗΤΩΝ/ΕΝΕΡΓΕΙΩΝ ΣΥΣΚΕΥΗΣ Πατώντας τώρα στιγμιαία επάνω σε μία συσκευή εμφανίζεται μία νέα οθόνη που παρουσιάζει τις ιδιότητες της συσκευής και τις ενέργειες που μπορούν να γίνουν πάνω σε αυτή. Σύμφωνα με τις Υπηρεσίες Ιστού που είναι ενεργές μέσω Διαδικτύου και σύμφωνα με το αρχείο παραμετροποίησης xml εμφανίζονται τα κουμπιά ελέγχου ή/και τα κουμπιά ενημέρωσης. Τα κουμπιά ενημέρωσης έχουν και ένα κείμενο από πάνω τους στο οποίο φαίνεται η τιμή που έχει δοθεί από την Υπηρεσία Ιστού. Αν παρουσιαστεί κάποιο πρόβλημα το χρήστης ενημερώνεται με παράθυρο διαλόγου. 58 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

ΚΕΦΑΛΑΙΟ 4: ΟΔΗΓΟΣ ΧΡΗΣΗΣ Εικόνα 28: Συσκευή plugwise Εικόνα 29: Συσκευή smart clamper ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 59

ΠΗΛΙΚΙΔΗΣ ΓΕΩΡΓΙΟΣ Εικόνα 30: Συσκευή PRISMA sensor 60 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID

Κ Ε Φ Α Λ Α Ι Ο 5 : ΥΛ Ο Π Ο Ι Η Σ Η

ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ ΥΛΟΠΟΙΗΣΗ 5.1 ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ Serializable Group Device Room ArrayAdapter<Model> Service InteractiveArrayAdapter Operation Model Input MyAttribute Output Σχήμα 1: Διάγραμμα κλάσεων AddDevice AddGroup Plugdroid2 Activity GroupView DeviceView Σχήμα 2: Διάγραμμα κλάσεων δραστηριοτήτων και επικοινωνίας αυτών Η εφαρμογή αποτελείται από 15 κλάσεις. Η εννοιολογική τους σύνδεση φαίνεται στο παραπάνω διάγραμμα. Οι πράσινες κλάσεις κληρονομούν τη κλάση συστήματος του ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΞΥΠΝΩΝ ΣΥΣΚΕΥΩΝ ΓΙΑ ΤΗ ΠΛΑΤΦΟΡΜΑ ANDROID 63