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

Thorben Thuermer r00t at constancy.org
Sat May 18 14:07:39 CEST 2013


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
> > > >
> >


More information about the volkszaehler-dev mailing list