Experiment met nabijheid-app

Screenshot_20200503-112146In de discussies over “corona apps” heb ik een voorbeeld Android app gemaakt waarmee ik kan zien hoe gemakkelijk twee smartphones elkaar met Bluetooth (meer specifiek, met “Bluetooth Low Energy”) kunnen detecteren en bijvoorbeeld hoe goed je de afstand en de tijdsduur van de ontmoeting kunt afleiden.

Op github heb ik de source staan van die app. De app kan twee dingen: de omgeving scannen, met Bluetooth LE, op andere telefoons met deze app, en ook zichzelf zichtbaar maken voor zo’n scan. Je kunt beide functies in de app aan en uit zetten.

Verder kun je een aantal parameters zetten:

  • signaalsterkte waarmee de app zichzelf aan anderen adverteert
  • advertise mode
  • time window, dat is de tijd dat de app een aantal detecties als één contact beschouwt

Je ziet op het scherm de gedetecteerde andere telefoons, met een uniek ID per telefoon dat de app random genereert. Je kunt dat random ID zelf opnieuw genereren zodat je een nieuwe telefoon, een nieuw contact, simuleert. In een tweede scherm (swipe) zie je de verzameling ID’s die de app heeft verzameld. Je hebt dus twee telefoons nodig om dit te testen: de app detecteert alleen telefoons die dezelfde app draaien.Screenshot_20200503-112453

Je kunt aan de ontvangende kant instellen wat de drempel is voor een “detectie”:

  • hoe sterk het ontvangen signaal moet zijn en
  • hoeveel keer je de betreffende zendende telefoon hebt gedetecteerd.

Zo kun je instellen dat je een contact pas “ziet” als je het drie keer hebt gedetecteerd met minimaal -50dB. Zo’n contact wordt dan rood. Met deze app kun je experimenteren wat de juiste waarden zijn zou je de techniek willen inzetten voor detectie van “corona contacten”.

Je kunt de app hier downloaden (als je al een eerdere versie had geïnstalleerd, dan eerst de app verwijderen. Ik had een foutje gemaakt in de eerste versie waardoor een upgrade niet goed werkt). Ik geef geen garanties voor de app, het is een hulpmiddel om te experimenteren met Bluetooth LE. In het derde scherm (swipe) vind je een help scherm.

De app dient niet om “mogelijke besmettingen” op te slaan of te rapporteren. De app heeft geen verbinding met een server. Wat de app alleen doet is aangeven wanneer iemand anders met dezelfde app bij jou in de buurt is.