The currently released firmware for the card10 does not allow receiving of BLE advertisements. [Here](https://git.card10.badge.events.ccc.de/card10/firmware/-/merge_requests/392)'s a Merge Request which implements this functionality. If you have a working toolchain for the card10, please try and build this MR, as you will have to most up-to-date version. If you do not have a working toolchain, you can download a [pre-build image](/release/card10-exno-06-28.zip). Simply unzip the archive and merge it onto your card10.
The currently released firmware for the card10 does not allow receiving of BLE advertisements.
a Merge Request which implements this functionality. If you have a working toolchain for the card10,
please try and build this MR, as you will have to most up-to-date version.
If you do not have a working toolchain, you can download a [pre-build image](/release/card10-exno-06-28.zip).
Simply unzip the archive and merge it onto your card10. See [firmware updates][firmwareupdates] for details.
To use the BLE features of the card10 make sure to enable BLE in the `Bluetooth` app.
> :warning: This firmware has to be considered untested and therefore faulty. Please make a backup of your file system before putting the new firmware onto your card10.
## Exposure Notification Statistics and Scanner App
## Exposure Notification Statistics App
After installing the firmware update, you will find a new app on your card10: `Exposure Notification Stats`. If you launch this app (Bluetooth has to be enabled. See above.) you will start to see some statistics about Exposure Notifications in you vicinity. The app will try to distinguish Apple and Google devices based on a heuristic. This heuristic might fail at any point in time. The app shows the number of unique MACs (aka devices) seen during the last 100 seconds. The seconds counter shows how long ago the oldest considered MAC has been received. A low number means that most of the counted devices are still in you vicinity.
...
...
@@ -27,5 +33,14 @@ Two buttons allow you to switch the LED and vibration motor behavior:
Almost all logic is written in Python and can be modified by you: [`apps/exnostat/__init__.py`](https://git.card10.badge.events.ccc.de/card10/firmware/-/blob/schneider/covid-tracing/preload/apps/exnostat/__init__.py)
[Video of Exposure Notification Stats app running](/media/card10-exnostat.mp4)
### Possible Improvements
- Write received Exposure Notifications to a file:
- Try to follow [Google's guidlines](https://developers.google.com/android/exposure-notifications/ble-attenuation-overview#aggregation_over_a_four-second_scan_scaninstance_min_and_average).
- Disable the screen while not looking at it:
- The [G-watch app](https://badge.team/projects/g_watch) can serve as a starting point. It uses the gyroscope and accelerometer to detect glances.
- Show more statistics over time:
- A graph of accumulated activity over time.
- Showing RSSI on the front LEDs (will consume more power).
### Media
[Video of the Exposure Notification Stats app running](/media/card10-exnostat.mp4)