lunedì 7 aprile 2014

Debug Mode e Play Store

Dal 28 marzo sono mutate le regole per inserire le applicazioni su Play Store ed in particolare non sono piu' ammessi programmi con le istruzioni di debug

Su alcuni forum indicano come soluzione di inserire la direttiva
<application ....  android:debuggable="false"

nel file manifest ma cio' genera un errore.

 La soluzione sta nel selezionare il progetto dall'albero a sinistra di Eclipse, poi Android Tools ed infine Export Signed Application Package


In questo modo l'applicazione viene accettata da Play Store

Soil Color Chart per IOS

Vista la semplicita' ho effettuato il porting di Soil Color Chart anche per IOS mediante Phonegap
In questo caso la compilazione e' stata estremamente lineare
Il codice sorgente puo' essere scaricata da questo link







Soil Color Chart 2 in Android con Phonegap

Basandosi sul codice HTML5 usato per FirefoxOS ed usando Phonegap ho effettuato il porting di Soil Color Chart per Android (l'applicazione e' disponibile sul PlayStore a questo indirizzo mentre il codice sorgente puo' essere scaricato qui)



I passi sono piuttosto semplico
prima di crea il progetto Phonegap

phonegap create soilcolor  com.soil.color.chart.two SoilColorChart

cd soilcolor/www

si copiano i file dell'applicazione HTML5 in www
poi

cd ..
phonegap build android

aprendo il progetto mi e' comparso il seguente errore

conversion to dalvik format failed with error 1
che pero' e' stato risolto effettuando un semplice Project/Clean (dai menu' di Eclipse)






Per terminare e' sufficiente personalizzare le icone del progetto Android nella directory /res

venerdì 4 aprile 2014

Soil Color Chart per Firefox OS

Una nuova versione di Soil Color Chart per Firefox OS utilizzando PhotoSwipe e Mobile JQuery estendendo la tabella dei colori

Link all'applicazione









mercoledì 2 aprile 2014

Accuratezza del sensore di distanza di Kinect

Per verificare l'accuratezza del sensore di distanza del Kinect ho provato ad acquisire due immagini di una stessa scena statica e a vedere le differenze

Mappa di profondita' di Kinect

Le due immagini sono state acquisite con lo script visto in questo post

Per calcolare la differenza ho usato il seguente script
------------------------------------------------
import pickle
import numpy as np
import Image

posizione = 0
accumula = 0

f = open("3.txt")
data1 = pickle.load(f)
f.close

f = open("4.txt")
data = pickle.load(f)
f.close
accumula = data - data1

img = Image.new('L', (480,640), "black")
pixels = img.load()

for i in range(img.size[0]):
for j in range(img.size[1]):
pixels[i,j] = accumula[posizione]
posizione = posizione + 1

img2 = img.rotate(270)
img2.save("3-4.png")

print np.histogram(accumula,[-3000,-100,-10,10,100,3000])
------------------------------------------------

Questa e' l'immagine di differenza
E' subito evidente che le maggiori differenze sono ubicate nei punti in cui c'e' la maggior distanza tra due pixel vicini

Mappa delle differenze test 1


La distribuzione di frequenza indica che per il 92.6% la differenza di distanza misurata e' compresa tra -1/+1 cm. Un altro 5.7% delle differenze e' compresa tra -10/+10 cm
Per maggiore dettaglio il 75% delle misure ha differenza 0


Un altro esempio

Mappa delle differenze Test 2

in questo caso il 77% dei punti mostra differenza di 0 mm con il 93% dei punti con differenza inferiore a 1 cm.


Un terzo esempio

Mappa delle differenze Test 3

anche qui il 76% dei punti mostra differenza di 0 mm con il 92.4% dei punti con differenza inferiore a 1 cm.




In buona sostanza il sensore di Kinect lavora molto bene su scene piatte mentre dove ci sono oggetti su piani a distanza differente con bruschi salti di distanza l'errore diventa sensibile





Hello World su Ios

Giusto un promemoria per me stesso su come compilare Hello World su IOS (piu' che altro perche' alcune azioni sono visive ed e' difficile descriverle senza un video



-----------------------------------------------------------------
- (IBAction)premi:(id)sender{
    NSString *const saluto = @"Hello World";
    hello.text = saluto;
}

-----------------------------------------------------------------
{
    IBOutlet UILabel *hello;
}
- (IBAction)premi:(id)sender;

Sviluppare FirefoxOS su Ubuntu

Grazie a quanto indicato in questo post sul forum di Firefox Italia, sono riuscito a far partire l'ambiente di sviluppo di Firefox OS su Linux (Ubuntu nel caso specifico)



in pratica si devono lanciare i seguenti comandi

sudo adb kill-server
sudo adb devices
sudo adb forward tcp:6000 localfilesystem:/data/local/debugger-socket


ed in seguito, all'interno di App Manager si deve effettuare la connessione  a localhost:6000

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...