Difference between revisions of "Design and concept"
From PhotoVoltaic Logger new generation
m |
m (→Software layers) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} | {{TOCright}} | ||
+ | == Software layers == | ||
+ | |||
The whole system consists of 3 essential layers: | The whole system consists of 3 essential layers: | ||
+ | |||
+ | * '''External systems''', which handles | ||
+ | ** the data '''acquisition''' or | ||
+ | ** the data '''analysis''' | ||
+ | * '''PVLng''' as core component | ||
+ | * A '''database''' for data storage (at the moment only [http://mysql.com MySQL] via [http://php.net/manual/book.mysqli.php PHP Mysqli] module) | ||
+ | |||
[[File:Concept.png]] | [[File:Concept.png]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== External systems === | === External systems === | ||
− | The most data storage work must be done by external [[scripts]]. They obtain the measuring data from e.g. sensors and push them via [[API]] into the system. | + | The most data storage work must be done by external [[:Category:Scripts|scripts]]. They obtain the measuring data from e.g. sensors and push them via [[API]] into the system. |
In these scripts are simple to use functions defined, which pushes the data and handles errors. | In these scripts are simple to use functions defined, which pushes the data and handles errors. | ||
Line 18: | Line 21: | ||
Scripts to push your data to other sides are also available, for photovoltaic plants I recommend [http://PV-Log.com PV-Log] or [http://pvoutput.org PVOutput]. | Scripts to push your data to other sides are also available, for photovoltaic plants I recommend [http://PV-Log.com PV-Log] or [http://pvoutput.org PVOutput]. | ||
− | The [[web frontend]] | + | === Web frontend === |
+ | |||
+ | The [[:Category:Web frontend|web frontend]] consists mainly of | ||
+ | * [[Channel module|Channel]] administration | ||
+ | * Organization of channels in the [[Overview module|channel hierarchy]] | ||
+ | * [[Charts module]] for simple visualizations. | ||
=== PVLng === | === PVLng === | ||
The system is build (bottom-up) by | The system is build (bottom-up) by | ||
− | * [[Model]]s handles a very special kind of data/sensor | + | * '''[[:Category:Model|Model]]s''' handles a very special kind of data/sensor |
− | * [[Channel type]]s implements a set set of predefined sensor types, each based on a model | + | * '''[[Channel type]]s''' implements a set set of predefined sensor types, each based on a model |
− | * [[Channel]]s represent concrete sensors, each based on a channel type | + | * '''[[:Category:Channel|Channel]]s''' represent concrete sensors, each based on a channel type |
− | * [[Channel group]]s handles special needs about grouping or calculation/transformation | + | * '''[[Overview module|Channel group]]s''' handles special needs about grouping or calculation/transformation |
+ | |||
+ | |||
+ | [[File:Model-ChannelType-Channel.png|640px]] | ||
=== Database === | === Database === | ||
− | The [[database]] have mainly 3 tables for channel organization, 2 tables for | + | The [[Database structure|database]] have mainly 3 tables for channel organization, 2 tables for readings and some helper tables and views. |
== Data flow == | == Data flow == | ||
The general information and data flow is like this: | The general information and data flow is like this: | ||
+ | |||
[[File:DataFlow.png]] | [[File:DataFlow.png]] |
Latest revision as of 21:17, 30 August 2014
Software layers
The whole system consists of 3 essential layers:
- External systems, which handles
- the data acquisition or
- the data analysis
- PVLng as core component
- A database for data storage (at the moment only MySQL via PHP Mysqli module)
External systems
The most data storage work must be done by external scripts. They obtain the measuring data from e.g. sensors and push them via API into the system.
In these scripts are simple to use functions defined, which pushes the data and handles errors.
Scripts to push your data to other sides are also available, for photovoltaic plants I recommend PV-Log or PVOutput.
Web frontend
The web frontend consists mainly of
- Channel administration
- Organization of channels in the channel hierarchy
- Charts module for simple visualizations.
PVLng
The system is build (bottom-up) by
- Models handles a very special kind of data/sensor
- Channel types implements a set set of predefined sensor types, each based on a model
- Channels represent concrete sensors, each based on a channel type
- Channel groups handles special needs about grouping or calculation/transformation
Database
The database have mainly 3 tables for channel organization, 2 tables for readings and some helper tables and views.
Data flow
The general information and data flow is like this: