Italian Simulazione di movimenti di uno smartphone

AlpVir

Well-Known Member
Licensed User
Longtime User
Devo interpretare in modo molto particolare e assai complicato i 3 valori dei 3 accelerometri. Il problema è che non posso sperimentare quando voglio i movimenti prima menzionati, movimenti che come sapete modificano i valori degli accelerometri; o meglio, lo posso fare ma una volta sola (più o meno) alla settimana. In queste condizioni diventa quindi difficile mettere a punto il codice.
La soluzione potrebbe essere quella di registrare in un file una ed una volta sola i valori dei 3 accelerometri (unitamente al tempo) muovendo lo smartphone come è necessario. E questo l'ho già fatto.
E' tecnicamente possibile realizzare una app che "spedisce" agli accelerometri, nell'istante esatto registrato nel file, i 3 valori ? Forse con un "service" che lavora sempre in background ?
Come "ingannare" l'app in corso di realizzazione facendogli credere che i dati che sta leggendo e cercando di interpretare non provengono dagli accelerometri ma dalla lettura, ben cadenziata nel tempo, di un file ?
Domanda molto strana, lo ammetto.
Grazie per l'attenzione.
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
non credo sia possibile, non in maniera facile almeno
gli accelerometri sono componenti hardware che hanno in uscita dei valori ma in entrata non accettano nulla tranne la tensione di servizio, quello che puoi fare è creare un service module che simuli gli accelerometri usando il file dei valori che hai, dandogli un nome simile a quello degli accelerometri e che abbia i nomi dei valori e dei moduli identici a quello degli accelerometri, fai la tua app e quando pensi sia completata cambi il nome da quello del servizio a quello degli accelerometri

naturalmente potrei anche sbagliare nella asserzione della prima riga....
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Molto tempo fa avevo simulato nell'emulatore un GPS usando telnet ed il suo comando "geo fix <longitude value><latitude value>".
Tuttavia non avevo proseguito in queste prove poichè non ero riuscito a "passare" anche la quota s.l.m., cosa indispensabile per i miei scopi di allora.
Mi sembra che il discorso sia simile: sia in un caso che nell'altro c'è dell'hardware che produce dei segnali, e Andoid li legge, li interpreta e li propone all'utente.
nel caso del GPS c'era un particolare in più: bisognava settare nelle impostazioni qualcosa come "use mock position" che tradurrei liberamente in "usa posizioni fittizie".
Avevo anzi creato un programma (in VB6) che leggeva un reale tracciato GPS e lo trasmetteva a "localhost" porta 5554 (ossia l'emulatore). E funzionava !
Ma, come già detto, a causa di un probabile bug di "geo fix", non era possibile trasmettere la quota.

Nel caso degli accelerometri ho letto che esiste qualcosa di simile, sempre riferito all'emulatore. Non ho approfondito l'argomento perchè mi sembra assai complesso per le mie conoscenze informatiche, ma ipotizzo che sia una strada accidentata ma percorribile.
La soluzione più elegante sarebbe tuttavia quella di fare tutto in uno smartphone, senza utilizzare un emulatore che introduce probabilmente elementi di perturbazione. Uno per tutti: i tempi, che nel mio caso dovrebbe essere identici a quelli reali, con la medesima scansione (e si parla di decimi di secondi fra 2 eventi successivi). E' la strada che sto percorrendo attualmente.

Ragionando ulteriormente: gli sviluppatori di quella o quelle app che segnalato i terremoti e funzionano da sismografi "personali" non avranno collaudato il loro codice durante un terremoto reale ma avranno posto i loro device Android su una piastra che simula un terremoto. Le vibrazioni di quelle piastre seguiranno andamento e intensità identiche a quelle di un terremoto vero e saranno state progettate da dei sismologi, non saranno state realizzare "in casa". Forse persino saranno state comandate da un segnale proveniente da un vero terremoto, registrato ovviamente.

Preciso che non ho nè le capacità nè l'intenzione di realizzare alcunchè riferito ai terremoti; si tratta di altra cosa.
 
Top