Il progetto di Cannone laser di Stefano Maiocchi continua con la realizzazione dell’App Android con Processing
Stefano ha descritto come puoi predisporre l’ambiente su processing e la scrittura dell’app android testandola con il simulatore se non possiedi uno smartphone con tale sistema operativo.
Se vuoi leggere il codice da usare con Arduino ti consiglio l’articolo precedente sul cannone laser di Stefano Maiocchi.
Cannone laser di Stefano Maiocchi
Lascio come al solito la parola a Stefano per descrivere il suo progetto:
Adesso vediamo la parte più interessante, cioè la realizzazione della APP per Android scritta in Processing.
Io ho utilizzato la versione 2.2.1 di Processing, perché le versioni successive (3.0.1 e 3.0.2) mi davano qualche problema di malfunzionamento e instabilità. Inoltre ho usato Windows 7 pro 64 bit.
Preparazione ambiente di lavoro
Oltre a Processing 2.2.1 scaricabile dal sito www.processing.org ti servono altri software.
- Java SE development kit reperibile sul sito ufficiale: http://www.oracle.com/technetwork/java/javase/downloads/index.html io ho usato JDK nella versione 8u74 a 64 bit, puoi usare l’ultima disponibile.
- Android SDK Tools reperibile sul sito ufficiale: https://developer.android.com/sdk/index.html vai in fondo alla pagina dove c’è la tabella “Get just the command line tools” e scegli quello adatto al tuo sistema operativo. Io ho usato installer_r23.0.2-windows.exe tu puoi usare l’ultima disponibile.
- Ketai Sensor Library for Android (per la gestione dei sensori e delle periferiche degli smartphone) dal sito ufficiale https://github.com/ketai/ketai cliccate sul pulsante “Download ZIP”.
Android Mode per Processing
siccome usiamo la precedente versione di Processing, la 2.2.1, dobbiamo scaricarlo a mano, perché dal menu “Add Mode” non compare più, poiché le ultime versioni sono per Processing 3.0.
Io ho usato la versione 228 reperibile sul sito ufficiale :
https://github.com/processing/processing-android/releases/download/android-0228/AndroidMode-0228.zip
scompatta all’interno della cartella “modes” che a sua volta è all’interno della cartella che usi per salvare gli sketch, come avete indicato nella prima opzione della finestra che si apre con il comando “preferences” nel menu “file” di Processing.
Ketai Sensor Library for Android
Siccome usiamo la precedente versione di Processing, la 2.2.1, devi scaricare a mano la versione 11, perché l’ultima versione, 12, è per Processing 3.0.
Scompatta il file .zip e copia la cartella “Ketai_v11” (rinominandola “Ketai”) nella cartella “libraries” che a sua volta è all’interno della cartella che usi per salvare gli sketch, come hai indicato nella prima opzione della finestra che si apre con il comando “preferences” nel menu “file” di Processing.
Personalizzazione ambiente di lavoro
Avvia Processing 2.2.1 e seleziona la modalità Android con il pulsante in alto a destra. In questa modalità i menu cambiano e si hanno a disposizione altri comandi aggiuntivi.
Dal menu “Android” avvia “Android SDK Manager”.
Qui devi selezionare e scaricare alcune parti come indicato nella figura qui vicino.
In particolare devi scegliere la API (Application Programming Interface) che vuoi usare per compilare la App Android.
Io ho scelto la API 10 (Android 2.3.3) così l’App funzionerà praticamente su qualunque smartphone, anche se molto vecchio.
Ora dal menu “Android” avvia “Android AVD Manager”, con il quale puoi creare un emulatore di dispositivo Android (smartphone, tablet, etc.) che ti servirà in fase di compilazione e debug dell’App.
In mancanza il sistema ne creerà uno predefinito. Siccome l’avvio dell’emulatore è lento come l’accensione di un vero smartphone, vi consiglio di avviarlo e tenerlo aperto mentre lavori con Processing:
Ora puoi scrivere il codice Processing per la tua App e poi, per provarla, usa il comando “Run in Emulator” nel menu “Sketch”.
Se tutto è a posto e non ci sono errori, l’App verrà installata nell’emulatore, la troverai insieme a tutte le altre app installate, e verrà immediatamente avviata.
Nel caso l’App usasse periferiche non emulate, come ad esempio il modulo bluetooth, apparirà un messaggio di errore nello smartphone emulato, ma verrà ugualmente installata.
In ogni caso il file di tipo .apk, la nostra applicazione Android, la trovi in una cartella temporanea sul computer, come indicato nella zona messaggi di Processing ( vedi figura sopra ), la parte nera e puoi copiarla sul tuo smartphone.
Important!
Per installarla devi attivare “Origini sconosciute” in “Applicazioni” nelle “Impostazioni” dello smartphone.
Infine se vuoi personalizzare l’App con una icona, invece di usare quella predefinita di Processing, devi creare quattro immagini con estensione .png (Portable Network Graphics) rispettivamente con dimensioni in pixel
- n.1 dimensioni 36×36
- n.1 dimensioni 48×48
- n.1 dimensioni 72×72
- n.1 dimensioni 96×96
che possono avere lo sfondo trasparente.
Il nome di ciascuna deve essere obbligatoriamente
- icon-36.png
- icon-48.png
- icon-72.png
- icon-96.png
e metterle nella stessa cartella di Processing che contiene il vostro sketch, avente estensione .pde.
Nel prossimo articolo leggerai come è stata realizzata l’App con Processing per il Cannone Laser Stefano Maiocchi controllato da Android.
3 commenti
Ti ringrazio per la guida molto chiara. Nel mio caso però quando avvio l’app il risultato non occupa tutto lo schermo dello smartphone ma solo un piccolo riquadro centrale ed il risultato è questo:
https://image.jimcdn.com/app/cms/image/transf/dimension=553×10000:format=jpg/path/sb67f18abda4f854a/image/if7bc0fa4a7132731/version/1467901650/image.jpg
Ho provato diverse API ma il risultato è sempre lo stesso. Oltre a quelle per il bluetooth devo autorizzare altro?
La connessione funziona senza problemi.
Autore
Ciao Ale,
lascio il tuo commento on-line così che l’autore possa darti delucidazioni, non essendo un mio progetto preferisco sia Stefano a rispondere con le sue competenze.
Ciao Ale, scusa il ritardo,
la tua APP si avvia con il valore di default (200×200 pixel) usato da Processing quando crei una applicazione per usarla in Windows, ma quando crei la APP per Android dovrebbe lei usare la risoluzione del tuo smartphone. Io ho provato la mia APP su due smartphone uno molto vecchio e l’altro nuovo con schermo fullHD e ha funzionato.
Hai provato ad usare la mia APP (file .apk) che trovi sul mio Github ?
Puoi anche provare la seguente modifica: nel mio sketch, nel setup non definisco la dimensione su schermo della APP, puoi forzarla aggiungendo come prima riga nel setup la seguente :
size(displayWidth, displayHeight, P2D);
provandola eventualmente anche senza il P2D finale.
A proposito. Hai usato Processsing 2.2.1 ? Con versioni successive come la 3.1.1 io devo spesso definire la dimensione dello schermo come indicato sopra.
Spero di esserti stato utile, saluti.