Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dyne/decode-proximity-hw

Embedded version of decode's proximity app
https://github.com/dyne/decode-proximity-hw

Last synced: 4 days ago
JSON representation

Embedded version of decode's proximity app

Awesome Lists containing this project

README

        

DECODE Proximity embedded
Implementing DP-3T (embedded nRF52 version)



Dyne.org



This project is a privacy-preserving and decentralized alternative to the Dutch
`#coronaApp`.

It will adhere to the technological demands published last week in the
[โ€˜Veilig tegen coronaโ€™ manifesto](https://www.veiligtegencorona.nl/).

The decode-proximity provides virus tracking and a warning system with a
proximity alert. Every device broadcasts its proximity to other devices,
privately recording when two people have been close (only the device owners
know!).

If a user gets an alert from the device they can request a test for a corona
diagnosis. If positive they can scan a QRCode from the GGD to anonymously
upload a notice for all other users that have been close to them, to let them
know of the risk.

โ— Please note: there are NO personal data stored on the central server. The
secret key and the ephemeral ids can NOT be traced to identifiable people.

We are also developing a hardware port (This repository) to allow usage as a
keyring and without a mobile phone

Using RIOT-OS+nimble on Nordic nRF52.

Using wolfSSL/wolfCrypt for TLS and crypto.

๐Ÿšง This software is in **ALPHA stage** and are part of the
[DECODE project](https://decodeproject.eu) about data-ownership and
[technological sovereignty](https://www.youtube.com/watch?v=RvBRbwBm_nQ). Our
effort is that of improving people's awareness of how their data is processed
by algorithms, as well facilitate the work of developers to create along
[privacy by design principles](https://decodeproject.eu/publications/privacy-design-strategies-decode-architecture)
using algorithms that can be deployed in any situation without any change.

๐Ÿšฉ Table of Contents (click to expand)

* [Install](#-install)
* [Quick start](#-quick-start)
* [Configuration](#-configuration)
* [Hardware](#-hardware)
* [Testing](#-testing)
* [Troubleshooting & debugging](#-troubleshooting--debugging)
* [Acknowledgements](#-acknowledgements)
* [Links](#-links)
* [Contributing](#-contributing)
* [License](#-license)

***
## ๐Ÿ’พ Install

Some dependencies are needed before you are able to build the project.

### Dependencies

You need to clone the RIOT-OS project
[More details](https://doc.riot-os.org/getting-started.html).

Once you cloned the repo you have to reference it in the `RIOTBASE` variable of
the
[Makefile](https://github.com/dyne/decode-proximity-hw/blob/master/Makefile#L8)

The GNU Arm Embedded Toolchain is also needed available on most operative
systems packaging systems eg.

```bash
apt install gcc-arm-none-eabi
```
### Building

To build the project jus run

```bash
make
```
This will download all the submodule needed projects and compile.

When finished you'll find the binary application file under `./bin/nrf52dk/dp3t.elf`

### Flashing on device

```bash
make flash
```

***
## ๐ŸŽฎ Quick start

> TODO

***
## ๐Ÿ”ง Configuration

> TODO

***

## ๐Ÿ“Ÿ Hardware

Below a brief list supported and tested hardware to begin with

**nRF52 DK** :heavy_check_mark:

nRF52 DK

https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK

**Arduino NANO 33 IoT** :heavy_check_mark:

nRF52 DK

https://store.arduino.cc/arduino-nano-33-iot

**Pinetime** :white_check_mark:

nRF52 DK

https://www.pine64.org/pinetime/

***

## ๐Ÿ“‹ Testing

***
## ๐Ÿ› Troubleshooting & debugging

***
## ๐Ÿ˜ Acknowledgements

Copyright ยฉ 2020 by [Dyne.org](https://www.dyne.org) foundation, Amsterdam

Designed, written and maintained by Daniele Lacamera

**RIOT-OS+nimble** on Nordic nRF52.

**wolfSSL/wolfCrypt** for TLS and crypto.

***
## ๐ŸŒ Links

https://dyne.org/

https://www.decodeproject.eu/

***
## ๐Ÿ‘ค Contributing

Please first take a look at the [Dyne.org - Contributor License Agreement](CONTRIBUTING.md) then

1. ๐Ÿ”€ [FORK IT](../../fork)
2. Create your feature branch `git checkout -b feature/branch`
3. Commit your changes `git commit -am 'Add some fooBar'`
4. Push to the branch `git push origin feature/branch`
5. Create a new Pull Request
6. ๐Ÿ™ Thank you

**[๐Ÿ” back to top](#toc)**

***
## ๐Ÿ’ผ License
DECODE Proximity embedded
Copyright (c) 2020 Dyne.org foundation, Amsterdam

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .

**[๐Ÿ” back to top](#toc)**