Auf dieser Seite wollen wir euch eine Schritt-für-Schritt Anleitung für die eigene Installation liefern.
Die Installation gliedert sich anhand der Bestandteile eines volkszaehler-systems, siehe auch: overview
Um den Verbrauch von Strom, Gas, Wasser oder Umgebungsdaten wie Temperatur, Luftfeuchte oder Füllstand zu erfassen, muss ein geeignetes Messgerät verwendet werden.
Im Idealfall ist schon ein vom Netzbetreiber installierter Zähler mit Datenschnittstelle vorhanden. Viele moderne Stromzähler nach EDL21 können zum Beispiel mit einem ir-schreib-lesekopf ausgelesen werden, viele Gaszähler haben eine Mulde für einen Magnetsensor.
Alternativ können zusätzliche Zähler, zB mit Impulsausgang installiert werden oder die vorhandenen Zähler mit z. B. optischen Abtastungen „gelesen“ werden.
Die Messdaten liegen dann entweder in standardisierten Protokollen vor (z. B. sml) oder werden als Folge von Impulsen verarbeitet (S0_schnittstelle).
weiterführende Dokumentation unter: channels
Die durch die Messgeräte erfassten Werte müssen zur weiteren Verarbeitung und Speicherung übertragen werden, da nicht immer eine Auswertungs- und Speichereinheit in direkter Nähe zum Messgerät verfügbar ist.
In diesem Fall bietet es sich an, eine Microcontroller-basierte Hardware einzusetzen, die mit geringem Energiebedarf die Daten vom Messgerät annimmt und per Netzwerk (und/oder Internet) zur Interpretation und Speicherung überträgt.
Es gibt hier zwei Geräteklassen:
Möglich sind hier zB.:
Auf microcontroller-basierten Controllern der Klasse (1) wird die ethersex Firmware eingesetzt, beim Raspberry Pi kommen fertig installierte Images zum Einsatz, z. B. dieses: fertiges Volkszähler-Image für RPI.
Ein Stromzähler mit optischer Datenschnittstelle liefert eine lange Liste von Zeichen, aus denen der aktuelle Zählerstand und der momentane Verbrauch mittels einer Auswertungssoftware extrahiert werden muss.
Die Pulse eines Gaszählers mit Magnetschalter müssen mit Bezug auf die Zeit zwischen zwei Pulsen interpretiert werden, um daraus den momentanen Verbrauch zu bestimmen. Um den Zählerstand des Gaszählers zu ermitteln, müssen die Pulse einfach nur gezählt, durch die Auflösung geteilt und zum Startwert des Zählers bei der Installation der Messanlage addiert werden.
Es ist also eine Art Computer erforderlich, der diese Messdatenaufbereitung und die Übergabe an die Datenbank vornehmen kann.
Dabei kann der Computer zwar ein klassischer Computer sein, aufgrund des hohen Energiebedarfs dieser Geräte empfehlen sich aber eher stromsparende Mini-Computer wie z. B. der Raspberry Pi.
Für den Rasberry Pi und die RPi-Erweiterung gibt es verschiedene Lösungen für die Entgegennahme von Messdaten:
Beide Ansätze führen bei neu eingehenden Daten zum Aufruf der Middleware-Php-Scripte (in /var/www/volkszaehler.org/htdocs/), die nach eventueller Berechnung von Werten neue Datensätze in der Volkszähler-Datenbank erzeugen.
Für die Speicherung der Daten wird eine Datenbank eingesetzt. Da nahezu jede Datenbank dazu verwendet werden kann, wird hier beispielhaft nur die Verwendung von MySQL beschrieben. MySQL ist eine kostenlose Datenbank für viele Betriebssysteme und kann auch auf den hier interessanten Kleinstrechnern unter Linux betrieben werden.
Das Datenbankschema für den Volkszähler ist einfach. Es besteht aus vier Tabellen:
Die Anzeigegeräte („Kanäle“ genannt) werden über das Frontend erzeugt und von den Messgeräten mit Daten versorgt. Dazu muss das Messgerät die ID des Anzeigegerätes kennen. Deswegen müssen in den Konfigurationsdateien der verarbeitenden Komponenten (vzlogger, s0vz, 1wirevz usw.) diese IDs angegeben werden.
Letztlich sollen die gemessenen Daten in einer für uns angenehmen Weise aufbereitet angezeigt werden. Dazu wird ein Frontend verwendet.
Der Volkszähler hat ein Standard-Frontend, das die Messdaten in einem hübschen Graphen anzeigen kann und erlaubt, Zeitraum und Auflösung der Darstellung frei zu wählen.
Dieses Standard Frontend wird von einem Webserver bereitgestellt und kann von jedem Browser aufgerufen werden (PC, Handy, Tablet).
Damit eine zusätzliche Sicherheit bei einer eventuellen Übertragung des Frontends über das Internet erzeugt wird, werden die Anzeigegeräte (=Kanäle) mittels einer kryptischen UUID (beispielsweise 550e8400-e29b-11d4-a716-44665512562) definiert, die man am Browser separat eingeben muss, um den entsprechenden Kanal sehen zu können. Wer die UUID nicht kennt, kann zwar das Frontend aufrufen, aber die Daten nicht sehen. Man kann aber auch die Definition als öffentliche Kanäle wählen, dann erspart man sich diese Mühe.
Um die UUIDs nicht jedesmal eingeben zu müssen, wenn man die Seite neu lädt oder ein anderes Mal wieder aufrufen möchte, können die UUIDs in Browser-Cookies gespeichert werden und stehen dann an diesem Arbeitsplatz dauerhaft zur Verfügung. (Vorsicht an öffentlichen Computern!)
Die Kanäle des Volkszählers werden über das Frontend nicht nur angezeigt, sondern auch erzeugt:
Dazu wählt Ihr die Schaltfläche „Kanal hinzufügen“ aus.
Es gibt drei Möglichkeiten:
Der Volkszähler ist vielfältig verwendbar. Es gibt die einfache Variante, in der ein RPI mit einem Standardimage mit einem USB-IR-Kopf den Stromzähler liest (Inbetriebnahmezeit ca. 2 - 8h, je nach Vorkenntnissen) und unendliche viele Varianten bis zur komplexen Messung an unterschiedlichen Orten mit zentraler Auswertung.