Javax.comm no linux?

17 respostas
necreto

Estou comecando a ter pesadelos, preciso acessar porta paralela da minha maquina, bom, pelo que entendi é possível fazer isso com Java atraves da API javax.comm, olhei o site da Sun e se encontrei essa API para Solaris e Windows.
Me digam que olhei ou n tem como fazer isso no Linux (Suse 9) ?
Se n tiver jeito , vou ter que parar meu TCC ?
Acho que vou suicidar !!!

17 Respostas

diogopontual

Cara a Sun não disponibiliza, mas neguinho já portou baseado na API para Solaris que é mais parecido. Procure por RXTX que tudo vai dar certo!!!

Abraços,

Diogo

farribeiro

diogopontual:
Cara a Sun não disponibiliza, mas neguinho já portou baseado na API para Solaris que é mais parecido. Procure por RXTX que tudo vai dar certo!!!

Abraços,

Diogo


Iria sugerir a mesma coisa, a api se encontra em http://www.rxtx.org

T

Eu lembro que escondido no site da Sun existe uma versão do Javax.comm para Linux, mas perdi o link.
Mas essa versão é imatura em relação à da rxtx.org, a única coisa chata é compilar corretamente o shared object para funcionar com a sua versão do Linux - use o script de instalação do rxtx para que uma versão seja gerada e funcione corretamente para a sua versão do Linux.

pedrorawan

Eu já baixei essa versão do JAVAX.COMM para linux. Mas estou com problemas para instalar.
Alguém pode me dizer onde eu coloco cada arquivo ?

Minha versão é a Ubuntu 9.04
Meu IDE é NETBeans
Estou usando a versão 5 da jdk

Obrigado !

Preciso com urgência!

lina

Oi,

Segue o procedimento e onde jogar os arquivos:

libLinuxSerialParallel.so -> $JRE$/lib/i386 javax.comm.properties -> $JRE$/lib comm.jar -> $JRE$/lib/ext Criar um "link" dentro da pasta de onde será executado o programa em Java que utilizará a porta serial usando o comando: ln -s $JRE$/lib/javax.comm.properties javax.comm.properties

Tchauzin!

pedrorawan

Muito Obrigado !

Entrei a pouco tempo no GUJ mas já achei muito bom.
A galera é bem participativa. Isso estimula você de participar também !

Tchau !

pedrorawan

A respeito da estabilidade da javax.comm foi comentado aqui que não está muito legal ainda para linux.
O quanto isso é verdade ??

lina

Oi,

Isso é mito.

Tchauzin!

mchiareli

eu sempre utilizo o rxtx, nao importa o SO, nunca tive problemas.

pedrorawan

Vocês tem noção de como eu posso fazer para que um JTextArea não seja alterado pelo usuario mas somente atráves do código fonte ?

pedrorawan

Só mais uma pergunta. RxTx trabalha com a paralela ? Não é só com a serial ?

J

trabalha sim. São dois arquivos nativos. Um pra porta paralela, e outro para a serial.

pedrorawan

Alguém poderia me dizer quais são os passos para trabalhar com a javax.comm na porta paralela ?

lina

Oi,

Procure por setEnable() ou setEditable();

Tchauzin!

pedrorawan

JÁ RESOLVI !

É setEditable mesmo !

pedrorawan

Quem não conseguir fazer comunicação com paralela me pergunte pois consegui muito bem.

G

OI! Boa Tarde! Estou precisando rodar uma empressao via lpt1, em uma aplicacao JEE, so que os ESC/P, que estou utilizando nao esta dando retorno desejado, nao estou conseguindo quebrar a linha e tbm usar os outros comandos Esc/p.

Ambiente de desenvolvimento é:
jsdk jdk1.5.0_22
S.O. windows XP - SP-3
javax.comm API- 2.0

aqui em baixo segue o codigo que estou rodando:

//
private static CommDriver getCommdriver(String driverName){                
   CommDriver commdriver =null;
   try{
        commdriver = (CommDriver)Class.forName(driverName).newInstance();
        commdriver.initialize();
   }catch (Exception e2){
        e2.printStackTrace();
   }return commdriver;
}
//
public static void main(String[] args){
        CommDriver commdriver = getCommdriver("com.sun.comm.Win32Driver");
        try {
            port = CommPortIdentifier.getPortIdentifier(PARALLEL_PORT);
            // open the parallel port -- open(App name, timeout)
            parallelPort = (ParallelPort) port.open("CommTest", 50);
            outputStream = parallelPort.getOutputStream();
            //            
            Vector vValidaPapel=ValidaTamanhoPapel();            
            String sAux="";
            // 
            //Texto salvo em vetor para poder contralar as linha que estou utilizando
            //
            // -vetor de origem   addElement("\u001B" + "\r");
            //
            for(int i=0;i<vValidaPapel.size();++i){
              sAux+=(String)vValidaPapel.elementAt(i);              
            }                                    
            char[] charArray = sAux.toCharArray();
            byte[] byteArray = CharToByteConverter.getConverter("UTF8").convertAll(charArray);
            //        

            outputStream.write(byteArray);
            outputStream.flush();
            outputStream.close();
            //
        } catch (NoSuchPortException nspe) {
            System.out.println("\nPrinter Port LPT1 not found : "
                    + "NoSuchPortException.\nException:\n" + nspe + "\n");
        } catch (PortInUseException piue) {
            System.out.println("\nPrinter Port LPT1 is in use : "
                    + "PortInUseException.\nException:\n" + piue + "\n");
        }
Criado 2 de agosto de 2005
Ultima resposta 6 de mai. de 2010
Respostas 17
Participantes 9