Personal tools

Difference between revisions of "Design and concept"

From PhotoVoltaic Logger new generation

Jump to: navigation, search
m (Undo revision 383 by KKoPV (talk))
m (Software layers)
 
(20 intermediate revisions by the same user not shown)
Line 3: Line 3:
  
 
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, 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 ===
 
=== 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 20: 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]] handles all [[channel]] definitions, their attributes and the organization of channels in the [[channel tree]] and a [[charts|charting module]] for simple visualizations.
+
=== 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 [[reading]]s and some helper tables and views.
+
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 22: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)


Concept.png

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

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


Model-ChannelType-Channel.png

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:


DataFlow.png