mirror of
https://github.com/Lurkars/esp-ena.git
synced 2024-11-22 18:16:10 +01:00
update README
This commit is contained in:
parent
33ac1ef68a
commit
115d511b6b
36
README.md
36
README.md
@ -5,23 +5,24 @@ More information about the Covid-19 Exposure Notification at [Apple](https://www
|
|||||||
|
|
||||||
The main source (the Exposure Notification API) is a separate module in [**components/ena**](components/ena).
|
The main source (the Exposure Notification API) is a separate module in [**components/ena**](components/ena).
|
||||||
|
|
||||||
This implementation fully covers the BLE part including the cryptography specifications needed (see Bluetooth Specifications and Cryptography Specifications documents in the links above) and the exposure check for now:
|
This implementation fully covers the BLE part including the cryptography specifications needed and the exposure check.
|
||||||
* send beacons
|
|
||||||
* store TEKs on flash (last 14)
|
### Features implemented
|
||||||
* receive beacons
|
* send/receive BLE beacons as defined in [Bluetooth® Specification (Apple/Google)](https://blog.google/documents/70/Exposure_Notification_-_Bluetooth_Specification_v1.2.2.pdf) and [Cryptography Specification (Apple/Google)](https://blog.google/documents/69/Exposure_Notification_-_Cryptography_Specification_v1.2.1.pdf)
|
||||||
* received beacons are stored after 5 minutes threshold (storage is limited, ~100k beacons can be stored)
|
* BLE privacy (change random MAC address in random interval)
|
||||||
* parse key export binaries as defined in [Exposure Key export file format and verification](https://developers.google.com/android/exposure-notifications/exposure-key-file-format) (big thanks to [nanopb](https://github.com/nanopb/nanopb) for making this easier than I thought!)
|
* permanent storage on flash of last keys, beacons and exposures (storage is limited, ~100k beacons can be stored)
|
||||||
* calculating risks scores (after adding reported keys and storing exposure information)
|
* parsing of Exposure Key export binaries as defined in [Exposure Key export file format and verification](https://developers.google.com/android/exposure-notifications/exposure-key-file-format) (big thanks to [nanopb](https://github.com/nanopb/nanopb) for making this easier than I thought!)
|
||||||
|
* calculating exposure risks/scores (after adding reported keys and storing exposure information) as defined in [ENExposureConfiguration (Apple)](https://developer.apple.com/documentation/exposurenotification/enexposureconfiguration)
|
||||||
|
|
||||||
Additional features for full ENA device
|
Additional features for full ENA device
|
||||||
* RTC support with DS3231
|
* RTC support with DS3231 (for correct system time)
|
||||||
* display support with SSD1306
|
* display support with SSD1306
|
||||||
* interface to
|
* interface to
|
||||||
* set time
|
* set time
|
||||||
* show exposure status
|
* show exposure status
|
||||||
|
|
||||||
Extensions planned:
|
### Features in development
|
||||||
* automatically receive key export from web (will test [Corona Warn App](https://github.com/corona-warn-app))
|
* automatically receive Exposure Key export from web (started with [Corona Warn App](https://github.com/corona-warn-app))
|
||||||
* send infected status (will test [Corona Warn App](https://github.com/corona-warn-app))
|
* send infected status (will test [Corona Warn App](https://github.com/corona-warn-app))
|
||||||
* battery support
|
* battery support
|
||||||
* 3d print case
|
* 3d print case
|
||||||
@ -29,12 +30,16 @@ Extensions planned:
|
|||||||
* delete data
|
* delete data
|
||||||
* report infection
|
* report infection
|
||||||
|
|
||||||
Limitations/Problems
|
### Limitations/Problems
|
||||||
* storage only ~2.8mb available
|
* storage only ~2.5mb available
|
||||||
* WiFi or other external connection needed for infections status (auto-connect to open WiFis?)
|
* WiFi or other external connection needed for infections status (auto-connect to open WiFis?)
|
||||||
* obtaining accessibility
|
* obtaining accessibility
|
||||||
* all parameters (scanning time, thresholds etc.)
|
* all parameters (scanning time, thresholds etc.)
|
||||||
|
|
||||||
|
### Questions/Problems/Annotations
|
||||||
|
* memory is really low with BLE and WiFi enabled, unzipping a Key Export not possible for now, maybe disable BLE service for download.
|
||||||
|
* service UUID is send reversed, RPI and AEM also send in reverse? Don't know BLE specification enough
|
||||||
|
|
||||||
The following acronyms will be used in code and comments:
|
The following acronyms will be used in code and comments:
|
||||||
* *ENA* Exposure Notification Api
|
* *ENA* Exposure Notification Api
|
||||||
* *ENIN* ENIntervalNumber - timestamp with 10 minutes resolution
|
* *ENIN* ENIntervalNumber - timestamp with 10 minutes resolution
|
||||||
@ -42,15 +47,11 @@ The following acronyms will be used in code and comments:
|
|||||||
* *RPI* Rolling Proximity Identifier - send and received identifer changed every 10 minutes
|
* *RPI* Rolling Proximity Identifier - send and received identifer changed every 10 minutes
|
||||||
* *AEM* Associated Encrypted Metadata - send and received metadata
|
* *AEM* Associated Encrypted Metadata - send and received metadata
|
||||||
|
|
||||||
Open questions/problems
|
|
||||||
* memory is really low with BLE and WiFi enabled, unzipping a Key Export not possible for now, maybe disable BLE service for download.
|
|
||||||
* service UUID is send reversed, RPI and AEM also send in reverse? Don't know BLE specification enough
|
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
### Hardware Required
|
### Hardware Required
|
||||||
|
|
||||||
For now just an ESP32 is required. For full device later RTC (DS3231) and Display (SSD1306) will be required.
|
For now just an ESP32 is required. DS3231 RTC and SSD1306 Display are required for a complete device.
|
||||||
|
|
||||||
### Configure the project
|
### Configure the project
|
||||||
|
|
||||||
@ -70,7 +71,6 @@ debug options
|
|||||||
* Log output set to Debug
|
* Log output set to Debug
|
||||||
* Exposure Notification API / Storage enable *Dump storage*
|
* Exposure Notification API / Storage enable *Dump storage*
|
||||||
|
|
||||||
|
|
||||||
### Build and Flash
|
### Build and Flash
|
||||||
|
|
||||||
May flash partition table:
|
May flash partition table:
|
||||||
|
Loading…
Reference in New Issue
Block a user