Lasse Rosenow: Runtime Configuration within RIOT

  • When Jun 21, 2022 from 04:00 PM to 05:00 PM (Europe/Berlin / UTC200)
  • Where R 460
  • Contact Name
  • Add event to calendar iCal

Many applications in the Internet of Things (IoT) use parameters that need to be changed at runtime. Typical examples can be authentication credentials, the sampling rate of a measurement or an LED color. Furthermore in modern industrial spaces runtime parameters of devices are remotely changeable using plug and play capable protocols like LwM2M etc.

As of today, RIOT does not provide an API for runtime parameters. Instead, each application needs to implement custom, often redundant logic for its specific use-case. A fully featured integration of external configuration managers like LwM2M proofs to be particularly difficult given the vast amount of drivers and devices that need to be supported and maintained for every single management tool.

This presentation introduces a system level configuration registry that allows to set and get parameter values at runtime. We organize parameters according to a standardized schema to make them accessible to other modules such as configuration management. We persist these values on local storage. Furthermore the presentation discusses important API design decisions and explains why standardized, module independent schemas for common configuration parameters are essential for the integration of external management tools like LwM2M.