Implementing DP-3T (embedded nRF52 version)
DECODE Proximity embedded
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.
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.
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.
🚩 Table of Contents (click to expand)
💾 Install
Some dependencies are needed before you are able to build the project.
Dependencies
You need to clone the RIOT-OS project More details.
Once you cloned the repo you have to reference it in the RIOTBASE
variable of
the
Makefile
The GNU Arm Embedded Toolchain is also needed available on most operative systems packaging systems eg.
apt install gcc-arm-none-eabi
Building
To build the project jus run
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
make flash
🎮 Quick start
TODO
🔧 Configuration
TODO
📟 Hardware
Below a brief list supported and tested hardware to begin with
nRF52 DK
https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK
Arduino NANO 33 IoT
https://store.arduino.cc/arduino-nano-33-iot
Pinetime
https://www.pine64.org/pinetime/
📋 Testing
🐛 Troubleshooting & debugging
😍 Acknowledgements
Copyright © 2020 by Dyne.org foundation, Amsterdam
Designed, written and maintained by Daniele Lacamera
RIOT-OS+nimble on Nordic nRF52.
wolfSSL/wolfCrypt for TLS and crypto.
🌐 Links
👤 Contributing
Please first take a look at the Dyne.org - Contributor License Agreement then
🔀 FORK IT- Create your feature branch
git checkout -b feature/branch
- Commit your changes
git commit -am 'Add some fooBar'
- Push to the branch
git push origin feature/branch
- Create a new Pull Request
🙏 Thank you
💼 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 <http://www.gnu.org/licenses/>.