giovedì 24 maggio 2018

Debug remoto di Chrome su Android

Sto lavorando su un progetto che usa delle API Web sperimentali su un dispositivo mobile ed uso il debugger Chrome sempre aperto....tranne per il problema che la versione Chrome desktop e' differente da quella mobile .... per cui e' necessario fare debug direttamente sul browser mobile

Cio' e' possibile con Adb e Chrome Desktop. Sul desktop si apronon i Developer Tools poi si clicca sui tre puntini sovrapposti More Tools/Remote Devices



Se il telefono e' gia' stato autorizzato via Adb con il desktop si vede la lista dei dispositivi mobile connessi nel tab Remote Devices. Si puo' quindi inserire un link e questo sara' aperto sul telefono



E' inoltre possibile avere una replica dello schermo mobile . 


In questa modalita' si possono debuggare i Javascript 

venerdì 18 maggio 2018

Oculus Go e RIft

Ho avuto modo di provare sia Oculus Go che Oculus Rift.
L'impressione generale, anche in confronto a Daydream, e' che l'hardware sia trascurabile...cio' che fara' effettivamente la differenza sara' la disponibilita' di software




In merito a cio' Oculus Rift ha una killer application...Google Earth VR (non disponibile su Go e Daydream)...peccato che non sia possibile aggiungere dei temi personalizzati

giovedì 17 maggio 2018

Modello digitale del terreno con AFrame e Daydream controller

Tramite il framework Aframe e' possibile visualizzare su un comune browser un modello digitale del terreno in formato OBJ/MTL e poterlo navigare/ruotare con il controller nativo di Daydream

ATTENZIONE : per abilitare il controller Daydream si deve inserire nella url di Chrome la seguente stringa

chrome://flags 

e si devono attivare gli switch WebVR e Gamepad API




-------------------------------------------------------------------------------------------
<html>
  <head>
    <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>

    <script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v4.1.1/dist/aframe-extras.min.js"></script>
  </head>
  <body>

    <a-scene background="color: green">

<a-entity id="rig"
          movement-controls="fly: true; speed: 0.3"
          position="15 0 15">
  <a-entity camera
            position="0 1.6 0"
            look-controls></a-entity>
</a-entity>

<a-assets>
                        <a-asset-item id="dem-obj" src="Ricasoli_nord.obj"></a-asset-item>
                        <a-asset-item id="dem-mtl" src="Ricasoli_nord.mtl"></a-asset-item>
        </a-assets>

  <a-entity position="3 6 2" rotation="90 180 270" obj-model="obj: #dem-obj; mtl: #dem-mtl"></a-entity>

    </a-scene>
  </body>
</html>

lunedì 14 maggio 2018

Testare applicazioni su Oculus GO

Per sviluppare proprie applicazioni su Oculus si parte creando un normale progetto Android su Android Studio.



Prima di compilare il pacchetto APK si deve inserire un file con il proprio Device ID in assets (app/src/main/assets) del progetto (il file ha un nome del tipo oculussig_1KWPXXXXXXXX.dms) e permette di eseguire il file APK soltanto sul dispositivo relativo al file .dms


A questo punto si installa il pacchetto via Adb. Si copia il file apk e poi da linea di comando

adb install OculusGO.apk
per disinstallare deve essere inserito il nome completo del package

adb uninstall com.vr.lucainnocenti.oculusgo

La applicazione non e' visibile ne' sul launcher ne' sulle Sorgenti Sconosciute. Per eseguire si usi adb tramite

adb shell am start -n  com.vr.lucainnocenti.oculusgo/.MainActivity

Tastiera IBM Model M

Ho messo obsoleto come tag per questo post ma forse e' sbagliato indicare la mitica tastiera IBM model M come un pezzo da museo ... forse solo perche' ha il connettore PS2




Usavo questa tastiera alla fine degli anni 80, inizio 90 accoppiata ad un PS2 Model 30 286. Il pc e' andato in qualche discarica molti anni fa...la tastiera e' ancora qui con il suo classico rumore

martedì 8 maggio 2018

Unreal e Google VR per DayDream

Si crea un Nuovo Progetto/Blank settando Mobile/Tablet

Menu' Settings /Project Settings/Platforms

Nel sottogruppo Android si devono accettare le due licenze (APK Packaging e Google Play Services) e si imposta il Mininum e Target SDK almeno a 21 per Google VR

Nel sottogruppo Android SDK sempre sotto Platforms si devono poi settare 4 directory che sotto Mac con Android Studio installato e JDK 1.8 sono

SDK : /Users/lucainnocenti/Library/Android/sdk (/Library/Android/sdk)
NDK : /Users/lucainnocenti/Library/Android/sdk/ndk-bundle (/Library/Android/sdk/ndk-bundle)
Ant : /usr/local/Cellar/ant/1.10.3/ (ant installato via Homebrew)
Java_Home : /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

per verificare la directory di Java_Home si puo' usare lo script in /usr/libexec/java_home


Per lanciare la applicazione su telefono si usa Launch dove compare il dispositivo (il computer ed il telefono devono essere gia' stati autorizzati)


La prima volta la compilazione e' molto, molto molto lenta perche' devono essere compilati tutti gli shader del progetto (si parla di 10 minuti per il progetto Blank)

Per creare il solo package si va in File/Package Project/Android/Android(ETC1)

Per importare modelli in Unreal la cosa piu' semplice e' usare il formato FBX. Se il modello e' troppo piccolo per la scena si puo' settare il fattore di scala

Specifiche per Google VR (DayDream)
In Project Settings spuntare Enable FullScreen Immersive on KitKat and above, Support amd64 e rimuovere armv7, In Advanced APK Packaging si spunt Configure GoogleVR for sustained performance ed in Configure GoogleVR to support specific hardware si seleziona DayDream

Nel menu Android SDK si configura l'NDK API ad android-21



Si va poi nel menu Engine/Input e si cancella la default touch interface (Clear)

Si clicca su Edit/Plugins e si seleziona la categoria Input Devices abilitando GoogleVR Motion Controller

e nella categoria Virtual Reality si aggiunge Google VR

Si riavvia l'editor per caricare i plugin

Per compilare pacchetti specifici per Daydream si deve selezionare l'opzione AndroidATC



Universita' di Firenze - Scienze della Terra 7 Maggio 2018

A quasi tre anni di distanza dalla precedente esperienza, mi sono trovato a chiaccherare di geologia ed Android con degli studenti universitari ospite presso il Dip. di Scienze della Terra di Firenze (praticamente come giocare in casa)




Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...