[vz-dev] Inbetriebnahme ZMD120AR Landis & Gyr mit IR Lesekopf über RS232

Peter Kreutzer kreutzer.peter at gmail.com
Sat May 18 20:03:04 CEST 2013


Hi Torben,

 sudo strace -f -s 9999 vzlogger --config /etc/vzlogger.conf -v 20
>vzlogger.trace

[pid  3742] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892,
...}) = 0
[pid  3742] getppid()                   = 3740
[pid  3742] write(3, "[May 18 19:41:51][mtr0] Got 0 new readings from
meter:\n", 55) = 55
[pid  3742] read(4, "", 1)              = 0
[pid  3742] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892,
...}) = 0
[pid  3742] getppid()                   = 3740
[pid  3742] write(2, "[May 18 19:41:51][d0]   ", 24[May 18 19:41:51][d0]
) = 24
[pid  3742] write(2, "Something unexpected happened: read:281!",
40Something unexpected happened: read:281!) = 40
[pid  3742] write(2, "\n", 1
)           = 1

Sieht so aus, das der Zähler einen leeren Wert senden.

Ich habe ja schon versucht mit diesem script die baudrate und die
Startsequenz zu senden. Anschliessend sehe ich in der while auch keinen
Output auf der Konsole.

#/usr/bin/pythonimport serial

ser = serial.Serial('/dev/ttyS0', 300, timeout=100)
ser.write("/?!<0D><0A>")

while True:
 x = ser.read()
 print x,
ser.close()

Dann ist das mit der Startsequenz irgendwie doch nicht so richtig.
Ich denke ich muss erstmal das mit der start Sequenz lösen.

Das obige schickt zwar die Sequenz  aber der Zähler schickt dann keine
Werte.
Sonst würde die while schleife ja etwas auf die console schreiben

Grüsse
 und vielen Dank für deine Unterstützung




Am 18. Mai 2013 14:07 schrieb Thorben Thuermer <r00t at constancy.org>:

> On Sat, 18 May 2013 12:19:01 +0200
> Peter Kreutzer <kreutzer.peter at gmail.com> wrote:
> > nun habe ich mit dem python script die Startsequenz geschickt ..
> > #/usr/bin/python
> > import serial
> > ser = serial.Serial('/dev/ttyS0', 300, timeout=100)
> > ser.write("/?!<0D><0A>")
> >
> > while True:
> >  x = ser.read()
> >  print x,
> > ser.close()
> >
> > und anschliessend mit
>
> eigentlich musst du _waehrend_ vzlogger laeft die sequenz schicken,
> und vzlogger die antwort lesen lassen.
> das problem ist halt, dass vzlogger die nicht von sich aus schickt.
> (ausser in der version von peter evertz, es waehre durchaus sinnvoll,
>  wenn du testest ob die bei dir funktioniert.)
> im prinzip einfach sowas wie: echo -en '/?!\r\n' >/dev/ttyS0
> (unter linux koennen mehrere programme gleichzeitig auf die
>  schnittstelle schreiben, gibt nur ggfs chaos - aber vzlogger schreibt
>  von sich aus eh nichts.)
>
> >  sudo vzlogger --config /etc/vzlogger.conf -v 20
> [...]
> > Hatte ihr einen Fehler drin. Die serielle Schnittstelle ist natürlich
> > /dev/ttyS0, war vorher /dev/tty0
>
> hatten wir oder hattest du? kam doch aus deinem beispiel?
> wirklich ttyS0? nicht ttyUSB0 oder so?
> du hast echt einen rs232 ir-kopf an COM1?
>
> > Das Zähler schickt nun die Werte aber der vz looger kann mit den werten
> > wohl nicht anfangen.
> > [d0]   Something unexpected happened: read:281!
> >
> > Habt ihr vielleicht noch einen Tip was ander meter konfiguration nicht
> > stimmt?
>
> das dumme ist, das vzlogger nicht anzeigt, was er empfaengt.
> moegliche ursachen:
> * nur muell (falsche baudrate o.ae.)
> * eine reflektion der anforderungssequenz
> * eine variante von d0 die er nicht parsen kann
>
> ich wuerde das untersuchen mit:
> # sudo strace -f -s 9999 vzlogger --config /etc/vzlogger.conf -v 20
> >vzlogger.trace
>
> in vzlogger.trace kann man dann nachlesen, was vzlogger liest.
>
> > Danke
> > Peter
>
> - Thorben
>
> > Am 17. Mai 2013 21:10 schrieb Thorben Thuermer <r00t at constancy.org>:
> > > On Fri, 17 May 2013 20:29:25 +0200
> > > Peter Kreutzer <kreutzer.peter at gmail.com> wrote:
> > > > habe mal folgendes probiert....
> > > > #/usr/bin/python
> > > > import serial
> > > > ser = serial.Serial('/dev/tty0', 300, timeout=100)
> > > > ser.write("\x0D")
> > > > ser.write("\0A")
> > >
> > > die sequenz ist: "/?!<0d><0a>"
> > >
> > > > ser = serial.Serial('/dev/tty0', 9600, timeout=100)
> > >
> > > ausserdem sollte die rate konstant sein, solange du nicht eine
> aenderung
> > > anforderst...?
> > >
> > > probiere doch mal die version von peter evertz,
> > > die hat die funktion zum senden der sequenz eingebaut:
> > > >>> "pullseq" : "4060200D0A", // HEX Darstellung der Pullsequenz
> > >
> http://volkszaehler.org/pipermail/volkszaehler-dev/2013-April/002671.html
> > >
> > > > /Peter
> > >
> > > - T.
> > >
> > > > Am 17. Mai 2013 00:21 schrieb Michael Wulz <michael.wulz at gmail.com>:
> > > >
> > > > > Und die Baud Rate einstellen!
> > > > >
> > > > > Von meinem iPad gesendet
> > > > >
> > > > > Am 16.05.2013 um 21:53 schrieb Udo1 <udo1 at gmx.net>:
> > > > >
> > > > > > Am 16.05.2013 20:58, schrieb Peter Kreutzer:
> > > > > >> Hier der Log
> > > > > >> ==> /?!<0D><0A>
> > > > > > Hallo Peter,
> > > > > >
> > > > > > du musst per script die Anforderungssequenz senden. Ich meine,
> bis
> > > jetzt
> > > > > > ist das noch nicht in vzlogger implementiert.
> > > > > >
> > > > > > Gruß
> > > > > > Udo
> > > > >
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20130518/f61fa6b2/attachment-0001.html>


More information about the volkszaehler-dev mailing list