Benutzer-Werkzeuge

Webseiten-Werkzeuge


development:definitions

Definitionen

Um bei der künftigen Entwicklung die Absprachen der Entwickler und die Benennung im Code zu vereinfachen habe ich hier mal eine kleine Liste von Definitionen zusammen getragen.

Entity

Praktisch alles außer die Messwerte selber, wird von der Middleware als „Entity“ behandelt.

Channel

Ein Kanal (engl. Channel) repräsentiert einen „Sensor“ oder einen „Zähler“ (engl. Meter)
Er wird durch eine Universally Unique Identifier eindeutig referenziert.
Der Kanal hat auch einen Typ, der die Meßgröße näher spezifiziert.

Meter

Ein „Zähler“ (engl. Meter) erfasst einen Verbrauch.

Typische Messgrößen sind zum Beispiel:

  • Strom
  • Gas
  • Wasser

definiert sind dafür (aus dem Source des Frontend gelesen):

  • flow → Fließgeschwindigkeit → Impulse?
  • heat → Wärmemengenzähler → Impulse?
  • electric meter → Stromzaehler → Aktueller Zählerstand in kWh oder Impulse?
  • gas → Gas → Impulse?
  • water → Wasser → Impulse?
  • workinghours → Betriebsstundenzähler → Impulse?

Sensor

Ein „Sensor“ könnte kontinuierlich Daten liefern.

Typische Messgrößen sind zum Beispiel:

  • Temperatur
  • Wind
  • Luftdruck

definiert sind dafür (aus dem Source des Frontend gelesen):

  • voltage → Spannungssensor → Momentanwerte in Volt?
  • power → Strommesser → Momentanwerte in Watt?
  • powersensor → Stromsensor → Momentanwerte in Ampere?
  • temperature → Temperatur → Momentanwerte in °Celsius?
  • pressure → Luftdruck → Momentanwerte in ?
  • humidity → Luftfeuchtigkeit → Momentanwerte in ?
  • windspeed → Windgeschwindigkeit → Momentanwerte in ?
  • radiation → Radioaktivität (Dosis) → Momentanwerte in ?
  • luminosity → Lichtstärke → Momentanwerte in ?

Aggregator

Ein „Aggregator“ fasst Zähler oder Kanäle zusammen und kann diese gemeinsam analysieren.

Wir besitzen zur Zeit erst einen Aggregator, die Gruppe. Andere Beispiele wären: Benutzer, Häuser, Städte, Zähler-/Sensortypen…

Group

Eine „Gruppe“ (engl. Group) fasst beliebige Kanäle oder Gruppen zusammen. Diese können ohne lokalen oder physischen Bezug „virtuell“ gruppiert werden. Z.B.: alle eigenen Stromzähler bilden eine Gruppe; alle Wasseruhren eine zweite Gruppe und alle zusammen eine dritte.
So können ähnlich wie in gängigen Dateisystem Hierarchien erzeugt werden - die dritte Gruppe enthält zum Beispiel die beiden ersten Gruppen.

Definiert sind hierfür laut Frontend bisher:

  • group → Gruppe
  • user → Nutzer
  • building → Gebäude

Controller

Ein Controller bildet die Schnittstelle zwischen Zähler/Sensor und der Middleware. Dafür vermittelt er zwischen dem Protokoll des Zählers und der Middleware API.
Weitere Aufgabe des Controllers ist die Pufferung von Messwerten bei Verbindungsproblemen und ggf. das Verteilen der Messwerte über einen lokalen Webserver (local interface).

Middleware

Die Middleware ist für die Speicherung und Verarbeitung der Messwerte zuständig. Die Verwaltung von Usern, Kanälen ist auch Aufgabe der Middleware.
Es besteht aus Webserver, Datenbank, und PHP Interpreter.

Frontend

Das Frontend ist für die Visualisierung der Messwerte verantwortlich.
Typischerweise wird hierzu ein Browser verwendet, der mit Hilfe von Javascript die Daten anzeigt.

Tuple

Ein Tuple ist ein Messwert, der von der Middleware ausgeliefert wird. Meist wurde er schon von der Middleware verarbeitet/zusammengefasst.

Local Interface

Statt die Messwerte von der Middleware abzufragen, können diese auch direkt von einem lokalen Webserver auf dem Controller abgefragt werden, um eine geringere Latenz und eine höhere zeitliche Auflösung zu erreichen.
development/definitions.txt · Zuletzt geändert: 2012/12/22 19:41 von malloc