<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hallo<br>
    Habe mal den Auslesekopf an meinen alten <a class="glossarylink"
      href="http://knx-user-forum.de/lexikon/tag/Linux/"
      onmouseover="return overlib('Hallo Leute, da ich selber nicht so
      Linux bewandert bin, hatte ich wie viele hier auch so meine
      Probleme mit dem Umgang mit Linux. Ich möchte hier ein How-To
      starten damit alle Newbies hier nachleesen können wie und warum
      das eine macht und...');" onmouseout="return nd();">Linux</a>-Rechner
    mit <a class="glossarylink"
      href="http://knx-user-forum.de/lexikon/tag/Debian/"
      onmouseover="return overlib('Hallo Leute, da ich selber nicht so
      Linux bewandert bin, hatte ich wie viele hier auch so meine
      Probleme mit dem Umgang mit Linux. Ich möchte hier ein How-To
      starten damit alle Newbies hier nachleesen können wie und warum
      das eine macht und...');" onmouseout="return nd();">Debian</a>/squeeze/sid
    angestöpselt.<br>
    Und siehe da, ein<br>
    stty -F /dev/sttyUSB0 9600<br>
    od -x /dev/sttyUSB0<br>
    in der Konsole bringt schlüssige SML Daten.<br>
    <br>
    Eine Abfrage von stty -F /dev/sttyUSB0 bring:<br>
    <div style="margin:20px; margin-top:5px">
      <div class="smallfont" style="margin-bottom:2px">Code:</div>
      <pre class="alt2" dir="ltr" style="
                margin: 0px;
                padding: 6px;
                border: 1px inset;
                width: 640px;
                height: 98px;
                text-align: left;
                overflow: auto">speed 9600 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-icanon -echo -echoe</pre>
    </div>
    Eine Abfrage von stty -F /dev/sttyUSB0 am Alix-Board mit Debian
    Lenny bring:<br>
    <div style="margin:20px; margin-top:5px">
      <div class="smallfont" style="margin-bottom:2px">Code:</div>
      <pre class="alt2" dir="ltr" style="
                margin: 0px;
                padding: 6px;
                border: 1px inset;
                width: 640px;
                height: 98px;
                text-align: left;
                overflow: auto">speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo</pre>
    </div>
    Welcher Eintrag ist denn wohl denn dafür verantwortlich das ich die
    SML-Daten mit dem Debian-Lenny in der Konsole nicht abfragen kann?<br>
    <br>
    Gruß NetFritz<br>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
    <div class="moz-forward-container"><br>
      <br>
      <br>
      <br>
      <pre>
Hallo
Ich muss mich erst mal berichtigen.
Wenn ich in der Konsole
stty -F /dev/ttyUSB0 9600
od -x /dev/ttyUSB0 oder cat /dev/ttyUSB0
bekomme ich keine gültige SML Ausgabe.

Frage ich den Zähler mit meinem selbstverfasten Perl-Script ab dann 
werden alle OBIS Werte richtig angezeigt.
Solange das in der Konsole nicht läuft, wird es sicherlich mit dem 
vzlogger auch nicht laufen.

Auf meinen Lappi mit Win7 und hterm kann ich auch die SML-Ausgabe sehen.
Hier mal der Anfang von meinen Perl-Script.
----------------------------------------------------------------------------------------------------------------------------------------------------------
#!/usr/bin/perl
#
# Holt die Daten vom SML-Zaehler Easymeter Q3C
# es wird die obere optische Schnittstelle ausgelesen
# dort liefert der Zaehler alle 2sec. einen Datensatz
# wird von CRON jede Minute aufgerufen
# <a class="moz-txt-link-freetext" href="http://wiki.volkszaehler.org/software/sml">http://wiki.volkszaehler.org/software/sml</a>
# 03.2012 by NetFritz
#
use Device::SerialPort;
#
my $port = Device::SerialPort->new("/dev/usbserial-AHVPKI8A") || die $!;
$port->databits(8);
$port->baudrate(9600);
$port->parity("none");
$port->stopbits(1);
$port->handshake("none");
$port->write_settings;

$port->purge_all();
$port->read_char_time(0);     # don't wait for each character
$port->read_const_time(1000); # 1 second per unfulfilled "read" call
#
# OBIS-Kennzahl und Anzahl der Zeichen von Anfang OBIS bis Messwert, 
Messwertwertlaenge immer 8 Zeichen
%obis_len = (
'01010801FF' => 42, # Aktueller Zählerstand T1 + Bezug
'02020805FF' => 42, # Aktueller Zählerstand T5 -  Abgabe
'00010700FF' => 24  # Momentane Summe der Leistung +-
);
my $pos = 0;
my $hexval;
my @hexdec;
while ($i < 3) { # wenn 540 chars gelesen werden wird mit last 
abgebrochen, wenn nicht wird Schleife 2 mal widerholt
        my ($count,$saw)=$port->read(540);   # will read 540 chars
        if ($count == 540) {                 # wurden 540 chars gelesen ?
                my $x=uc(unpack('H*',$saw)); # nach hex wandeln
                # print  "$count <> $x\n ";  # gibt die empfangenen 
Daten in Hex aus
                #
                foreach $key(keys%obis_len){
$pos=index($x,$key);                              # pos von OBIS holen
                      $value = substr($x,$pos+$obis_len{$key},8);       
# Messwert
                      $value{$key} = hexstr_to_signed32int($value)/100; 
# von hex nach 32bit integer
                }
                      last; # while verlassen
        }
        else {
               $i++;
               redo; # bei Fehler while nochmal
        }
}
#
# Momentane Summe der Leistung +- ausgeben
$value = $value{'00010700FF'} * -1;
print "00010700FF = " . $value . "\n";
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Warum geht das in der Konsole nicht?
Gruß NetFritz



</pre>
      <br>
      <br>
    </div>
    <br>
  </body>
</html>