Portál AbcLinuxu, 12. května 2025 05:57

Dotaz: Virtuální sériový port

3.12.2005 18:15 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Virtuální sériový port
Přečteno: 1043×
Odpovědět | Admin

Zdravím,

mám takový netradiční dotaz. Lze v linuxu nějakým způsobem emulovat sériový port? Jde mi o to, že musím napsat program v Javě, který bude komunikovat (číst z/zapisovat do) se sériovým portem. Můj počítač ale takový port nemá (notebook). Je to možné? A pokud ano, jak?

Mimochodem, neznáte nějaké zdroje popisující komunikaci Java - COM?

Děkuji za vaše odpovědi.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.12.2005 18:29 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: Virtuální sériový port
Odpovědět | | Sbalit | Link | Blokovat | Admin
První část otázky: dá se sehnat adaptér USB↔RS-232, ke kterému existují ovladače i pro linux, takže se port tváří jako RS-232.

Ke druhé části otázky: asi dva roky zpátky jsem taky chtěl napsat v Javě program komunikující přes sériový port, ale dospěl jsem k názoru, že to nejde. Java od Sunu to standardně neuměla, ta od IBM snad nějak ano, a krom toho existoval nějaký projekt, který se o implementaci téhož snažil nezávisle. Ale a) nepodařilo se mi to rozchodit b) i kdyby ano, ztratil bych jedinou výhodu Javy – nezávislost na platformě.

Teď už je snad situace lepší, podívej se na článek na javaworld.com
Užívej dne – možná je tvůj poslední.
3.12.2005 18:39 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Virtuální sériový port

Děkuju. Takový článek jsem hledal. Jen mě mrzí ten sériový port. Ale ať googlím jak googlím, asi opravdu nic jako emulátor COMu není. Hledal jsem něco, co by vytvořilo jakési virtuální zařízení v /dev (třeba ttyS1virtual nebo cojávím), které by se pak tvářilo jako normální sériový port. Zatím bez úspěchu.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
3.12.2005 22:32 Mti.
Rozbalit Rozbalit vše Re: Virtuální sériový port
no, a ta varianta s USB Ti vadi? Co vim tak "treba" usb kabel k siemensum (c55) je prave takova redukce... a maji to v kazdem mobilleshopu. Pak sice nebudes mit /dev/cojávím, ale /dev/ttyUSB0, ale to snad nevadi. :-)
A v te redukci byva bud neco od ftdi... coz ma drivery od 2.4.cosi a nebo od prolificu a drivery jsou zhruba odtamtez.
3.12.2005 23:21 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Virtuální sériový port
Jde mi spíš o to, že nemám zájem nic připojovat. Jen bych potřeboval tu komunikaci testovat. A k tomu by mi softwarová emulace bohatě stačila. Moje (asi naivní) představa je taková, že bych si v emulaci například nastavil, že právě přišlo xx bitů, a odzkoušel si tak, jestli mi program v javě běhá tak, jak chci, nebo ne.
A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
Luboš Doležel (Doli) avatar 4.12.2005 00:16 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Virtuální sériový port
Nemá ta třída na COM komunikaci společnou base třídu s třídou na čtení ze souboru (prostě InputStream)?

Jestli by se to třeba nedalo obejít vytvořením nějakého fifo, ze kterého by Java program četl a dále to zpracovával, jako by to šlo z COMu.
4.12.2005 11:46 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Virtuální sériový port

Ahoj,

obávám se že ne. Tedy aspoň podle toho, co jsem našel na stránkách Sunu. Sice se Javu učím za pochodu, ale "public abstract class CommPort - extends java.lang.Object" nedává velké naděje.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
Luboš Doležel (Doli) avatar 4.12.2005 15:33 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Virtuální sériový port
Tak si udělejte nějakou vlastní třídu podobnou CommPort, která však nebude komunikovat s COM portem, ale nějakým způsobem s uživatelem.
4.12.2005 09:43 Vojta
Rozbalit Rozbalit vše Re: Virtuální sériový port
Odpovědět | | Sbalit | Link | Blokovat | Admin
Balíček javax.comm už oficiálně podporuje linux, viz: http://java.sun.com/products/javacomm/index.jsp
4.12.2005 11:43 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Virtuální sériový port

Zdravím,

info na stránkách Sunu je občas trochu zmatečné. Na titulní straně totiž opravdu píší, že "Implementations of the API are currently available for Solaris SPARC, Solaris x86, and Linux x86.". V FAQ, které jsou odkazovány z téže stránky však stojí: "We do not provide a linux implementation.".

Takže buď zatím neopravili sekci FAQ (nejspíš), nebo mi někde něco uniká (což je klidně možné taky). Navíc ještě musím vymyslet, jak to budu testovat. Bez COM portu to asi jak jsem zjistil půjde ztuha. A nejbližší počítač se sériovým portem, který by mohl být pro moje experimenty k dispozici, leží asi 700 km odsud. V pokoji na stole.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
4.12.2005 14:31 Vojta
Rozbalit Rozbalit vše Re: Virtuální sériový port
No já to právě taky řeším. Verze pro linux tam je. FAQ je neopravený, stejně jako část dokumentace v tom samotném balíku.Sériový port taky nemám, ale koupil jsem si USB-RS232 redukci. Jinak samotný javax.comm se mi rozchodit zatím nepodařilo:(
4.12.2005 17:19 pc
Rozbalit Rozbalit vše Re: Virtuální sériový port
Odpovědět | | Sbalit | Link | Blokovat | Admin
PTY nestaci? Pouzivaji se pro emulaci terminalove linky (tj. serioveho portu) pro radkove aplikace - tim emulatorem je treba xterm nebo programy jako telnet nebo ssh. Asi to neemuluje seriovy port uplne, ale treba by to stacilo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.