Wiki
STeC
Software
- The code for the communication board can be found in
/code
. - The code for the specific application board we used during the evaluation of STeC is available on the ETH Data Archive.
Get started
- Clone the code repository (including submodules):
git clone --recursive https://gitlab.ethz.ch/tec/public/stec/stec-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/stec/stec-scripts
If you would like to inspect the scripts without installing anything, you can also run them directly online or use a static version where we ran the script for you.
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/analysis/bin/stec-flocklab.py
- Shell script:
Software Development
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
What does 'STeC' mean?
The name STeC is an abbreviation of "Spatial and Temporal Correlation", thereby stressing the novel design paradigm that the protocol is leveraging. Furthermore, the protocol has been designed by TEC, the Computer Engineering Group at ETH Zurich.
Where can I get the sensor data?
All data from our outdoor deployment is available through the PermaSense GSN website. The easiest way to access and download it is through our scripts (e.g. /scripts/analysis/data_management/data_manager.py
). Data from our deployments on the premises of ETH Zurich and on FlockLab 2 are available on request.
Can I see STeC in action?
Unfortunately, we had to stop our outdoor deployment running at Dirruhorn, Switzerland on 09.03.2022 for organisational reasons. Until then, it was possible to use the monitoring scripts (e.g. /scripts/analysis/notebooks/stec_monitoring_7d.ipynb
) to get the most up-to-date version or run the script directly online (or use a static version where we ran the script for you). Raw sensor data can always be inspected in real-time and downloaded using the PermaSense GSN website.
Publications
Software
- ETH Zurich Library Entry
- BibTeX:
@misc{stec2021, author = {Biri, Andreas and Da Forno, Reto and Gsell, Tonio and Gatschet, Tobias and Meyer, Matthias and Kuonen, Tobias}, title = {STeC Software}, publisher = {ETH Zurich}, year = {2021}, doi = {10.5905/ethz-1007-460}, url = {https://doi.org/10.5905/ethz-1007-460} }
- This software builds on Flora.
Conference publications
- STeC: Exploiting Spatial and Temporal Correlation for Event-based Communication in WSNs, ACM, 2021.
- BibTeX:
@inproceedings{biri2021stec, author = {Biri, Andreas and Da Forno, Reto and Gsell, Tonio and Gatschet, Tobias and Beutel, Jan and Thiele, Lothar}, title = {STeC: Exploiting Spatial and Temporal Correlation for Event-Based Communication in WSNs}, year = {2021}, isbn = {9781450390972}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3485730.3485951}, doi = {10.1145/3485730.3485951}, booktitle = {Proceedings of the 19th ACM Conference on Embedded Networked Sensor Systems}, pages = {274–287}, numpages = {14}, location = {Coimbra, Portugal}, series = {SenSys '21} }
- Conference presentation
- ETH Research Library
Student theses
- Gatschet, Tobias: Event-triggered multi-hop communication for wireless sensor networks, ETH Zurich, 2020.
Contact Information
Please contact us if you have feedback, proposals, bug reports, etc. :
Andreas Biri
PhD Student
Reto Da Forno
Technical Staff
Contributors
- Andreas Biri: PhD student
- Matthias Meyer: PhD student
- Reto Da Forno: Technical staff
- Tonio Gsell: Technical staff
- Samuel Weber: Senior researcher
- Jan Beutel: Faculty
- Tobias Gatschet: Master thesis HS2019
- Tobias Kuonen: Semester thesis HS2019, Master thesis HS2020
- Akos Pasztor: Master thesis HS2017
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 |