[vz-users] S0 an RS232 auswerten

Altmarkweb b.schulz at altmarkweb.de
Sun Feb 17 20:40:12 CET 2013


Am 09.02.2013 21:27, schrieb Paul Muster:
> On 09.02.2013 21:23, Altmarkweb wrote:
>
>> habe einen Drehstromzähler mit S0-Anschluß (siehe
>> http://www.elektroladen24.eu/artikeldet.php?proid=341).
>> Diesen möchte ich wie hier beschrieben (siehe
>> http://wiki.volkszaehler.org/hardware/controllers/s0-an-rs232) auslesen.
>> Ein alter Laptop mit Linux (Puppy) soll probeweise herhalten bis die
>> Rapsberrys da sind.
>>
>> stty time 1 min 1 -icanon < /dev/ttyS0
>>
>> ( strace -ttt -e read cat  < /dev/ttyUSB0 > /dev/null ) 2>&1 | awk
>> 'NR==1{t0=$1;next}{t=$1; print 3600e3 /(t-t1)/2000 ,  t-t0,t-t1,$0;t1=t}'
>> Kann mir das mal jemand "übersetzen"? So richtig verstehe ich das nicht.
>> 366 Watt kann nicht stimmen, der 4.8 sek Rythmus und der Timestaamp passen.
> Dann musst du wohl den Faktor 2000, der beschreibt, wie viele Impuls pro
> kWh kommen, anpassen.
>
Mit dem alten PIII und Puppy-Linux hat ist der s0 ausgelesen worden, 
auch mit dem USB-Seriell-Adapter.
Mit dem Raspberry klappt es nicht wirklich.

pi at raspberrypi ~ $ strace -ttt -e read cat  < /dev/ttyUSB0 > /dev/null
1361128365.776660 read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\10\4\0\0004\0\0\0"..., 
512) = 512
1361128365.780240 read(3, 
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
1240) = 1240
1361128365.783141 read(3, 
"A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47
1361128365.788542 read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\214y\1\0004\0\0\0"..., 
512) = 512
1361128365.791591 read(3, 
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
1360) = 1360
1361128365.794358 read(3, 
"A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47
1361128365.804673 read(0, "\0", 32768)  = 1
1361128394.323445 read(0, "\0", 32768)  = 1
1361128399.193820 read(0, "\0", 32768)  = 1

Meistens bleibt die Ausgabe nach der 6.Zeile stehen.
Auf dem Raspberry ist standardmäßig mawk installiert. Damit erfolgt 
keine Ausgabe.
Habe dann apt-get install gawk aufgerufen.

pi at raspberrypi ~ $ ( strace -ttt -e read cat  < /dev/ttyUSB0 > /dev/null 
) 2>&1 | gawk 'NR==1{t0=$1;next}{t=$1; print 
3600e3/(t-t1)/800,t-t0,t-t1,$0;t1=t}'
3.30608e-06 0.00165701 1.36113e+09 1361128645.886707 read(3, 
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
1240) = 1240
1.35709e+06 0.00497293 0.00331593 1361128645.890023 read(3, 
"A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47
831653 0.0103838 0.00541091 1361128645.895434 read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\214y\1\0004\0\0\0"..., 
512) = 512
1572864 0.0132449 0.00286102 1361128645.898295 read(3, 
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
1360) = 1360
1.4409e+06 0.0163679 0.00312304 1361128645.901418 read(3, 
"A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47

Weiter geht es nicht.

Gruß Bernd


More information about the volkszaehler-users mailing list