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 !!!
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
[quote=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[/quote]
Iria sugerir a mesma coisa, a api se encontra em http://www.rxtx.org
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.
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!
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!
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 !
A respeito da estabilidade da javax.comm foi comentado aqui que não está muito legal ainda para linux.
O quanto isso é verdade ??
Oi,
Isso é mito.
Tchauzin!
eu sempre utilizo o rxtx, nao importa o SO, nunca tive problemas.
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 ?
Só mais uma pergunta. RxTx trabalha com a paralela ? Não é só com a serial ?
trabalha sim. São dois arquivos nativos. Um pra porta paralela, e outro para a serial.
Alguém poderia me dizer quais são os passos para trabalhar com a javax.comm na porta paralela ?
Oi,
Procure por setEnable() ou setEditable();
Tchauzin!
JÁ RESOLVI !
É setEditable mesmo !
Quem não conseguir fazer comunicação com paralela me pergunte pois consegui muito bem.
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");
}