[vz-dev] S0 Meter direkt an RS232 und Raspberry Pi

Thorben Thuermer r00t at constancy.org
Thu Apr 11 22:35:28 CEST 2013


On Thu, 11 Apr 2013 20:29:03 +0200 Jan Tamm <vz at tamms.net> wrote:
> Am 11. April 2013 09:55 schrieb Thorben Thuermer <r00t at constancy.org>:
> > achtung:
> > der s0-an-rs232 hack ist fuer echte rs232-ports vorgesehen,
> > nicht fuer den ttl uart-port wie am himbeerkuchen.
> > beim himbeerkuchen wuerde das einen pegelwandler oder ein usb<->rs232
> > interface bedeuten.
> > ansonsten solltest du dort einen s0-zaehler einfach an einen GPIO
> > anschliessen, nicht an den uart.
> > das wird dann vom 's0vz' programm unterstuetzt, siehe hinweis von udo.
> >
> > Danke Euch beiden für den Hinweis, ich dachte, s0vz ist nur zusammen mit
> > dem Erweiterungsboard von Udo nutzbar. Da ich nur einen S0 anschliessen
> > will erschien mit das Board immer zu groß. Nun schaue ich es mir einmal an.

das board ist vom prinzip ein breakout-board fuer die GPIOs,
mit entsprechender eingangsbeschaltung fuer normgerechte s0-schnittstellen.
wenn du nur einen eingang brauchst, kannst du eine entsprechende beschaltung
auch selbst aufbauen.

(udo: weil du das eh liest: kannst du den schaltplan mal in hoehrer aufloesung
      in's wiki hochladen? ist nicht lesbar so...)

> > [...]
> > > Setzt von Euch jemand den S0 Meter überhaupt in vzlogger ein? Mein Gefühl
> > > sagt mir, dass es noch nicht rund ist: es ist als periodic und mit max
> > > readings 3 definiert. Meiner Meinung nach ist nur der aktuelle Power Wert
> > > sinnvoll. Außerdem halte ich diesen Meter nicht für periodic im
> > > eigentlichen Sinne, d.h. vzlogger sollte nicht schlafen und dann wieder
> > > einen Wert aufnehmen. Im Meter selbst werden drei readings gefüllt aber
> > nur
> > > einer zurückgegeben und ausgewertet (return 1) und dort ist nicht mal der
> > > Leistungswert enthalten.
> >
> > du redest hier vom vzlogger quellcode?
> > ich habe den code schonmal gelesen und einen groeberen bug gefixt,
> > wohl dummerweise mal wieder nur in einer (der c-) version,
> > anscheinend hast du gerade den gleichen in der c++ version gefunden?
> > http://volkszaehler.org/pipermail/volkszaehler-users/2012-December/000757.html
> > https://github.com/volkszaehler/vzlogger/commit/d5c0a10ec3a08c47dd0d55972ce3d3a8b4906c25
> >
> > Genau, der Bug ist in der C++ Version noch enthalten. Zusätzlich wurde der
> > Meter in der C++ Version aber ergänzt, sodass er nun drei Readings
> > ermittelt:
> 1) Identifier "counter" mit value gleich einem internen Zähler, der erhöht
> wird. Mein Verständnis war, dass bei Countern immer nur Impulse übermittelt
> werden, und im Frontend der value Wert ignoriert wird (was leider die
> Aggregation in der Middleware vor dem Frontend unmöglich macht). Also
> sollte der doch Value 1 haben.
> 2) Einen NilIdentifier mit Wert 1 der sich mir nicht erschließt. Habt Ihr
> eine Idee was das sein könnte?
> 3) einen Power Identifier der die errechnete Leistung ausgibt. Leider
> werden zur Errechnung der Leistung jedesmal zwei Impulse gezählt und nicht
> ein Zeitstempel vom vorherigen Lauf herangezogen. Folglich wird im counter
> nur jeder zweite Impuls weitergegeben.

der code war mir noch nicht bekannt, muss ich bei gelegenheit mal reinschauen...
vielleicht moegen die autoren mal was dazu sagen?

> Ganz komisch wird es, das zwar die drei Readings errechnet werden aber die
> Funktion mit "return 1" nur den ersten Wert im counter zurückgibt, der wie
> oben beschrieben nur die halbe Frequenz hat. Also insgesamt bin ich stutzig
> ob jemand den S0 Meter in der c++ Variante nutzt.

vermutlich nicht.
in der C-version sollte er aber soweit funktionieren, mit dem erwaehnten fix.


> -- Jan

- Thorben


More information about the volkszaehler-dev mailing list