mikrocontroller.net

Forum: PC-Programmierung Terminalausgabe in TextArea


Autor: Olivia Baumgartner-schmidt (olivia63)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bin beim googeln nicht so richtig schlauer geworden. Ich möchte mit 
Java unter NetBeans einen Terminalaufruf (für AVRDUDE mit vielen 
Parametern) starten und die Ausgabe des Terminals LIVE in meiner 
TextArea anzeigen. Dadurch wollte ich mir das Programmieren einer 
Fortschrittsanzeige sparen. Da ich das Terminal quasi versteckt aufrufen 
wollte, habe ich mich für diesen Lösungsansatz entschieden. Das 
Grundgerüst steht bereits. Kann mir bitte jemand weiterhelfen? Die 
Terminalausgabe in eine Datei umzuleiten ist nicht das Problem (< - 
Parameter), aber wie bekomme ich das ganze einfach und schön in Echtzeit 
hin.

Danke für eure Tipps!

Autor: Hans-jürgen Herbert (hjherbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Terminalausgabe in eine Datei ...

Nicht in eine Datei, sondern in eine pipe (Ich bevorzuge virtuelle 
serielle Ports), eventuell mit dem Unix-Tool tee
Oder nach (Windows:) com0com / (Linux:socat)

socat - Virtuelle serielle Schnittstellen
Aufbau einer virtuellen NULL-Modem-Verbindung:
socat PTY,link=m1,raw,echo=0,waitslave PTY,link=m2,raw,echo=0,waitslave
Dadurch werden 2 Device-Treiber m1 und m2 erzeugt, die wie serielle 
Schnittslellen angesprochen werden können.
Danach können auf dem gleichen Rechner 2 gtkterm (minicom) miteinander 
reden.
ls zeigt an:
lrwxrwxrwx  1 hjh hjh     10 2008-12-16 15:05 m1 -> /dev/pts/6
lrwxrwxrwx  1 hjh hjh     10 2008-12-16 15:05 m2 -> /dev/pts/7
Wobei die 2. Zeile erst entsteht, wenn ein Terminal an m1 angeklinkt 
ist.

Oder es können die seriellen Geräteabfrageprogramme / 
Simulationsprogramme miteinander reden:
Terminal 1:
akplu2 -i=0=/home/hjh/m1
Terminal 2:
simplu2 -i=0=/home/hjh/m2


Danach hast du das gleiche Problem, das jeder mit seriellen 
Schnittstellen hat.



Für Windows gibt es da rxtx:

* Download rxtx-2.1-7r2.zip von http://www.rxtx.org/
* Download rxtx-2.1-7-bins-r2.zip, auch von da (Server ist 
ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip)
* Auspacken der einen oder beider Dateien rxtxSerial.dll und 
rxtxParallel.dll von rxtx-2.1-7-bins-r2.zip/Windows/i368-mingw32/ nach 
c:\windows (oder wohin auch immer im Suchpfad) PATH (oder nach 
C:\Program Files\Java\jdk1.6.0_11\jre\bin)
* Auspacken der Datei RXTXcomm.jar von rxtx-2.1-7-bins-r2.zip/ nach 
c:\Program Files\Java\jdk1.6.0_11\jre\lib\ext
 "RXTXcomm.jar goes in \jre\lib\ext (under java)"

Dann googelst du nach

serialPort.addEventListener SerialReader
serialPort.notifyOnDataAvailable

WWW

http://www.netbeans-forum.de/viewtopic.php?t=2342&... - 
Anleitung? - Erster Hinweis
http://rxtx.qbang.org/wiki - Das rxtx Wiki

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was sit den für dich nen Terminalaufruf? Komandozeile?
Dann kannst du das ganze mit dem ProcessBuilder machen, und die die 
Standardausgabe als Stream geben lassen. Das Ganze dann in einem Thread 
lesen und in das Textfeld schreiben, schon hast du deine "Live" 
Ausgabe...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die ausführliche Information, spez. der Hinweis auf 
socat hilft mir sehr.

Die manpage erläutert die Optionen und hat Beispiele:
http://www.dest-unreach.org/socat/doc/socat.html#E...
http://www.dest-unreach.org/socat/doc/socat.html#O...

In meinem Fall werden die Links im Homeverzeichnis (~/) angelegt und 
dort auch von GTKTerm gefunden.

Erfreulich ist, dass sogar die Schnittstelleneinstellungen funktionieren 
(bei einer Änderung stürzt socat allerdings ab).
Steuerleitungen sind anscheinend nicht unterstützt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.