Como acessar uma porta serial a partir de uma aplicação Grails
04/06/2013 01:27
0
Eu estou fazendo um aplicação Grails onde preciso acessar uma porta serial.
Estou tentando usar o gnu.io porem estou tendo muita dificuldade. Ocorre o seguinte erro.

java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: no suitable image found. Did find: /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper


e depois mostra : que não foi encontrado a classe CommPortIdentifier.

Importei o JAR dentro da pasta lib.

package topsapcar

import gnu.io.SerialPort
import gnu.io.CommPortIdentifier
import gnu.io.SerialPort



class ReadPortService {
SerialPort serialPort
def readPorts() {
Enumeration portEnum = gnu.io.CommPortIdentifier.getPortIdentifiers()

// // iterate through, looking for the port
// while (portEnum.hasMoreElements()) {
// CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement()
// println "currPortId.getName() : ${currPortId.getName()}"
// }
}
}
Tags: #GRAILS # GROOVY #PORTA SERIAL


0
Agora coloquei nas dependencias compile 'org.rxtx:rxtx:2.1.7' mas se matem os mesmo errors.


1
Vc tá usando o RXTX, correto?

Veja abaixo:

http://pharos.ece.utexas.edu/wiki/index.php/How_to_Access_Your_Serial_Port_using_Java


UnsatisfiedLinkError
If you get the following error when running your application:

This is most likely because you're running a 64-bit version of OSX and the librxtxSerial.jnilib is for 32-bit OS.
To see the system architectures supported by your version of librxtxSerial.jnilib, execute the following:

04/06/2013 10:58


0
Teria alguma outra maneira de acessar sem ser com org.rxtx:rxtx:2.1.7?


1
Carlos,

Não sei te dizer. Acho que você deveria fazer o seguinte:

*. Crie um projeto Groovy simples e teste esse esquema de acesso à porta Serial. Caso funcione, então você já testou a sua biblioteca em um ambiente bem similar ao Grails. Assim você tira toda a complexidade do framework e foca no seu problema e não na resolução de dependências e outras coisas do tipo.

No mais, acho que o Grails não deveria ficar com essa responsabilidade de ler a porta Serial diretamente. O que você pode fazer é um script simples (em groovy, por exemplo ou Shell Script caso você esteja no Linux) que disponibilize essa informação de alguma maneira: via TCP ou arquivo texto, por exemplo.

04/06/2013 11:43


1
Veja aí: Mais gente que passou pelo seu problema: http://forum.processing.org/topic/serial-library-in-eclipse
04/06/2013 11:45


0
Segui todo tutoria acima, porem nâo encontra as portas.

Simplismente nâo encontra.



import gnu.io.CommPortIdentifier

import gnu.io.SerialPort

import gnu.io.SerialPortEvent





CommPortIdentifier portId = null
Enumeration portEnum = CommPortIdentifier.getPortIdentifiers()

// iterate through, looking for the port
while (portEnum.hasMoreElements()) {
CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement()

println currPortId


}



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto