Skip to content

Architecture Documentation

The architectural decisions are mainly based on teachings of Klaus Igelberger. I was teached in C++ and maybe some of the decisions and implementations seem odd or not pythonic. Nevertheless, I think at the end nicely extendable framework came out.

Architecture Philosophy

AtmosPyre follows a layered architecture:

  • Sensor

    The instrument interface. Each sensor knows how to read specific measurements (tags) and provides metadata about capabilities, calibration, and requirements.


    Documentation

  • Sensor Logger

    The data collection layer. Takes a sensor and orchestrates: reading tags at intervals, organizing data into daily files, and handling metadata.


    Documentation

  • Logger Scheduler

    The coordination layer. Manages multiple loggers, ensuring they run at the correct intervals without conflicts (important for shared Modbus buses).


    Documentation