[Ayuda] Aplicación Java usando librería C# ?

BaSiLiSKo

Buenas, estoy intentando desarrollar una aplicación en java para lectura de contadores eléctricos, el caso es no tengo aún los conocimientos para completarla por mi cuenta (hace poco que acabé DAM).

Para la parte de la conexión he encontrado una librería C# , y por lo que he estado investigando, existe un framework en Java, JNI , con el que se puede usar código escrito en C / C++ , y supongo que también C#.

La librería no he podido probarla en C#, ya que no tengo ni idea , y digamos que voy escaso de tiempo.

Alguien tiene conocimientos o puede ayudarme con JNI para usar C# ? aunque toda ayuda es bien recibida, en principio mi idea es desarrollar la app en Java, porque es el lenguaje que "conozco".

Gracias y un saludo.

Traber

Mi pregunta es por qué en vez de hacerlo en Java usando una librería de C# con JNI, no usas directamente C#, la sintaxis no es muy distinta de Java y la transición de un lenguaje a otro no es difícil.

2 1 respuesta
Soltrac

Directamente no vas a poder llamar a c# desde java hasta donde yo se. Tendrías que crear un intermediario en C++ (una Managed C++ DLL) que llame a la librería de c#, y llamar a esa DLL de C++ con JNI. Pero ya te digo, si no tienes ni idea, complicado.

2 respuestas
revol360

Te recomendaría que no te montes una macedonia de tecnologías para un proyecto sencillo.. Ve a lo más fácil, sobre todo al principio.

Desconozco si los contadores los tienes conectados por USB a un equipo, o bien son wireless, dependiendo de la conexión podrás acceder a ellos de una manera u otra. Por ejemplo, si los tienes conectados por USB, tienes la dependencia usb4java (https://github.com/usb4java/usb4java) , con la cual podrás obtener y tratar la información que necesitas de estos. Si das mas información tal vez te podamos echar una mano.

1 respuesta
BaSiLiSKo

Buenas,

#2 en principio la idea era Java porque tengo algo más de conocimiento , echaré un vistazo tal como dices a C# si no es muy diferente

#3 es la duda que tenía, ya que he visto varios ejemplos usando JNI para C y C++ , pero no había encontrado nada para C#, quizás por lo que comentas, que es necesario crea un intermediario desde C++

#4 La conexión a contadores se hace mediante TCP/IP y RS, ya que están conectados por modem , y los contadores usan el protocolo IEC60870-5-102

He visto alguna aplicación similar a lo que busco por internet, pero no es exactamente lo que necesito (estoy de practicas en una asesoría energética) , y más que nada el desarrollar esto, es por aprendizaje y reto.

Gracias !

2 respuestas
PiPePiTo

#3 *me pongo el sombrero de project manager.

"Eso parece una tarde de trabajo y ya, no?"

xDDDD me he agobiado leyendolo.

r2d2rigo

#5 por suerte para ti C# es Java sin las malas decisiones que hacen que apeste, cuando lo pruebes no vas a querer volver atras.

1 1 respuesta
Soltrac

#7 Como te escuche desu te va a dar palmaditas en el culo por niño malo.

revol360

#5 Bien, una vez conocemos la conexión, revisa el fabricante de los contoladores. Muchos fabricantes de autómatas como omron, samsung, etc.., publican sus propias librerias para poder consumir la información de los dispositivos.

Otra vía, a través de un web socket, puedes comunicarte con el dispositivo si conoces la IP de los contadores.

1 respuesta
BaSiLiSKo

#9 La IP y tal de los contadores la conozco, de hecho los monta la propia empresa , pero mi problema está en lo más básico supongo, que es desarrollar la conexión a los contadores :sweat_smile: y bueno, lo que comentas del web socket, no tengo ni idea.

1 comentario moderado

Usuarios habituales

  • EmpleaTMalta
  • BaSiLiSKo
  • revol360
  • Soltrac
  • r2d2rigo
  • PiPePiTo
  • Traber