W

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 request.

Get started

  1. Clone the code repository (including submodules):
    git clone --recursive https://gitlab.ethz.ch/tec/public/stec/stec-code
  2. Follow the instructions in the Flora Wiki to compile and flash the code using the STMCubeIDE.
  3. 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.

Binder

Run Tests on FlockLab 2

Software Development

STM32CubeIDE

  • The project has been created and edited using the STM32CubeIDE (itself a combination of former Atollic TrueStudio and STM32CubeMX)
    • The IDE is based on eclipse
    • The main config file of the IDE project is stored in the .cproject file
    • The architecture configurations (GPIOs etc.) are stored in the *.ioc file.

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},
      publisher = {ETH Zurich},
      title = {STeC Software},
      year = {2021},
      doi = {10.5905/ethz-1007-460},
      url = {https://doi.org/10.5905/ethz-1007-460}
    }

Conference publications

  • STeC: Exploiting Spatial and Temporal Correlation for Event-based Communication in WSNs, ACM, 2021.
  • BibTeX:
    @inproceedings{biri2021stec,
    author = {Biri, Andreas and Forno, Reto Da 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}
    }

Student theses

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