rs232-Daten empfangen

klanawagna

Erfahrenes Mitglied
Hallo! Diese Frage dürfte euch wohl schon extrem auf den Kicker gehn, aber bitte gedultet euch noch mit eurem Urteil! ;)

Ich würd gerne mit einem selbstgeschriebenem Tool auf Knopfdruck Messwerte abrufen und in einer Textdatei speichern.

Ich habe umfassende Erfahrung in C, allerdings nicht mit Microcontrollern, bzw. Schnittstellen.

Mit freundlichen Grüßen und herzlichstem Dank:
klanawagna
 
Hallo,

durchsuche mal das Forum mit den Suchbegriffen "serielle schnittstelle". Da dürfte einiges an Informationen zusammenkommen. Ansonsten ist deine deine Frage leider etwas zu unspezifisch. Was soll denn programmiert werden, der PC oder ein Microcontroller und auf welcher Plattform soll das Ganze laufen?

Gruß
MCoder
 
Hab ich, nichts gefunden das weiterhilft.

Ich konkretisiere einmal: Ich brauche das ganze für eine Heizungssteuerung. Das ganze soll so aussehen: Ein Linuxrechner steht im Keller, wertet aus und rechnet, gesteuert wird das ganze per Webinterface vom Handy bzw. vom Laptop aus.

Das ganze drumherum ist kein Problem, nur die Geschichte, dass ich die Daten rein- und rausbekomme. Welche Daten raus und reinmüssen weiß ich, nur nicht: wie? ^^

Ich hab einen "switch" (stimmt der Ausdruck?), wo ich 8 Leitungen von Fühlern, Pumpen usw. zusammenfasse und mit einem Kabel zum PC fahre.

Bitte, helft mir.

PS: nur um schockierte Gedanken von wegen: "oh mein Gott, der Typ programmiert sich seine eigene Heizung und kennt sich kein bisschen aus!" sofort auszumerzen: die ist von einem Freund und ich hab die Herausforderung angenommen um Erfahrung in diesem Bereich zu sammeln... ;)
 
Ich hab einen "switch" (stimmt der Ausdruck?), wo ich 8 Leitungen von Fühlern, Pumpen usw. zusammenfasse und mit einem Kabel zum PC fahre.
Das hört sich an wie eine Ethernet-Verkabelung, also eher kein RS232 (seriell). Oder ist dieser Switch eine spezielles Bauteil? Im Falle Ethernet würdest du dann wohl Netzwerkprogrammierung benötigen.
Das Thema "Daten rein- und rausbekommen" hängt also erstmal an der Art der Schnittstelle. Dass du über das "wie" in der Forumsuche nichts findest, kann ich mir nicht vorstellen. Alle gängigen Schnittstellen wurden hier schon mehrfach behandelt.

Gruß
MCoder
 
Code:
*fp = fopen("/dev/ttyS0","w");
fwrite (fp, $string); 
fclose(fp);

könnte dieser Code stimmen? und wenn ja: funktioniert lesen dann genauso?
 
Hallo,

prinzipiell sollte das Lesen analog funktionieren. Dann musst du sicher noch die Parameter des Ports (Baudrate usw.) und die Timeouts festlegen. Wirf doch mal einen Blick auf diese Bibliothek. Die könnte dir vielleicht etwas Arbeit abnehmen.

Gruß
MCoder
 
Code:
 const char* const SERIAL_PORT_DEVICE = "/dev/ttyUSB0" ;

Ich habe das aus der Bibliothek aus Example\Read.
Stimmt das ttyUSB0?
Die Bibliothek wirkt sehr hilfreich, allerdings ist sie wohl für USB gemeint. Oder gibt es da etwa keinen Unterschied in der Programmierung, übertragen ja beide seriell... ?

Aber mal danke für den Tipp!
 
Mit Linux-I/O-Programmierung kenne ich mich nicht weiter aus. Ich denke aber, hier sollte eher /dev/ttyS0 stehen. Der Rest müsste passen.

Gruß
MCoder
 
Ich habe für das Modul (Adam 4015 von Avantech) eine C# Bibliothek gefunden. Werd mich jetzt damit etwas befassen! Aber danke für die Hilfe derweil ;)
 
Zurück