General

Comunicar 2 PC´s por puerto serie con Visual Basic 2005

Vamos a comunicar a 2 PC´s por medio del Puerto Serie a travez de un sencillo programa hecho en Visual Basic 2005. Esta vez no utilizaré Java debido a que el api para manipular el puerto COM no trae soporte para Windows (ya saben como Windows le gusta bloquear y hacer las cosas más dificiles para otros que no sean de su familia), unicamente trae soporte para sistemas Linux, Solaris.

MATERIAL REQUERIDO

Para hacer esta comunicación, necesitaremos un cable serial hembra-hembra. Para conseguirlo, podemos hacerlo desde cero o si ya disponemos de un cable serie macho-hembra, podemos cortar el extremo macho. Posteriormente, es necesario hacer un cruce.

Tomamos un Multimetro para medir la continuidad del cable, tomamos una punta y la metemos en el pin numero 1 del conector hembra DB9, la otra punta del multimetro la probaremos en cada uno de los cables del otro extremo hasta que exista continuidad, de tal forma que en mi caso, obtuve:

  1. Negro
  2. Blanco
  3. Rojo
  4. Naranja
  5. Amarillo
  6. Verde
  7. Azul
  8. Morado
  9. Gris

En el extremo que cortamos, vamos a cruzar el cable 2 y 3. Entonces tomamos un conector DB9 y comenzamos a soldar los cables, teniendo en cuenta el cruce, es decir, el cable 2 lo soldaremos en el pin 3 del DB9 y el cable 3 en el pin 2. Por último medimos nuevamente la continuidad entre ambos extremos, pero ahora cuando en un extremo midamos el pin 2, en el otro extremo tendremos que medir el PIN 3 y viseverza.

Como una simple prueba, podemos enviar datos desde el DEBUG. Inicio–Ejecutar y escribimos DEBUG. Ahora escribiremos la Instrucción OUT:

– O 03F8 A5

Previamente deberemos verificar que 3F8 es en efecto la dirección del Puerto COM1. Una vez que ya estamos seguros en la dirección del Puerto, ya podemos probar con la instruccion anterior. A5 es un valor Hexadecimal que enviamos.

Luego, desde la otra PC, abrimos también el DEBUG y teclearemos la instruccion IN:

– I 03F8

Con esto, leeremos el valor que enviamos desde PC 1. Luego desde esta PC 2, enviamos un valor y ahora vamos a la otra PC 1 y recogemos el dato. Si todo salio correcto, ya estamos listos para pasar al siguiente paso.

El ejercicio consistirá en que desde la PC 1 enviemos datos aleatorios, con la particularidad de que se envie un cierto «codigo» que simule un equipo del 1 al 6 y que desde la PC 2 observemos el valor de ese equipo. Es decir, si desde la PC 1 enviamos el valor «5368» en la PC 2 recogeremos ese valor y tomaremos el primer digito que es 5 correspondiente el Equipo 5 a simular con un valor de 368. Luego entonces, estableceremos el 368 como valor de un ProgressBar que corresponda al Equipo 5.

Entonces, necesitamos dos programas, uno que enviara los datos, y otro programa que los reciba. El que recibe los datos, constará de un formulario con 6 ProgressBar, de esta forma, la PC1 estará enviando datos cada segundo, la PC2 los estará recibiendo e ira «graficando» en los ProgressBar dicho valor, según el número de equipo corresponda.

El código referente al programa que enviará los datos es:

Ahora, el otro programa que deberemos ejecutar en la PC que reciba los datos, es como sigue:

Dicho código debe ir en el evento Tick de un Timer. Obviamente, en el evento Load y Closing del Formulario deberemos poner el mismo codigo para abrir el Puerto COM1. Ah y por si no se han dado cuenta, hay que agregar los 6 ProgressBar en el formulario.

Finalmente ya solo resta ejecutar el programa que enviará los datos y luego ejecutar el que los recibirá y listo!!! Ya tenemos a dos computadoras comunicandosé por el puerto serie mediante un sencillo programa que hemos hecho en Visual Basic 2005.

Reciban un cordial saludo!!

13 comentarios en “Comunicar 2 PC´s por puerto serie con Visual Basic 2005

  1. k onda? oskar y? k haciendo? aun kon tu pagina? pss solo paso a saludart… jaja ya k no tienes hi5… para dejart un post… sale k estes bien… oye como sugerencia me han pedido demasiados programas de hilos.. en java… avientat un post kompleto de ellos… para k los mand kontigo…

  2. …una pregunta, ¿no se configuran vecidades de los puertos etc?…¿no agregas DLL? Puedes poner el codigo completo.
    Saludos y gracias.

  3. esta aplicacion es muy util para los que estamos aprendiendo a desarrollar software. ME PODRIAS ENVIAR EL CODIGO COMPLETO POR FAVOR

Replica a hasllier32 Cancelar respuesta