Terminalausgabe in TextArea

OP #1187422
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!
Persönliche Seite #1195869
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&highlight=seriell - 
Anleitung? - Erster Hinweis
http://rxtx.qbang.org/wiki - Das rxtx Wiki
Gast #1272252
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#EXAMPLE_ADDRESS_PTY
http://www.dest-unreach.org/socat/doc/socat.html#OPTION_SYMBOLIC_LINK

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren