<html>
<head>
</head>
<body>Hallo,<br>
<br>
Die Link <a href="http://gathering.tweakers.net/forum/list_messages/1535019">http://gathering.tweakers.net/forum/list_messages/1535019</a> von Udo hat an meinem Wärmezähler weiter geholfen, :-). Die Übersetzung des Originalbeitrags per Google Chrome ist zwar reudig, aber die wichtigen Dinge findet man. Der Forenbeitrag verweist auf die Schwierigkeit, nach der ersten Verbindungsaufnahme bei 300 Baud auf 2400 Baud umzuschalten, um die vom Zähler gesendeten Daten auch richtig zu empfangen.<br>
<br>
Ich habe die im Artikel genannten Zeichenfolge von 45 Bytes per HTerm mit 7E2 gesendet und als Antwort /LUGCUH50\r\n bekommen. Nach dem \n kam nur noch Schrott, wahrscheinlich wegen der dann notwendigen Geschwindigkeit von 2400 Baud.<br>
<br>
Ich habe mir dann das C++ Programm unter dem oben genannten Link angesehen.<br>
<br>
Ich habe jetzt zwei Probleme:<br>
<br>
1. In dem C++ Programm<br>
<br>
Code Anfang<br>
<br>
import serial<br>
from time import sleep<br>
conn = serial.Serial('/dev/ttyUSB0',<br>
baudrate=300,<br>
bytesize=serial.SEVENBITS,<br>
parity=serial.PARITY_EVEN,<br>
stopbits=serial.STOPBITS_TWO,<br>
timeout=1,<br>
xonxoff=0,<br>
rtscts=0<br>
)<br>
# Wakker worden!<br>
conn.setRTS(False)<br>
conn.setDTR(False)<br>
sleep(5)<br>
conn.setDTR(True)<br>
conn.setRTS(True)<br>
# send /?!<br>
conn.write("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2F\x3F\x21\x0D\x0A")<br>
#lezen op 300 BAUD, typenr ofzo<br>
print conn.readline()<br>
print conn.readline()<br>
#lezen op 2400 BAUD, ingesteld met UltraAssist op 2400 kan ook hoger nog niet getest<br>
conn.baudrate=2400<br>
<br>
#oneindig lezen TODO einde telegram detecteren en loop verlaten<br>
try:<br>
while True:<br>
print conn.readline() # readlines() will probably never return.<br>
finally:<br>
conn.close()<br>
<br>
Code Ende<br>
<br>
gibt es in der Mitte des Programme die folgenden zwei Zeilen<br>
print conn.readline()<br>
print conn.readline()<br>
<br>
Hat jemand eine Idee, welchen Sinn diese beiden Zeilen haben? Hintergrund: Die Baudrate wird ja erst danach auf 2400 Baud gestellt und erst ab da könnte man etwas richtig empfangen.<br>
<br>
2. Ich würde gern vzlogger zum Auslesen einsetzen. In der Doku habe ich aber keine Möglichkeit gefunden, eine solche komplizierte Kommunikation zu programmieren. Frage: Kann man vzlogger für das Auslesen benutzen und wenn ja wie?<br>
<br>
Gruß<br>
<br>
Thomas<br>
<br><br><div class="gmail_quote"><br>
<br>
Udo1 <udo1@gmx.net> schrieb:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Am 25.10.2013 20:05, schrieb Udo1:<br/>
> Das mit mehreren Baudraten 300 bis 9600 und verschiedenen<br/>
> Frameformaten 8N1/7E1 versuchen.<br/>
Habe gerade neue Informationen von einem holländischen Mitstreiter<br/>
erhalten, der auch einen T550 hat und erfolgreich ausliest.<br/>
Die Anfangsbaudrate ist wohl 300bd bei 7E2 muss dann aber auf 2400bd<br/>
umgeschaltet werden.<br/>
Eine genaue Anleitung und script gibt es hier:<br/>
<a href="http://gathering.tweakers.net/forum/list_messages/1535019" target="_blank">http://gathering.tweakers.net/forum/list_messages/1535019</a><br/>
allerdings auf holländisch, aber Chrome übersetzt ja automatisch wenn<br/>
man will.<br/>
<br/>
Gruß<br/>
Udo<br/>
</blockquote></div></body>
</html>