Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. 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.

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

1

12.08.2014, 09:02

Daten Senden per Serieller Schnittstelle USB mit Hilfe eines FT 232

Hallo zusammen ! :)

Ich brauche Hilfe bezüglich eines FT232.
Ich bin benutze Ubuntu seit ein paar Monaten und bin absoluter Anfänger.
Für ein Uni Projekt setze ich mich nun mit dem FT232 auseinander:

Im Prinzip ist es ganz einfach glaube ich. Ich habe einen FT232 auf einer Platine mit einem Mini-USB-Anschluss und will nun von meinem Laptop aus mit dieser Schnittstelle kommunizieren. Und ich möchte fürs erste einfach nur herausfinden wie ich Daten über den FT232 senden und wieder empfangen kann.
Zum Beispiel einfach nur das Wort "Hallo" senden, oder eine kleine Textdatei.
Ich habe mich schon durch viele Internetseiten geklickt und häufig das richtige gefunden. Nur reicht mein Grundwissen nicht aus um die Lösungsvorschläge dann richtig zu deuten und Umzusetzen.
Ich brauche daher relativ kleinschrittige Hilfe.

Die USB Verbindung und der IC wird von meinem Laptop erkannt. Mein Terminal gibt folgendes aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
asus@ubuntu:~$ lsusb
Bus 002 Device 003: ID 1532:0002 Razer USA, Ltd 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 13d3:5710 IMC Networks UVC VGA Webcam
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
asus@ubuntu:~$ ls /dev/ttyUSB*
/dev/ttyUSB0
asus@ubuntu:~$


Wie muss ich jetzt weiter vorgehen ?

Ps: Ich habe noch nie BBCodes benutzt. Wie bringe ich die Kopierten Zeilen aus meinem Terminal pr BBCodes in die entsprechende Form ?

Vielen Dank für eure Hilfe ! :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Pimpf« (17.08.2014, 10:20)


Beiträge: 568

Registrierungsdatum: 10.09.2009

Derivat: Kein Ubuntu-Derivat

Architektur: 64-Bit PC

Desktop: Cinnamon

Andere Betriebssysteme: Manjaro

  • Nachricht senden

2

12.08.2014, 09:28

Hallo!

Willkommen im Forum! :)

Leider kann ich zu Deinem eigentlichen Problem nichts beitragen. Nur zu den BBCodes.

Ps: Ich habe noch nie BBCodes benutzt. Wie bringe ich die Kopierten Zeilen aus meinem Terminal pr BBCodes in die entsprechende Form ?

Kopiere Deinen Code, bzw. Terminalausgabe in den Beitragseditor, markiere ihn und klicke auf die Schaltfläche mit der Raute (#).



Quellcode

1
Dann wird dein Code so dargestellt.

Zum Zitieren wähle die Schakltfläche mit der Sprechblase. ;)

Wenn du den Mauspfeil über einer Schaltfläche platzierst, kommt jeweils ein entsprechender Hinweis.

Greetz Bluegrass
Es geht auch anders, aber so geht's auch.

  • »maettu« ist männlich

Beiträge: 3 299

Registrierungsdatum: 14.09.2005

Derivat: Xubuntu

Architektur: 64-Bit PC

Desktop: XFCE

  • Nachricht senden

3

12.08.2014, 09:46

Zum eigentlichen Problem, du musst deine Suche auf das wesentliche Beschränken. Soweit ich weiss wären bessere Suchbegriffe RS232 oder uart, bei FT232 handelt es sich um den verwendeten Chip (der ist aber im Prinzip egal).
Soweit ich weiss kann man unter Linux im Prinzip einfach auf die /dev/tty schreiben/lesen. Das machst du ähnlich wie wenn du eine Datei Lesen/Schreiben willst.

Es gibt sicherlich für die verschiedensten Programmiersprachen RS232-Bibliotheken. Die Frage ist zunächst welche Programmiersprache du verwenden willst!
Und anders gefragt welche Hardware du überhaupt ansprechen willst über die RS232-Schnittstelle. Was ist dein Ziel?

4

12.08.2014, 16:22

Zum Beispiel einfach nur das Wort "Hallo" senden, oder eine kleine Textdatei.
Um es kurz zu fassen: Falls der passende Treiber geladen wurde und /dev/ttyUSB0 als zugehörige Schnittstelle angelegt wurde *), kannst du mit einem beliebigen Terminalprogramm (z.B. miniterm) mit ihm kommunizieren.

*) simpler Test: Wenn du den Stecker ziehst, ist /dev/ttyUSB0 bald wieder weg.
mir is wurscht

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

5

15.08.2014, 14:13

Danke für eure schnellen Antworten !

Das Problem it folgendes:

Ich habe einen AD-Wandler, der eine Spannung empfängt und diese dann an die FT 232 Schnitttelle sendet. Diese wiederum schickt die Daten dann weiter an meinen PC.
Und die ankommenden Binärzahlen würde ich mir gerne in irgendeiner Form ausgeben lassen.
Sei es im Terminal, oder in einem Textdokument oder...

Denn für diese Daten muss ich dann ein Programm schreiben, welches diese Interpretiert.

Ich hätte am liebsten irgendeine Software, bei der ich direkt die Baudrate einstellen kann etc. pp...

Wie kann ich die ankommenden Daten "Visualisieren" ?

  • »maettu« ist männlich

Beiträge: 3 299

Registrierungsdatum: 14.09.2005

Derivat: Xubuntu

Architektur: 64-Bit PC

Desktop: XFCE

  • Nachricht senden

6

15.08.2014, 15:23

Ich würde mal "gtkterm" probieren. Sollte via apt-get installierbar sein. Also:

Quellcode

1
sudo apt-get install gtkterm


Dann stellst du alles richtig ein, danach solltest du schon sehen wenn etwas via rs232 reinkommt. Das Einstellen ist immer ein bisschen gebastel, aber sobald man es richtig hat geht es ;)
Einfach ein bisschen ausprobieren.

Wenn du so die Daten in der Konsole gesehen hast, kannst du anschliessend eine Programmiersprache deiner Wahl (deines Könnens) wählen und eine kleine Gui programmieren. Für die Verbindung gibt es zig rs232-Bibliotheken.

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

7

15.08.2014, 15:34

Wie wäre es zum Beispiel mit einem Programm wie RealTerm ?! Nur gibt es das für Ubuntu leider nicht...

  • »maettu« ist männlich

Beiträge: 3 299

Registrierungsdatum: 14.09.2005

Derivat: Xubuntu

Architektur: 64-Bit PC

Desktop: XFCE

  • Nachricht senden

8

15.08.2014, 15:43

Im Prinzip tut es jede Terminalsoftware für RS232. Du musst nur ausprobieren...

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

9

15.08.2014, 15:43

Ja genau das habe ich schon ausprobiert.

Aber wenn ich gtkterm starte, erschein einfach nur ein schwarzer Bildschirm in dem ich nicht eingeben kann. Was läuft da schief ?

Ich hab einen Screenshot des Problems mit geschickt.
»Pimpf« hat folgendes Bild angehängt:
  • gtkter.png

10

15.08.2014, 17:53

irgendeine Software, bei der ich direkt die Baudrate einstellen kann etc. pp...
Sowas nennt sich Terminalprogramm...
mit einem beliebigen Terminalprogramm (z.B. miniterm)
oder das von maettu genannte. Oder irgend ein anderes. Nur dieses nicht:
Wie wäre es zum Beispiel mit einem Programm wie RealTerm ?! Nur gibt es das für Ubuntu leider nicht...


Was läuft da schief
Die Schnittstelle ist die falsche.
mir is wurscht

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

11

15.08.2014, 18:16

Also ich bin jetzt eine großes Stück weiter gekommen !

Ich habe es jetzt mit minicom probiert und mir werden tatsächlich die ankommenden Daten auf dem Terminal in Hexa Dezimalzahlen ausgegeben.

Jedoch bin ich nicht ganz zufrieden mit diesem Programm und würde gerne mal gtkterm ans laufen bringen.
Problem ist denke ich nicht, dass die Schnittstelle die Falsch ist, da es ja mit minicom läuft.

Das Problem ist, dass wenn ich gtkterm öffne sich eigentlich das Konfigurationsmenü öffnen sollte, aber statt dessen einfach nur ein schwarzer Bildschrim aufploppt in den ich nicht eingeben kann.

12

15.08.2014, 18:23

Problem ist denke ich nicht, dass die Schnittstelle die Falsch ist,
In deinem screenshot steht im Fenstertitel von gtkterm "/dev/ttyS0"...

Wenn du meinst daß du mit diesem Programm was anderes siehst als mit einem anderen, musst du herausfinden wie man es konfiguriert.
mir is wurscht

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

13

16.08.2014, 13:53

In deinem screenshot steht im Fenstertitel von gtkterm "/dev/ttyS0"...

Wenn du meinst daß du mit diesem Programm was anderes siehst als mit einem anderen, musst du herausfinden wie man es konfiguriert.
Ja da hast du recht !

Bisher habe ich es noch nicht geschafft gtkterm zu konfigurieren.

ctrl + l + o lässt mich das Konfigurationsmenü zwar öffnen, jedoch habe ich keine Möglchkeit etwas auszuwählen.(Siehe Screenshot)

Das Problem ist nämlich, dass "/dev/ttyS0" der falsche Port ist. Ich muss diesen in "/dev/ttyUSB0" ändern.

Wie komme ich in das Konfigurationsmenü bzw. wieso öffnet es nicht automatich wenn ich gtkterm starte ?! Hat jemand eine Idee ?
»Pimpf« hat folgendes Bild angehängt:
  • gtkterm.png

14

16.08.2014, 19:16

mir werden tatsächlich die ankommenden Daten auf dem Terminal in Hexa Dezimalzahlen ausgegeben
Dann würde ich meinen, das Problem ist gelöst.

Jedoch bin ich nicht ganz zufrieden mit diesem Programm und würde gerne mal gtkterm ans laufen bringen.
Ich verstehe zwar nicht ganz wieso du unzufrieden bist, wenn du siehst was du sehen wolltest. Aber da du bereits (völlig richtig) zu deinem Wunschprogramm einen neuen thread eröffnet hast, kennzeichne diesen hier bitte entsprechend.
--
Wenn das Problem damit gelöst/erledigt ist setze bitte noch das passende Präfix vor die Überschrift, damit das jeder gleich erkennen kann. Danke!
Weitere Hinweise findest du bei unseren Einsteiger-Infos.
mir is wurscht

Pimpf

User

  • »Pimpf« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 12.08.2014

Architektur: 32-Bit PC

  • Nachricht senden

15

17.08.2014, 10:17

Ich bin unzufrieden mit minicom, da die ankommenden Hexa-dezimalzahlen nicht stimmen können...
Sie verändern sich zwar, wenn sich die Messspannung ändert, jedoch verändern sie sich nicht so wie es sein sollte. Es ergeben sich wiedersprüchliche Werte.

Ich dachte das könne vielleicht am Programm liegen. Deshalb wollte ich GTKTerm ausprobieren. Außerdem hätte ich die Ausgabe am liebsten in Dezimalzahlen, was mit minicom nicht geht...

  • »maettu« ist männlich

Beiträge: 3 299

Registrierungsdatum: 14.09.2005

Derivat: Xubuntu

Architektur: 64-Bit PC

Desktop: XFCE

  • Nachricht senden

16

17.08.2014, 13:28

Sie verändern sich zwar, wenn sich die Messspannung ändert, jedoch verändern sie sich nicht so wie es sein sollte. Es ergeben sich wiedersprüchliche Werte.
Hmm was heisst das? Hast du eine Spannungsquelle bei der du genau eine Spannung einstellen kannst, um so zu sehen ob dein AD-Wandler die richtige Spannung via RS232 schickt?
Gibt es überhaupt ein Datenblatt deines AD-Wandlers? Handelt es sich eigentlich um ein "Komplett-System" also direkt ein System, dass einen AD-Wandler integriert hat und auch eine RS232-Schnittstelle?
Oder ist es Marke Eigenbau, wo es einen Mikrokontroller gibt, der sozusagen den AD-Wandler ausliest und anschliessen via RS232 die Daten an den PC sendet?
Anders gefragt ist irgendwo definiert wie die Daten ankommen sollen? Im Prinzip könnte da eine Zahl kommen in mV oder V, mit Vorzeichnen, eine Fliesskommazahl, alles Zeugs das man richtig interpretieren muss!
Vielleicht ist das Verhalten eine HEX-Zahl zu schicken normal. Vielleicht wird immer zuerst ein Kontrollzeichen mit geschickt, dass natürlich beim Direkten auslesen falsch interpretiert wird...