39
MOVERIO BT-200 A NEW WAY OF SEEING THE WORLD GLI UNICI SMART GLASS PER A/R

Presentazione SDK EPSON Moverio BT-200

Embed Size (px)

DESCRIPTION

Introduzione step by step all'ambiente di sviluppo per gli smart glasses Epson Moverio BT-200. Presentazione realizzata da Niccolò Mangiarotti in occasione dell'hackathon del 17 ottobre in H-Farm.

Citation preview

Page 1: Presentazione SDK EPSON Moverio BT-200

MOVERIO BT-200

A NEW WAY OF SEEING THE WORLD

GLI UNICI SMART GLASS PER A/R

Page 2: Presentazione SDK EPSON Moverio BT-200

www.joinpad.net

Moverio BT-200 SDKIntroduzione all’ambiente di sviluppo

TUTOR: Niccolò MangiarottiAR Developer [email protected]

Page 3: Presentazione SDK EPSON Moverio BT-200

00

www.joinpad.net

INTRODUZIONE

Page 4: Presentazione SDK EPSON Moverio BT-200

01

Creiamo un nuovo Android Application Project.

Sui Moverio BT-200 è montato Android 4.0.3 IceCreamSandwich; impostare quindi correttamente il Minimum Required SDK ed il Target SDK.

www.joinpad.net

Page 5: Presentazione SDK EPSON Moverio BT-200

02

Una volta creato il progetto per includere l’SDK Moverio è sufficiente copiare la libreria BT200Ctrl.jar nella cartella libs…

www.joinpad.net

Page 6: Presentazione SDK EPSON Moverio BT-200

03

…ed aggiungere al manifest la permission per modificare le impostazioni audio del device (nel caso si intenda utilizzare l’API per la gestione dell’audio).

www.joinpad.net

Page 7: Presentazione SDK EPSON Moverio BT-200

04

Eseguire un deploy del nostro progetto Hello World sui Moverio BT-200 non è un’operazione differente da un normale deploy di un progetto android su di un normale device

www.joinpad.net

Page 8: Presentazione SDK EPSON Moverio BT-200

05

www.joinpad.net

2D/3D Switching

Page 9: Presentazione SDK EPSON Moverio BT-200

06

Passiamo ora all’utilizzo dell’SDK Moverio partendo dall’API più interessante, il Display 2D/3D Switching, mediante la quale è possibile implementare la visione stereoscopica.

Display 2D/3D SwitchingClass :DisplayControlFunction :setModeSummary :Switch BT-200 display modePrototype :int setMode(int displayMode,boolean toast)Argument :Display Mode Number DISPLAY_MODE_2D,

DISPLAY_MODE_3Dtoast true(Display), false(not display)

Return Value:result 0(success), other(error value)

www.joinpad.net

Page 10: Presentazione SDK EPSON Moverio BT-200

07

Possiamo provare velocemente il funzionamento di questa API impostando la visione 3D immediatamente.

www.joinpad.net

Come è possibile notare come risultato di questa operazione la nostra area di lavoro è ora estesa su entrambe le lenti invece di essere riprodotta in mirroring.

Page 11: Presentazione SDK EPSON Moverio BT-200

08

In questo esempio la visualizzazione è ovviamente disturbata, infatti sull’occhio sinistro vedremo il nostro testo Hello World e l’actionbar con il titolo del’app mentre sull’occhio destro vediamo una actionbar vuota ed uno sfondo bianco. Questo ci da però l’idea di come gestiremo il 3D: semplicemente la nostra view dovrà essere divisa verticalmente in 2 metà, ciascuna delle quali corrisponderà ad un occhio.

www.joinpad.net

Page 12: Presentazione SDK EPSON Moverio BT-200

09

Proviamo ora a modificare il nostro esempio per utilizzare correttamente questa feature, come prima cosa dividiamo la nostra view in 2 metà di uguale dimensione.

www.joinpad.net

Page 13: Presentazione SDK EPSON Moverio BT-200

10

Proviamo ora a modificare il nostro esempio per utilizzare correttamente questa feature, come prima cosa dividiamo la nostra view in 2 metà di uguale dimensione.

www.joinpad.net

Page 14: Presentazione SDK EPSON Moverio BT-200

11

Modifichiamo ora il nostro layout.

www.joinpad.net

• Rimuoviamo l’actionbar dell’app modificando il manifest

• Rimuoviamo il menu di sistema

• Impostiamo uno sfondo trasparente (corrispondente al colore NERO per i Moverio BT-200)

Page 15: Presentazione SDK EPSON Moverio BT-200

12

www.joinpad.net

• Aggiungiamo un semplice asset centrandolo in entrambe le metà della nostra root view

Page 16: Presentazione SDK EPSON Moverio BT-200

13

Effettuando il deploy dell’app il risultato sarà questo:

www.joinpad.net

Page 17: Presentazione SDK EPSON Moverio BT-200

14

Si nota subito come il nostro asset sia stato “stretcchato”, ne riduciamo quindi la larghezza della metà per riprodurre l’aspectratio originale:

www.joinpad.net

Page 18: Presentazione SDK EPSON Moverio BT-200

15

Creiamo ora due semplici animazioni leggermente differenti l’una dall’altra…

www.joinpad.net

Page 19: Presentazione SDK EPSON Moverio BT-200

16

…ed applicandole ai nostri due widget possiamo simulare un effetto di avvicinamento/allontanamento in stereoscopia del nostro asset:

www.joinpad.net

Page 20: Presentazione SDK EPSON Moverio BT-200

17

È possibile ottenere la stereoscopia anche utilizzando immagini fotografate in stereoscopia cosi come video o ambienti tridimensionali.

www.joinpad.net

Page 21: Presentazione SDK EPSON Moverio BT-200

18

È possibile ottenere la stereoscopia anche utilizzando immagini fotografate in stereoscopia cosi come video o ambienti tridimensionali.

www.joinpad.net

Page 22: Presentazione SDK EPSON Moverio BT-200

19

È possibile ottenere la stereoscopia anche utilizzando immagini fotografate in stereoscopia cosi come video o ambienti tridimensionali.

www.joinpad.net

Page 23: Presentazione SDK EPSON Moverio BT-200

20

www.joinpad.net

SENSOR SWITCHING

Page 24: Presentazione SDK EPSON Moverio BT-200

21

Passiamo ora all’API di switch dei sensori che permette di abiitarealternativamente i sensori di movimento dell’HeadSet e del Controller

Switch sensor (Controller/Headset)Class :SensorControlFunction :setModeSummary :Switch BT-200 sensor modePrototype :int setMode(int sensorMode)Argument :Sensor Mode Number

SENSOR_MODE_CONTROLLER(Controller), SENSOR_MODE_HEADSET(Headset)

Return Value:result 0(success), other(error value)

www.joinpad.net

Page 25: Presentazione SDK EPSON Moverio BT-200

22

L’utilizzo dell’API è come per la precedente molto semplice

www.joinpad.net

Page 26: Presentazione SDK EPSON Moverio BT-200

23

Mediante una semplice Activity configurata per la gestione dei sensori è possibile verificare con un semplice output a video come abilitando i sensori dell’HeadSet o del Controller il vettore di rotazione si modifica muovendo uno oppure l’altro device

www.joinpad.net

Page 27: Presentazione SDK EPSON Moverio BT-200

24

www.joinpad.net

ALTRE API DI CONTROLLO

Page 28: Presentazione SDK EPSON Moverio BT-200

25

Le successive API permettono di controllare componenti dei Moverio BT-200 quali la luminosità, l’accensione/spegnimento del display e l’accensione/spegnimento dell’audio del device

Il funzionameto di queste API è molto semplice ed essenziale

www.joinpad.net

Page 29: Presentazione SDK EPSON Moverio BT-200

26

L’API di accensione/spegnimento del’audio del device

Set ON/OFF for Audio MuteClass :AudioControlFunction :setMuteSummary :Set BT-200 Audio mute ON/OFFPrototype :int setMute(boolean mute)Argument :mute ON(TRUE), OFF(FALSE)Return Value:result 0(success), other(error value)

www.joinpad.net

Page 30: Presentazione SDK EPSON Moverio BT-200

27

L’implementazione è molto semplice

www.joinpad.net

Page 31: Presentazione SDK EPSON Moverio BT-200

28

L’API di accensione/spegnimento del display

Class :DisplayControlFunction :setMuteSummary :Set BT-200 display mute ON/OFFPrototype :int setMute(boolean mute)Argument :mute ON(TRUE), OFF(FALSE)Return Value:result 0(success), other(error value)

www.joinpad.net

Page 32: Presentazione SDK EPSON Moverio BT-200

29

Anche in questo caso l’implementazione è molto semplice, il componente che espone questa api è il DisplayControl, lo stesso che abbiamo già utilizzato per eseguire lo switch 2D/3D

www.joinpad.net

Page 33: Presentazione SDK EPSON Moverio BT-200

30

L’API di settaggio del livello di luminosità del display

Setting Display BrightnessClass :DisplayControlFunction :setBacklightSummary :Set BT-200 display brightnessPrototype :int setBacklight(int backlight)Argument :Display Brightness 0-20Return Value:result 0(success), other(error value)

www.joinpad.net

Page 34: Presentazione SDK EPSON Moverio BT-200

31

In questo caso dato che è possibile impostare un set di valori (da 0 a 20) invece di un toggle utilizzeremo un seekbar

www.joinpad.net

Page 35: Presentazione SDK EPSON Moverio BT-200

32

L’API di lettura del livello di luminosità del display

Getting Display BrightnessClass :DisplayControlFunction :getBacklightSummary :Get BT-200 display brightness valuePrototype :int getBacklight()Argument :noneReturn Value:Brightness value 0-20(success), other(error value)

www.joinpad.net

Page 36: Presentazione SDK EPSON Moverio BT-200

www.joinpad.net

Grazie!

TUTOR: Niccolò MangiarottiAR Developer [email protected]

Page 37: Presentazione SDK EPSON Moverio BT-200

MOVERIO BT-200

A NEW WAY OF SEEING THE WORLD

Carla Conca Business Manager Visual Instruments

Epson Italia

GLI UNICI SMART GLASS PER A/R

Page 38: Presentazione SDK EPSON Moverio BT-200

[email protected]  

Epson  movelopers  group  

h3ps://www.facebook.com/groups/EpsonMovelopers/  

Page 39: Presentazione SDK EPSON Moverio BT-200