19
Implementarea de scenarii AmI în AmILab Cristian Neagoe, Cristian Grigoraș, Vlad Herescu Coordonator: ș.l. Andrei Olaru 1 / 19 Colocviu CASIA 23.09.2013

Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementarea de scenarii AmI în AmILab

Cristian Neagoe, Cristian Grigoraș, Vlad Herescu

Coordonator: ș.l. Andrei Olaru

1 / 19 Colocviu CASIA 23.09.2013

Page 2: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Inteligența ambientală

Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală

• Calcul omniprezent (ubiquitous computing)

• Context-Awareness

• Adaptabilitate

• Proactivitate

• Profiling

• Facilitează comunicația dintre oameni, activitatea utilizatorului și interacțiunea acestuia cu tehnologia

Colocviu CASIA 23.09.2013

2 / 19

Subiectul stagiului

Page 3: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Scenariu

Din analiza diverselor scenarii am extras următoarele:

• determinarea locației pe baza informațiilor despre rețelele wireless

• schimbarea volumului apelului în funcție de zgomotul din sală

• determinarea starea de mișcare a utlizatorului pe baza datelor accelerometrului

• monitorizarea schimbărilor asupra fișierelor de lucru

• sistem de notificări pro-active

• transfer automat de fișiere între dispozitive

Colocviu CASIA 23.09.2013

3 / 19

Elemente de scenariu AmI

Page 4: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Instrumente colaborative

• Eclipse & Plugins

– EGit: lucrul cu GitHub

– ADT: dezvoltare software Android

– Copyright Wizard: aplicare copyright pe surse

– ObjectAid: realizare diagrame UML

– JDK 6: versiunea necesară de Java pentru dezvoltare pe Android

Colocviu CASIA 23.09.2013

4 / 19

Page 5: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Arhitecturӑ

• ContextCore

– contextUpdates, notificationQueue, contextStorage

• Managers:

– ContextManager, NotificationDispatcher

• Module:

– implementări de SensorModule și IntelligenceModule

• Tipuri de date:

– ContextItem, ContextTypes

Colocviu CASIA 23.09.2013

5 / 19

Componente

Page 6: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Arhitectură

Colocviu CASIA 23.09.2013

6 / 19

Detalii funcționare

Page 7: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Context-awareness

• Inteligența ambientală se bazează pe transformări succesive ale unui context inițial

• Contextul = starea individului şi a mediului înconjurător

• Tipuri de context: – Persoana se mişcă sau stă pe loc (Accelerometer Context)

– Persoana lucrează la un fişier (File Context)

– În încăpere e zgomot sau nu (Sound Context)

– Locația în care te afli (Location Context)

Colocviu CASIA 23.09.2013

7 / 19

Tipuri de context

Page 8: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• PC: – login – notificări sunet/mișcare – listă cu dispozitivele mele

• Android: – login – notificări sunet/mișcare – listă cu dispozitivele mele

• Percepții ( valorile senzorilor ) – sunet – mișcare

• Help Q&A: – cerere ajutor altui peer – răspunsul acestuia

Colocviu CASIA 23.09.2013

8 / 19

Notificări & Interfețe

Page 9: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• LoginActivity: fereastra de autentificare pe Android – username – buton login

• MainActivity: fereastra principală – zonă de text pentru lista dispozitivelor mele – zonă de text pentru notificări ( conectare, percepții,

copiere fișiere ) – alertDialog pentru cerere de ajutor

• Servicii senzor : – sunet – accelerometru – wireless networks

Colocviu CASIA 23.09.2013

9 / 19

Servicii și Activități Android

Page 10: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop: – Comunicarea între dispozitive

• Componente NetLink: – Interacțiunea client – server (persistență):

– Create connection with server, receive from server (hello & Connections)

– Interacțiunea client – client (send and close): – Send, receive

– Interacțiunea server – client: – Listen permanent şi asocierea deviceurilor pe baza id-ului

• Funcționare și utilitate: – Pe socket – Transferul de items (fișiere, percepții)

ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream);

Out.writeObject(Object o);

Colocviu CASIA 23.09.2013

10 / 19

NetLink & Transfer

Page 11: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop: – Deciderea stării de mişcare a individului

• Componente: – mSensorManager = (SensorManager)

getSystemService(Context.SENSOR_SERVICE);

– ImAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

– mSensorManager.registerListener(this, mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);

• Funcționare: – Înregistrare mișcări pe x, y si z și pe baza interpretării la fiecare 30 de

secunde am decis dacă individual se mișcă sau nu. • float x = event.values[0];

• float y = event.values[1];

• float z = event.values[2];

Colocviu CASIA 23.09.2013

11 / 19

Accelerometru

Page 12: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop modul: folosit pentru a determina adresa IP a serverului pentru

conectarea cu acesta.

• Componente : - Modulul senzorial : determină rețelele wireless

- Modulul inteligent : compară rețelele cu cele din baza de date.

• Funcționare : - pentru determinarea rețelelor , pe PC: comanda netsh (Windows) , comanda

iwlist (Linux )

- pentru determinarea rețelelor, pe Android : serviciul WIFI_SERVICE

- după determinarea rețelelor, datele sunt introduse în storage sub formă de ContextItem

- modulul inteligent este notificat pentru a prelua datele din storage pentru comparare

Colocviu CASIA 23.09.2013

12 / 19

Location Awareness

Page 13: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop : determină daca utilizatorul nu știe să-și implementeze problema, pentru a informa alți utilizatori din camera

• Componente : - Modulul senzor : determină fișierele schimbate din workspace pe baza datei

ultimei modificări și dacă fișierele modificate mai sunt deschise

- Modulul inteligent : analizează informațiile primite de la modulul senzor

• Funcționare : - data ultimei modificări este verificată regulat folosind un timer

- verificare fișiere daca sunt încă deschise folosind tasklist

- comparare număr de caractere scrise cu un prag

- modificare interval interfață daca este nevoie de ajutor, după ultimele 2 răspunsuri

Colocviu CASIA 23.09.2013

13 / 19

FileAnalyzer

Page 14: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop : trimiterea directă de mesaje între dispozitive, pe baza NetLink-ului

• Funcționare : preia din storage 3 tipuri :

- other_devices_context : lista de dispozitive a altui utilizator, primită de la

server, pentru a le trimite SEND_ITEM_CONTEXT

- send_item_context : mesaj trimis tuturor dispozitivelor altui utilizator, pentru a

cere ajutor

- received_item_context : mesaj trimis de alt utilizator, ca răspuns la

send_item_context

- În funcție de mesajul trimis, sunt afișate interfețe grafice, pentru a solicita ajutor, sau ca răspuns la solicitare

Colocviu CASIA 23.09.2013

14 / 19

PeerMachineManager

Page 15: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Implementare

• Scop: înregistrare sunet la un interval si ajustarea volumului telefonului corespunzător

• Implementare: folosind clasa

MediaRecorder MediaRecorder m = new MediaRecorder();

m.setAudioSource(mic);

m.setOutputFormat(3gp);

m.setOutputFile(“/ex.3gp”);

m.setAudioEncoder(amr_nb);

m.prepare();

m.start();

m.stop();

m.release(); Sursa: developer.android.com/media

Colocviu CASIA 23.09.2013

15 / 19

Sunet

Page 16: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Scenariu

Colocviu CASIA 23.09.2013

16 / 19

Animație

Page 17: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Concluzii

• Cunoștințe de Android, Eclipse & Java

• Familiarizarea cu Git

• Inteligența ambientală

• Lucrul cu un wiki

• Modularizarea implementării

• Javadoc, coding style

• Folosire comenzi shell

• Folosire noțiuni de rețele

• Research, StackOverflow

• Teamwork

Colocviu CASIA 23.09.2013

17 / 19

Page 18: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Future work

• Adăugarea a noi module de inteligență, care pot lua decizii pe baza înregistrărilor făcute

• Crearea a noi senzori care să înregistreze alte activități

• Conectarea cu un dispozitiv Microsoft Kinect care poate determina poziția si postura

• Reprezentarea de către Android a profilului utilizatorului

• Înștiințarea fără cerere de către server despre noi utilizatori

• Schimb de informații despre evenimente din calendar

• Rulare aplicație in background, folosire notificări

• Cererea ajutorului persoanelor din alte rețele

Colocviu CASIA 23.09.2013

18 / 19

Page 19: Implementarea de scenarii AmI în AmILab · 2015. 10. 5. · Dispozitivele Android facilitează implementarea unui sistem de Inteligență Ambientală • Calcul omniprezent (ubiquitous

Mulțumim

Întrebări?

Colocviu CASIA 23.09.2013

19 / 19