[vz-users] Udo Lesekopf und Raspberry PI
Michael Wulz
michael.wulz at gmail.com
Thu Jan 2 17:47:36 CET 2014
Hallo Leute,
ich hab eine Frage bezüglich dem Lesekopf von UDO und dem Raspi.
Ich nutze den USB Kopf mit einer Platine, der Kopf funktioniert unter
Windows mit hterm einwandfrei (300 baud, 7n1, parity even)
Wenn ich die Triggerzeichen sende antwortet der Zähler mit der
Seriennummer und den Werten.
Mein Zähler ist ein Landis&Gyr, arbeitet aber wie dieser:
http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/siemens_td3511
Nun zu meinem Problem, wenn ich den Kopf am Raspi anstecke dann wird
dieser korrekt erkannt:
[232113.932187] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
[232114.041152] usb 1-1.3: New USB device found, idVendor=10c4,
idProduct=ea60
[232114.041188] usb 1-1.3: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[232114.041208] usb 1-1.3: Product: CP2104 USB to UART Bridge Controller
[232114.041224] usb 1-1.3: Manufacturer: Silicon Labs
[232114.041239] usb 1-1.3: SerialNumber: 0061EA6B
[232114.054462] cp210x 1-1.3:1.0: cp210x converter detected
[232114.132234] usb 1-1.3: reset full-speed USB device number 6 using
dwc_otg
[232114.236155] usb 1-1.3: cp210x converter now attached to ttyUSB0
Er hat das Devicefile /dev/ttyUSB0 bekommen.
Ich setze dann mit stty die Schnittstellenparameter:
stty -F /dev/ttyUSB0 300 parenb -parodd cs7 -cstopb raw -echo
und kontrolle:
root at raspberrypi:~# stty -F /dev/ttyUSB0
speed 300 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost
-isig -icanon -echo
sollte also passen.
wenn ich nun einen Trigger absende:
root at raspberrypi:~# echo $'\x2f\x3f\x21\x0d\x0a' > /dev/ttyUSB0
und gleich drauf lausche:
root at raspberrypi:~# cat /dev/ttyUSB0
totenstille...
Ich hab auch schon in einer anderen SSH parallell ein cat laufen gehabt
und dann getriggert. Nichts!
Hatte jemand von euch auch das Problem? Ich mache viel mit Linux und hab
schon alles mögliche mit stty versucht
jedoch ohne Erfolg.
Tests mit dem Programm:
root at raspberrypi:/data/vz_test# cat test.sh
#!/usr/bin/perl
#
# (m)ein Stromzähler mit IR-Schnittstelle blubbert nach einem "Anforderung-
# telegramm" Daten raus. Das Telegramm ist mit 300 Baud, 7 Bit, 1 Stoppbit
# und gerader Parität zu senden. Das ist der Initialmodus von Geräten,
# die das Protokoll IEC 62056-21 implementieren.
#
# Autor: Andreas Schulze
# Bugfix: Eric Schanze
# Datum: 20120302
#
my $PORT='/dev/ttyUSB0';
my $anforderungstelegramm = "\n/?!\r\n";
use warnings;
use strict;
use utf8;
use Device::SerialPort;
my $tty = new Device::SerialPort($PORT) || die "can't open $PORT: $!";
$tty->baudrate(300) || die 'fail setting baudrate';
$tty->databits(7) || die 'fail setting databits';
$tty->stopbits(1) || die 'fail setting stopbits';
$tty->parity("even") || die 'fail setting parity';
$tty->write_settings || die 'fail write settings';
$tty->debug(1);
my $num_out = $tty->write($anforderungstelegramm);
die "write failed\n" unless ($num_out);
die "write inclomplete\n" unless ($num_out ==
length($anforderungstelegramm));
print "$num_out Bytes written\n";
$tty->close || die "can't close $PORT: $!";
sind ebenfalls ohne Erfolg. Es kommt kein Output vom /dev/ttyUSB0.
Ich hatte es einmal geschafft nach einem Reboot den Zähler auszulesen,
jedoch beim zweiten Trigger war dann schonwieder aus.
Meine Vermutung, dass der USB nicht genügend Power liefert? Hat jemand
von euch auch am USB Probleme?
Es steckt sonst nix am USB! Am Raspi steckt noch die Erweiterung von UDO
mit den S0 Eingängen (an der GPIO Pinleiste)
diese:
http://wiki.volkszaehler.org/hardware/controllers/raspberry_pi_erweiterung_rev1
Die Erweiterung funktioniert übrigens mit s0vz einwandfrei!
Hier die Daten vom Raspi:
root at raspberrypi:~# uname -a
Linux raspberrypi 3.10.25+ #616 PREEMPT Mon Dec 23 18:13:02 GMT 2013
armv6l GNU/Linux
root at raspberrypi:~# lsmod
Module Size Used by
snd_bcm2835 16165 0
snd_soc_bcm2708_i2s 5474 0
regmap_mmio 2806 1 snd_soc_bcm2708_i2s
snd_soc_core 131268 1 snd_soc_bcm2708_i2s
snd_compress 8076 1 snd_soc_core
cp210x 8243 0
regmap_i2c 1645 1 snd_soc_core
regmap_spi 1897 1 snd_soc_core
snd_pcm 81593 2 snd_bcm2835,snd_soc_core
snd_page_alloc 5156 1 snd_pcm
snd_seq 53769 0
snd_seq_device 6473 1 snd_seq
snd_timer 20133 2 snd_pcm,snd_seq
usbserial 26929 1 cp210x
leds_gpio 2059 0
led_class 3688 1 leds_gpio
snd 61291 7
snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
Das Netzteil am Raspi hat +5V und 3A - liefert also auch genügen Saft.
besten Dank im Vorraus
Michael
More information about the volkszaehler-users
mailing list