Autore Topic: Sensori e Bluetooth: mi date un suggerimento?  (Letto 683 volte)

Offline gigi

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Gentoo
Sensori e Bluetooth: mi date un suggerimento?
« il: 19 Dicembre 2015, 18:05:14 CET »
0
Ciao a tutti.

Avrei bisogno di un suggerimento per impostare una applicazione che sto scrivendo.

Quello che devo fare è leggere lo stato di vari sensori (per ora solo accelerometro/giroscopio), dei bottoni volume (e forse in futuro altri sensori e posizioni dei tocchi multitouch sullo shermo) alla massima frequenza possibile e inviarli via Bluetooth (RFCOMM o L2CAP, ancora da decidere).
L'aspetto che più mi interessa è avere i dati trasmessi con la minore latenza possibile; guadagnare millisencondi mi interessa, frazioni di millisecondo no.

A me vengono in mente due possibili strutture per l'applicazione:

- Thread principale per l'interfaccia;
- Thread che legge i sensori e invia tramite bluetooth, in loop.

Oppure:

- Thread principale per l'interfaccia;
- Thread A che legge i sensori e passa i dati a B;
- Thread B che invia dati tramite bluetooth.

Sono aperto ad alternative.

Avete suggerimenti?

Grazie

Offline wlf

  • Utente normale
  • ***
  • Post: 335
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Sensori e Bluetooth: mi date un suggerimento?
« Risposta #1 il: 02 Marzo 2016, 18:15:31 CET »
0
Scusa, ma quante notifiche vuoi avere in un secondo?

Considera che se lo fai tramite bluetooth devi aggiungere una latenza nelle trasmissioni radio; il bluetooth avrebbe pure 3 approcci, chiamiamoli veloce, bilanciato, lento, che influirebbero pure sui consumi ... ma dipende anche da che livello API stiamo parlando ...  parliamo delle API18 o dalle API21 in poi?

Dipendono anche dal costruttore dello smartphone; a spannometro potrei dirti che Huawei P8 Lite ha un approccio molto lento ma affidabile, Samsung Galaxy S4 & Co hanno un approccio "bilanciato", mentre LG ha un approccio molto veloce-aggressivo.

Occhio anche che potresti mandare in crisi il chipset/fw del bluetooth. ;)
Io con un dispositivo sono andato oltre alla velocità dei suoi buffer e quindi quando gli scrivevo lui si perdeva quello che gli mandavo ...