lunedì 2 gennaio 2012

Sensori su Android in Python

Un esempio di come leggere i sensori sul telefono mediante Python su Android

Attenzione : la lettura del sensore di luce, almeno per me, ha funzionato solo disattivando il gestore automatico dell'illuminazione dello schermo dal widget Risparmio energia
-------------------------------------------------------------------------------------------

import android, time
droid = android.Android()
droid.startSensingTimed(1,1000)
time.sleep(3)
for x in range(0,10):
#print "Accelorometro " + str(droid.sensorsReadAccelerometer().result)
print "Accelorometro asse X " + str(droid.sensorsReadAccelerometer().result[0])
print "Accelorometro asse Y " + str(droid.sensorsReadAccelerometer().result[1])
print "Accelorometro asse Z " + str(droid.sensorsReadAccelerometer().result[2])
#print "Magnetometro " + str(droid.sensorsReadMagnetometer().result)
print "Magnetometro asse X" + str(droid.sensorsReadMagnetometer().result[0])
print "Magnetometro asse Y" + str(droid.sensorsReadMagnetometer().result[1])
print "Magnetometro asse Z" + str(droid.sensorsReadMagnetometer().result[2])
#print "Orientazione "+ str(droid.sensorsReadOrientation().result)
print "Azinuth "+ str(droid.sensorsReadOrientation().result[0])
print "Pitch "+ str(droid.sensorsReadOrientation().result[1])
print "Roll "+ str(droid.sensorsReadOrientation().result[2])
# Azimuth e' l'orientazione rispetto al Nord come la bussola da 0 a 360 in senso orario
#Pitch e' l'inclinazione con la parte sinistra inclinata al massimo si ha +90, con la parte
#destra sollevata si ha -90
#Roll e' l'inclinazione del telefono in avanti ed indietro
print "Luce "+ str(droid.sensorsGetLight().result)
# Valore Luce
# 0 = luce stellare
# 1 = Luna piena
# 5 = scintillio
# 30 = luce da stanza
# 80 = corridoio
# 100 = giornata nuvolosa e coperta
# 400 = luce da ufficio
# 500 = Alba o tramonto
# 1000 =
# 25000 = pieno giorno non illuminato direttamente dal Sole
# 200000 = illuminazione diretta solare
print "Accuratezza "+ str(droid.sensorsGetAccuracy().result)
# 3 valore piu' alto di accuratezza

time.sleep(1)
droid.stopSensing()
---------------------------------------------------------------------------------

Orientamento degli assi




Nessun commento:

Posta un commento

Physics informed neural network Fukuzono

Visto che puro ML non funziona per le serie tempo di cui mi sto occupando ed le regressioni basate su formule analitiche mostrano dei limiti...