Wiki
Demos
Software
- The code for the communication board can be found in
/code
. - As this code has been primarily developed for testbed testing purposes, no application board is available.
Get started
- Clone the code repository (including submodules):
git clone --recursive https://gitlab.ethz.ch/tec/public/demos/demos-code
- Follow the instructions in the Flora Wiki to compile and flash the code using the STMCubeIDE.
- Clone the script repository to schedule tests and inspect the data:
git clone https://gitlab.ethz.ch/tec/public/demos/demos-scripts
Run Tests on FlockLab 2
- We provide scripts to run tests on the FlockLab 2 testbed.
- Shell script:
/code/Scripts/run_flocklab_test.sh
- Python script:
/scripts/bin/demos-analysis.py
- Shell script:
Software Development with STM32CubeIDE
- The project has been created and edited using the STM32CubeIDE (itself a combination of former Atollic TrueStudio and STM32CubeMX)
Hardware
More detailed schematics and layouts are available on request.
FAQ
Where does the name 'Demos' originate?
Demos
is Greek for "people" and represents the ruling body of free citizens in ancient Greek city-states. It forms the root of the word "democracy":
Democracy is the idea that the citizens of a country should take an active role in the government of their country and manage it directly or through elected representatives. In addition, it supports the idea that the people can replace their government through peaceful transfers of power rather than violent uprising or revolution. Thus, a key part of democracy is that the people have a voice.
(Quote: National Geographic)
The name stresses the protocols ability to self-elect a leader and peacefully transition to a new leader in case the previous one is absent, in strong contrast to other protocols where leader failure can cause competition and missing or disputed leadership.
Publications
Software
- ETH Zurich Library Entry
- BibTeX:
@misc{biri2023demos_code, author = {Biri, Andreas and Da Forno, Reto and Kuonen, Tobias}, title = {Demos - Software}, publisher = {ETH Zürich}, year = {2023}, doi = {10.5905/ethz-1007-675}, url = {https://doi.org/10.5905/ethz-1007-675} }
- This software builds on Flora.
Conference publications
- Demos: Robust Orchestration for Autonomous Networking, ACM, 2023.
- BibTeX:
@inproceedings{biri2023demos, author = {Biri, Andreas and Zimmerling, Marco and Thiele, Lothar}, title = {Demos: Robust Orchestration for Autonomous Networking}, year = {2023}, isbn = {}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {}, doi = {}, booktitle = {The International Conference on Embedded Wireless Systems and Networks}, pages = {}, numpages = {12}, location = {Rende, Italy}, series = {EWSN '23} }
- Conference presentation
- ETH Research Library
Contact Information
Please contact us if you have feedback, proposals, bug reports, etc. :
Andreas Biri
PhD Student
Contributors
- Andreas Biri: PhD student
- Reto Da Forno: Technical staff
- Tobias Kuonen: Master thesis HS2020
Licensing
See License file.
Third-Party Software
Component | License | Location in repo | Contained in repo |
---|---|---|---|
SX126x Radio Drivers (by Semtech) | BSD-3-Clause | /code/Lib/radio/semtech |
no |
STM32CubeIDE generated code | Ultimate Liberty License SLA0044/SLA0048 or BSD 3-Clause |
/code/Drivers , /code/Startup , /code/Src , and /code/Inc
|
partially (only files in Startup , Src and Inc ) |
FreeRTOS | MIT license | /code/Middlewares/Third_Party/ |
no |