Ankündigung

Einklappen
Keine Ankündigung bisher.

Zählerabfrage als Wiregate Plugin

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mikeeyy
    antwortet
    ich habe im init.pl script den eintrag $port->baudrate(300) geändert auf $port->baudrate(9600)... aktuell ist er am arbeiten....schon ne ganze weile..bisheriger output

    root@wiregate723:/home/user# perl init.pl
    /?!
    5 Bytes written
    000
    6 Bytes written

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    [INFORMATION]Seite 10 - Abschnitt 5.1:
    Note this is not conforming to EN-IEC 62056-21 Mode D[/INFORMATION]

    Herrlich ...ja wozu gibt es denn Normen bitteschön? Bei sowas könnt ich ko**** ... genau wie meine blöde Heizung!

    Naja also dann mal im init.pl die Baudrate auf 9600 hochschrauben und gucken was passiert.

    Gruß

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Ich habe was gefunden!!!

    http://www.google.de/url?sa=t&rct=j&...FrtIJRixS19F2A

    der Anschluss am Zähler erfolgt mittels RJ11 am P1 Port. Laut Dok. ab Punkt 5.1 erfolgt die Datenübertragung nur mit 9600 bps. Nichts gefunden habe ich jetzt zu den Start / Stop Bits,, bzw. der Parität...

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    Oder läuft bei Dir schon Script als cronjob das die Regelmäßigkeit erklärt?

    Das init.pl setzt eigentlich die Geschwindigkeit auf 300baud (auch auf dem Seriellen) und macht die wenigsten/keine Probleme.

    Gruß
    Die Scripte sind bislang alle manuell angetriggert. Da läuft nix als cronjob. Werde das WG nochmal durchstarten und mit der Geschwindigkeit experimentieren.

    Grüße,
    M.

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Zitat von Northman Beitrag anzeigen

    BTW2: Bist Du sicher, daß der Mann von den Stadtwerken Hyperterminal (diese Uraltsoftware, die AFAIK seit Vista nicht mehr dabei ist) genutzt hat, oder war es eine spezielle Software?
    Hallo Northman,

    ja.. bin ich mir sicher. Der nutze WinXP mit Hyperterminal. Mit der Lösung kenne ich mich aus. Daher bin ich mir hier sicher.

    Grüße,
    Mike

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Was gegen D0 = IEC62056 spricht ist das periodische Empfangen von Daten.
    Normalerweise ist die Schnittstelle still bis man sie abfragt, daher die Frage nach SML. Ausserdem kommuniziert IEC62056 in Klartext/Ascii. Oder läuft bei Dir schon Script als cronjob das die Regelmäßigkeit erklärt?

    Das init.pl setzt eigentlich die Geschwindigkeit auf 300baud (auch auf dem Seriellen) und macht die wenigsten/keine Probleme.

    Gruß

    Einen Kommentar schreiben:


  • Northman
    antwortet
    Der Zähler hat kein SML. Link zum Produkt: https://www.itron.com/de/productsAnd...(Germany).aspx
    Dort findet man ein PDF:
    P0 Optical port: IEC 61107 optical port, readout
    Read/write (single data values) according to DLMS/COSEM
    (IEC 62056-21)
    BTW: wenn komische Zeichen bei serieller Verbindung auftauchen, stimmt häufig die Schnittstellengeschwindigkeit nicht (oder Daten-,Start-,Stopbits und/oder Parität). Frag mich aber nicht, wie man das unter Linux genau setzt. "man setserial" hilft (eventuell... ;-) )

    BTW2: Bist Du sicher, daß der Mann von den Stadtwerken Hyperterminal (diese Uraltsoftware, die AFAIK seit Vista nicht mehr dabei ist) genutzt hat, oder war es eine spezielle Software?

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    Bist Du sicher dass der Zaehler nicht SML spricht ?

    Gruß
    da muss ich jetzt leider passen. keine ahnung... wenn ich die daten direkt vom interface abgreife bekomme ich z.b. das hier:

    root@wiregate723:~# stty -F /dev/ttyS0 raw
    !-±:96.3.±0ª²55(±©0ªA©×©(±²-±²-30*²3:0±:±5©±:±5©

    und das kommt dann periodisch in ähnlicher form immer wieder...

    EDIT:

    der Typ von den Stadtwerken, der die Geräte angeschlossen hat, hatte seinen Laptop mit nem Herterminal dran und konnte die Daten direkt via Hyperterminal auslesen... Ich habe leider kein Gerät vor Ort um das entsprechend zu testen.. mir bleibt nur der Weg über das WG...

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Bist Du sicher dass der Zaehler nicht SML spricht ?

    Gruß

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    ich muss mich korrigieren... war offenbar das falsche device was ich abgefragt hatte.. das ace4000 ist direkt am seriellen wg port angeschlossen.. das init.pl script ist auf ttyS0 eingestellt.

    output jetzt

    root@wiregate723:/home/user# perl init.pl
    /?!
    5 Bytes written
    000
    6 Bytes written
    Waited 5 seconds and never saw what I wanted
    ___?_?___?_??_?


    also irgendwie auch nicht viel besser



    EDIT:

    Aber das Gerät am Seriellen Port scheint doch grundsätzlich zu antworten...

    root@wiregate723:/home/user# strace -ttt -e read cat < /dev/ttyS0
    1356907070.195070 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2 60e\1\0004\0\0\0t"..., 512) = 512
    1356907070.198154 read(0, ""..., 4096) = 0
    root@wiregate723:/home/user#

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    Habe ich jetzt mal getestet und erhalte folgenden Output:

    ???_root@wiregate723:/tmp# perl init.pl
    /?!
    5 Bytes written
    000
    6 Bytes written
    þ
    ¼m¼þ
    ¼m¼þ
    ¼m¼þó
    H¼þó
    \¼þó
    ɼþó
    X¼þó
    Xþó
    X«þó
    X«þó

    ¼þó
    B¼þó
    ¼þó
    e*þó
    þó
    e
    þó
    e

    e¼þó
    J¼þó
    3øþó
    3Øþó
    3Øþó

    ¼þó
    Õþó
    Õ!þó


    Falsches Zeichenformat??

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Probiere mal das init.pl von hier:
    https://knx-user-forum.de/forum/supp...655#post225383

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Korrekt.. ist direkt ein serielles Kabel was am WG endet. Kein USB. Am WG hängt via USB nur die TPUart und ein Busmaster. Habe das Script jetzt neu angelegt und Rechte 755 vergeben. Aufruf als root mittels perl xxx.pl.

    Ergebnis:

    root@wiregate723:/tmp# perl acm.pl
    substr outside of string at acm.pl line 70.
    Use of uninitialized value $speedcode in hash element at acm.pl line 76.
    Use of uninitialized value $speedcode in hash element at acm.pl line 77.
    Use of uninitialized value $ack in concatenation (.) or string at acm.pl line 89.
    Use of uninitialized value $baudrate in concatenation (.) or string at acm.pl line 89.
    2012/12/28 00:02:15 socat[16602] E parseopts(): unknown option "b"
    root@wiregate723:/tmp#


    Setzte ich die Geschwindigkeit fix auf z.B. 9600, dann erhalte ich nur die Warnung aus Zeile 70.

    Grüße,
    Mike

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Der ACE4000 hat direkt ein serielles Kabel?
    Und das steckt am seriellen Port auf dem WG?
    Kein USB im Spiel?

    Einen Kommentar schreiben:


  • mikeeyy
    antwortet
    Folgende Infos kann ich am WG auslesen:

    root@wiregate723:/etc/wiregate/plugin/generic# dmesg | grep tty [ 0.000000] Kernel command line: root=LABEL=ROOT_FS console=tty2 panic=10 ro
    [ 0.000000] console [tty2] enabled
    [ 1.906830] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 1.909262] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
    [ 1.912529] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 1.914964] 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
    [ 22.360888] cdc_acm 2-4:1.0: ttyACM0: USB ACM device


    Habe ich den falschen Port im Script hinterlegt????

    Einen Kommentar schreiben:

Lädt...
X