2010-10-01 10 views
5

Voy a necesitar integrar una aplicación de Java que escribí con un dispositivo médico que utiliza un puerto serie para las comunicaciones. Este dispositivo es bastante caro y tampoco tan portátil.Recomendaciones para un dispositivo de serie económico

Me gustaría poder probar el código donde sea que esté, pero solo puede hacer mucho antes de que tenga que conectar su dispositivo serie y comenzar las pruebas.

Por lo tanto, estoy buscando un dispositivo electrónico portátil y barato que utiliza un puerto serie para la comunicación. Solo necesita comunicarse de una manera (es decir, solo necesito recopilar datos de ella). De esta manera, puedo estar sentado en mi cafetería local, enchufar mi conector de serie a USB, conectar este dispositivo misterioso y comenzar a recibir datos.

EDIT:
Para aquellos interesados ​​en mi extraña situación, estoy conectando a una escala Tanita TBF-300A
web site
comunicación estándar: EIA RS-232C compatible
método de comunicación: asíncrono
Velocidad de transmisión: 2400 bps
de datos 7 bits de longitud
paridad: par
Bit de parada: 1 bit

Alguien escanea un código de barras, los pasos en la escala, y mi programa alimenta la información en una base de datos de la siguiente manera:
de Adobe AIR -> blazeds -> Java -> hibernación/muelle -> HSQL File-DB

Mi Supongo que voy a escribir una aplicación java que tome la información del puerto serie y la redirija a un puerto TCP que mi aplicación de aire puede escuchar. Esta es mi suposición, por ahora.

+0

¿Es ese dispositivo que usa el protocolo TAP por casualidad? – Freiheit

+0

@Freiheit No, pero TAP ciertamente parece interesante. Ver arriba para más información. – Stephano

+1

Nos estamos desviando del tema un poco, pero hice un trabajo similar. Creé un daemon Java para manejar las comunicaciones en serie y obtuve TODOS los datos del dispositivo serie para una transacción dada a la vez y luego realicé una llamada REST al servicio web para que mi aplicación realmente procesara y almacenara los datos reales. Si puede capturar sus datos de una vez, este es un mejor modelo. Si necesita confirmar el código de barras con un ACK, es posible que necesite algo un poco más hablador. RXTX es una buena biblioteca en serie: http://rxtx.qbang.org/wiki/index.php/Main_Page – Freiheit

Respuesta

6

Es posible que desee mirar com0com. Esto le permite crear puertos COM virtuales en su computadora y conectarlos en pares. Con esto, puede escribir una pequeña aplicación de prueba que emule el comportamiento de su "dispositivo misterioso" y escriba datos en uno de estos puertos COM virtuales, y que su otra aplicación lea datos del otro puerto COM.

Con esta configuración puede realizar cualquier prueba que no requiera enchufar el equipo médico real, sin adquirir ningún dispositivo externo. Para su aplicación, se verá como un puerto COM real.

Editar:

com0com es sólo para Windows, pero aquí hay algunas alternativas para plataformas que no son Windows:

+0

Idea interesante ... Estoy programando en una Mac y mi otra máquina ejecuta Ubuntu. ¿Esto todavía me funcionaría? – Stephano

+1

com0com sí mismo está basado en Windows, pero puede hacer lo mismo en Linux (por ejemplo, http://www.dest-unreach.org/socat/) y Mac (por ejemplo, http://members.iinet.net.au/~ mgl/MartysPlace/MultiCom.html). – Grodriguez

+0

+1 Awesome idea. Gracias por todos los enlaces y la información! – Stephano

0

¡Estoy bastante seguro de que ya tienes una computadora!

Hay cables usb a serial que pueden hacer el truco. Simplemente haz un bucle desde tu puerto serie de la placa base a un puerto usb.

+0

Tengo un cable USB a serie, pero no tengo un dispositivo portátil que envíe información por ese cable a mi computadora. Esa es la parte que quiero probar, recibir la información. – Stephano

1

Es posible que vea algún tipo de placa de desarrollo del Microcontrolador. Un Arduino o un MSP430 probablemente se ajuste a la factura. Tendrá que escribir una pequeña cantidad de código para ello, pero podría hacer que envíe exactamente lo que desea.

+0

+1 Miré en Arduino pero no en el MSP430. Gracias por el enlace! – Stephano

Cuestiones relacionadas