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.
-
Sensor Logger
The data collection layer. Takes a sensor and orchestrates: reading tags at intervals, organizing data into daily files, and handling metadata.
-
Logger Scheduler
The coordination layer. Manages multiple loggers, ensuring they run at the correct intervals without conflicts (important for shared Modbus buses).