Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

16.09.2008, 09:31

Daten über RS232-USB-Adapter von einer Heizung auslesen

Hallo,

ich habe hier an meiner Tecalor THZ 303 SOL Luftwärmepumpe (Heizung) eine RS232-Schnittstelle. Mittels RS232-USB-Adapter (an einer Fritzbox 7170) und der Tecalor-Software kann ich unter Windows die Daten auslesen.

Nun möchte ich den Adapter aber an die NSLU2 (derzeit noch mit SlugOS/BE 3.10b) anschließen und das Datenlogging darüber machen, damit PC/Macbook aus bleiben können.

Die Parameter der Schnittstelle (9600Baud, 8, 1, keine) hat man schon mit der Fritzbox geprüft und auch mal die Daten protokolliert, die die Software zur Heizung schickt und von dieser empfängt. Es sind nur ein paar Bytes zum Abfragen der Istwerte. Die Heizung antwortet dann mit allen Werten wie z.B. Außentemp, Vorlauf etc. Da diese Werte im Hex-Format vorliegen und nicht wie bei dem Ausgabeformat der Software in lesbarer Form, muss man noch die HEX-Werte ihrer Bedeutung zuordnen.

Nun soll das ja aber auf der NSLU2 laufen. Hardwareseitig sollte das ja kein Problem sein, aber wie liest man die Daten aus? Meine Vorstellung davon ist, dass man mit einem Skript die paar Bytes der Heizungs-Software emuliert und die zurück kommenden Daten in eine lesbare Form konvertiert und in ein Log-File schreibt.

Ich habe gelesen, dass es für die NSLU2 digitemp gibt, was ja aber wohl nur bei 1-wire Sensoren Sinn macht und zum o.g. Szenario nicht passt, oder?

Es wäre nett, mal Eure Meinung dazu zu hören. Vielen Dank!
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Anzeigen

2

18.09.2008, 11:15

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hallo, ich bin doch nicht der Einzige hier, der so etwas vor hat, oder?
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Anzeigen

3

20.09.2008, 10:29

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hi,
könnte man nicht Deine
Tecalor-Software mit Wine auf der Slug emulieren, um an die Daten zu gelangen?

4

21.09.2008, 21:12

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hallo,

das ist eine interessante Idee, aber ich habe noch nier etwas mit Wine auf der NSLU2 gemacht. Läuft Wine unter SlugOS/BE 3.10?
Vor allem aber: Was ist mit der Programm-Oberfläche (GUI), die man unter Windows sieht?
Wo/wie wird die mittels Wine auf einer NSLU2 dargestellt? Als Browser-Applikation via Webserver wohl kaum...
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Dojokun

Schüler

Beiträge: 80

Firmwareversion / your current Firmware: Unslung 6.8

Beruf: Softwareentwickler C++,VB.NET,JS,SQL,PHP,ASP,XSL

  • Nachricht senden

5

23.09.2008, 09:07

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Wie wärs mit dieser Idee:

Unter Linux ist doch alles ein Device. Da sollte es doch möglich sein, Daten mittels cp o.ä. auf das Device /dev/[Bitte hier das richtige für die serielle Schnittstelle eintragen] die Befehle zu schreiben und mittels cp /dev/[gleiches device] log.file auszulesen.

Oder irre ich mich hier?

Grüssle vom
Stephan
266 MHz Slug mit TrekStor DataStation 750 und WD Elements 500

  • Apache,MySQL,PHP
  • OxylBox
  • FireFly
  • StreamRipper
  • FTP,Samba,NFS
  • TwonkyVision

wurde ersetzt durch QNAP TS-109Pro II mit 1TeraByte. Installation + Konfiguration aller oben genannten Dinge: 6-8 Stunden nebenbei !!!

6

23.09.2008, 12:03

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Meinst Du, dass sich 1-wire Netze unter Linux direkt im Dateisystem darstellen ("owfs") lassen?
Die Sensoren erscheinen dort als Ordner, die Werte als Dateien. Diese kann man dann mit üblichen Linux-Befehlen wie cat, find, echo > {Datei} o.ä. benutzen.

Aber mein Problem ist, dass ich hier kein 1-wire habe, sondern eine in der Heizung integrierte RS232-Schnittstelle, die nichts mit 1-wire zu tun hat, weshalb wohl auch digitemp ausscheidet (es sei denn, ich irre mich).
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Dojokun

Schüler

Beiträge: 80

Firmwareversion / your current Firmware: Unslung 6.8

Beruf: Softwareentwickler C++,VB.NET,JS,SQL,PHP,ASP,XSL

  • Nachricht senden

7

23.09.2008, 12:06

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Nein, das meine ich nicht. (Kenne 1-wire Netze gar nicht).

Ich meine, die serielle Schnittstelle müßte doch im /dev-Ordner als Datei auftauchen, also z.B. /dev/ttys0 oder so ähnlich. Und dann einfach die Kommandobytes an das Teil senden.

Stephan
266 MHz Slug mit TrekStor DataStation 750 und WD Elements 500

  • Apache,MySQL,PHP
  • OxylBox
  • FireFly
  • StreamRipper
  • FTP,Samba,NFS
  • TwonkyVision

wurde ersetzt durch QNAP TS-109Pro II mit 1TeraByte. Installation + Konfiguration aller oben genannten Dinge: 6-8 Stunden nebenbei !!!

8

23.09.2008, 16:31

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Achso, das habe ich noch nicht ausprobiert. Danke für den Tipp!
Ich melde mich, sobald Kabel und Adapter etc. in Position sind.
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Danny77

Anfänger

Beiträge: 1

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

9

23.12.2008, 23:23

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hallo,

kann mir jemand die Software für die Tecalor THZ 403 zuschicken?

dannyt77@web.de

Tausend Dank.


MfG
Danny

elbling

Anfänger

Beiträge: 3

Firmwareversion / your current Firmware: Unslung 3.17

  • Nachricht senden

10

09.01.2009, 15:56

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Ich lese meine Viessmann Heizung mit dem NSLU2 aus und schreibe die Daten in eine RRDB (Round Robin Data Base). Die serielle Schnittstelle läuft über einen ser2usb Umsetzer (PL2303 und FTDI Chipsatz habe ich erfolgreich eingesetzt).

Diese Daten lasse ich mir dann per rddgraph als PNGs ausgeben und kann sie via Web Server zur Verfügung stellen.

Wenn die Abfrage Werte (Hex) der Heizung bekannt sind, sollte man mein Programm vcontrold/vclient dafür nutzen können. Das Protokoll ist komplett per XML definierbar.

Hier der Link zum Wiki:
http://openv.wikispaces.com/Linux+Software

Gruß

elbling

11

10.01.2009, 11:59

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Zitat von »elbling;34209«

Ich lese meine Viessmann Heizung mit dem NSLU2 aus [...]
Welche FW verwendest Du auf Deiner NSLU2?
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

elbling

Anfänger

Beiträge: 3

Firmwareversion / your current Firmware: Unslung 3.17

  • Nachricht senden

12

10.01.2009, 13:11

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Zitat von »ao;34216«

Welche FW verwendest Du auf Deiner NSLU2?


openwrt 7.09 und seit kurzem 8.09RC1

Die Version ist ziemlich egal, ich habe den slug nur für Messwerterfassung laufen und wollte eine FW, die auch ohne USB-Stick / Platte laufen kann.
Ein anderer User nutz unslung mit dickem USB-Stick,

Bei openwrt gibt es eine recht gut dokumentiertes Buildroot für Linux und das liefert mir so die Umgebung zum Cross-Compilieren des Codes direkt mit.

13

10.01.2009, 14:24

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Achso, ok, OpenWrt kommt dann für mich wohl weniger in Frage, da meine NSLU2 auch als HomeServer läuft (Samba, NFS etc.).
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

14

02.03.2009, 10:07

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hallo,

falls das ganze noch interessant für Dich ist, kann ich mit folgender Lösung dienen.
Verwende debian als firmware. Warum? -> weil nur debian volle Perl-unterstützung bietet!
Dann kannst Du Deinen USB2RS232-Konverter per Perl ansteuern. Das macht man über /dev/ttyUSB0
Anbei ein Code-Fragment (ungetestet!):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Pragmas
use strict;

# Modules
use Device::SerialPort;

# Objekt fuer serielle Schnittstelle mu? vor dem Signalhandler bekannt sein !
my $portObj;

# Porteinstellungen

my %COM =  (
             'port'       => '/dev/ttyUSB0',  # kann auch USB1 sein -> probieren
             'baudrate'   => 9600,
             'parity'     => 'none',
             'databits'   => 8,
             'stopbit'    => 1,

             # Modembefehle -> passen fuer waterkotte -> anpassen
             'initstring' => 'AT&F',  # Initialisierung
             'praefix'    => 'ATDT',  # Waehlpraefix
             'reset'      => 'AT&F3'  # Zuruecksetzen
           );



# Objekt fuer serielle Schnittstelle erzeugen
$portObj = new Device::SerialPort ( $COM{'port'} )
              || die "Kann den Port nicht oeffnen: $^E\n";

# debugging-level -> kann hilfreich sein, später einfach weglassen
$portObj->debug(1);

# 9600 Baud / 8 Bit / 1 Stop / Parity none
$portObj->baudrate( $COM{'baudrate'} );
$portObj->databits( $COM{'databits'} );
$portObj->parity(   $COM{'parity'}   );
$portObj->stopbits( $COM{'stopbit'} );

# Buffer leeren
$portObj->lookclear();

# Modem initialisieren
$portObj->write( $COM{'initstring'}."\r" );

# fflush einstellen
$| = 1;

# request zusammenbauen -> hier sollte Dein initialisierungsstring stehen
# Also Deine Anfrage an die Heizung
my $request = 'xyz';

# Endlosschleife beginnen
while(1)
  {
    # Beginne mit Schreiben ...
    my $req_count = $portObj->write( $request );

    # Warten vor dem Einlesen -> Heizungen sind nicht so schnell ;-)
    sleep(2);

    # Antwort einlesen -> laenge fuer deine Heizungssteuerung anpassen.
    my $LEN = 315;
    my $in = $LEN + 10 + 20;  # 10 mehr wegen Offset und nochwas drauf wegen redundanter 0x10
                              # Probier, was Du brauchst
    my ( $count_in, $response ) = $portObj->read($in);

    # ab hier stehen die Daten in $response zur Verfügung
    # $count_in sagt Dir, wieviel Bytes von der Heizung geliefert wurden.


    sleep( 20 );  # Wartezeit bis zum nächsten Auslesen
  }  # while ...

# Bis hierher kommt man nicht !


$portObj->close();
$db->disconnect();
exit(0);

__END__
Als kleiner Hinweis sei erlaubt: Lies einfach ALLE Werte der Heizung aus und verarbeite dann den ganzen Response im Programm. Der Aufwand, einzelne Werte auszulesen ist bei den Steuerungen meist damit verbunden, daß man jedesmal eine CheckSum berechnen muß. Für das Auslesen der gesamten Daten brauchst Du immer nur eine bekannt Checksum.

ciao Akela68

spooniester

Anfänger

Beiträge: 4

Firmwareversion / your current Firmware: anderes

  • Nachricht senden

15

07.04.2009, 21:37

AW: Daten über RS232-USB-Adapter von einer Heizung auslesen

Hi zusammen,

ich muss das Thema nochmals aufgreifen.
Habe edas USB-Experimentierboard von Franzis (http://www.franzis.de/online-shop/elektronik/lernpakete-elektronik/lernpaket-experimente-mit-usb)
Der Chip ist ein FTDI232 und wird auf der NSLU2 rixchtig erkannt. Unter Windows kann man den Status einer Leitung (CTS beispielsweise) lesen und auswerten. Bedeutet: Ein an Masse und CTS angeschlossener Reed-Kontakt löst bei Auslösen ein ereigniss aus was in Visual Basic abgefragt werden kann. Nun wollte ich das ganze auf meine NSLU2 portieren, weiss jedoch überhaupt nicht wie.
Kann mir jemdand dabei helfen?

Vielen Dank!!

16

27.01.2010, 17:09

Hallo,

dieser Thread ist zwar auch schon älter, aber das Problem habe ich auch noch nicht lösen können.
Bei mir scheitert es einfach daran, dass ich nicht die nötigen Linux-Kenntnisse habe, um über ein Terminal (minicom, picocom o.ä.) wenigstens mal ein korrektes Signal an meine Heizung senden und von dort eine Antwort empfangen zu können. Inzwischen habe ich Debian auf meiner NSLU2 laufen, außerdem python, python-serial, python-rrd und rrdtool. Die Kernel-Module pl2303 und ftdi_sio werden korrekt geladen (ich habe 2 USB-RS232-Adapter als Alternative), aber ich weiß nicht wie es weiter geht. Es scheitert schon daran, dass ich nicht weiß, ob es /dev/ttyS0 oder /dev/ttyUSB0 lauten muss.
Kann mir jemand bitte mit nur ein paar Stichworten auf die richtige Fährte helfen? Vielen Dank!
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Linux-Beginner

unregistriert

17

28.01.2010, 19:42

Also mit "dmesg" solltest Du zumindest herausfinden können, ob /dev/ttyS0 oder /dev/USB0 oder ...
sieht dann bspw. so aus:

...
usbserial.c: USB Serial support registered for Generic
usbserial.c: USB Serial Driver core v1.4
usbserial.c: USB Serial support registered for PL-2303
usbserial.c: PL-2303 converter detected
usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
...

Wie es dann mit dem auslesen Deiner Heizung weitergeht, weis ich leider nicht.
Ich hab nur einen selbstprogrammierten µC dran und stelle die Schnittstelle mit
"stty 9600 cs8 -parentb -crtscts -crtscts -clocal -cstopb -echo -F /dev/ttyUSB0" ein.
Also 9600 Baud, 8 Datenbits, keine Parität und sonst keine Steuerleitungen etc.
Danach kann ich mit "echo "G" >> /dev/ttyUSB0" zum Beispiel ein G von der NSLU2 senden.

MfG
Stefan

Social Bookmarks