Add transmission
This commit is contained in:
parent
fe3f3a31c6
commit
5de8b3b42b
@ -63,6 +63,35 @@ Potendo opera unicamente nello spazio utente non è stato possibile superare que
|
|||||||
|
|
||||||
### Trasmissione
|
### Trasmissione
|
||||||
|
|
||||||
|
Il dispositivo dell'utente deve eseguire il broadcast di un beacon bluetooth contenete l'UUID identificativo.
|
||||||
|
Questa operazione è stata svolta attraverso la classe `BeaconTransmitter` messa a disposizione dalla *Android Beacon Library*.
|
||||||
|
Inoltre per la modalità di funzionamento *C* è stato necessario prevedere un meccanismo di rotazione delle chiavi.
|
||||||
|
Questa rotazione viene settata attraverso la funzione `rotateTCN()` che sfrutta un `Handler` per programmare la rotazione dell'UUID.
|
||||||
|
|
||||||
|
``` {.kotlin #lst:rotate-tcn caption="Codice necessario alla torazione del tcn."}
|
||||||
|
private fun rotateTCN() {
|
||||||
|
val advertiseHandler = Handler()
|
||||||
|
val changeTCN: Runnable = object : Runnable {
|
||||||
|
override fun run() {
|
||||||
|
tcnManager.nextTcn()
|
||||||
|
startAdvertising()
|
||||||
|
advertiseHandler.postDelayed(
|
||||||
|
this,
|
||||||
|
TCNManager.ELAPSE_BETWEEN_NEW_TCN
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
advertiseHandler.postDelayed(
|
||||||
|
changeTCN,
|
||||||
|
TCNManager.ELAPSE_BETWEEN_NEW_TCN
|
||||||
|
)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
La scelta della frequenza di *advertising* è stata dettata dai vincoli tracciati dall'API di Android @AdvertiseSettings.
|
||||||
|
Infatti la libreria permette di trasmettere un beacon o con una frequenza di 1 *Hz*, 3 *Hz* o 10 *Hz*.
|
||||||
|
Fortunatamente questi vincoli non si sono rilevati troppo limitanti infatti la frequenza di un Hertz, quindi un beacon trasmetto ogni secondo, permette di avere una buona trasmissione e di risparmiare batteria, inoltre in fase di scanning evita che siano registrate più interazioni nello stesso ciclo.
|
||||||
|
|
||||||
### Scansione
|
### Scansione
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user