Autor Tema: Un nuevo terminal Serial RS232 (Octoplus - Terminal)  (Leído 36542 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« en: 14 de Julio de 2011, 21:09:47 »
Hola,

Queria compartir con todos un proyecto que hace tiempo tenia en mente y que por fin en estas vacaciones logro empezar y  terminar.

Quiero agradecer de gran manera a JIM, SUKY y BRUNOF por sus aportes a este proyecto.  Sus comentarios y respuesta fueron siempre una gran ayuda en aquellos problemas que se me presentaban por mi poca experiencia en Visual C++.

Para explicar de que se trata esto, les dejo todo acá:






OCTOPLUS
Terminal


Garantías:
Este trabajo se distribuye de forma gratuita sin ningún tipo de retribución económica. No se dará garantía sobre este software de ningún tipo. No nos hacemos responsables por cualquier daño o perjuicio que pueda generar una mala manipulación o instalación de este software.



1.   ¿Qué es Octoplus-Terminal?
En este proyecto la palabra terminal hace referencia a una aplicación o interfaz para PC  que permite de manera grafica enviar, recibir y visualizar datos provenientes de un puerto que implemente el estándar serial COM RS232.  Existe una gran variedad de aplicaciones de este tipo, algunas de ellas son de libre distribución por internet con diferentes niveles de complejidad, versatilidad y robustez.

¿Que se pretende con Octoplus-Terminal?
En el desarrollo de proyectos con sistemas embebidos, toma gran importancia la comunicación por puerto serial entre estos y el PC. En muchos casos existe la necesidad de hacer seguimiento y/o depuración del proyecto que se está realizando, ya que a decisión del programador el dispositivo programable puede enviar cadenas de caracteres que indiquen el estado del proyecto, solicitar datos de configuración que permitan validar contraseñas o infinidad de aplicativos que solo se pueden determinar durante el proceso de desarrollo.  Lo anterior nos describe que se requiere una interfaz grafica instalada en el PC que reciba los datos por puerto serial y los muestre de manera clara, que su configuración no requiera de grandes conocimientos de programación y sea de fácil instalacion.  En Windows®XP se contaba con la aplicación Hyperterminal que es bastante conocida y usada por muchos desarrolladores de aplicaciones, pero que lastimosamente fue dejada de lado en las nuevas versiones de sistemas operativos como Vista o Seven. Esta necesidad nos lleva a crear una solución, una nueva interfaz que cumpla con los requerimientos mínimos para comunicar un MCU, DSP, FPGA, CPLD, DSC, o cualquier equipo programable el PC por puerto COM RS232 y que a su vez incluya algunas mejoras y utilidades que serán de gran ayuda para la visualización de estos datos recibidos.

2.   Instalación de OCTOPLUS-TERMINAL.
OctoplusTerminal es distribuido de manera gratuita bajo un instalador para sistemas operativos Windows®.

Pasos para instalar OctoplusTerminal:

1.   En la carpeta “OctoplusTerminal”, ejecutar  Setup.msi


2.   Determinar lugar donde se quiere instalar aplicación. (Recomendado mantener valor por defecto).


3.   Confirmar Instalación, lo que iniciara el proceso de instalación.


4.   Al finalizar el proceso de instalación, cerrar instalador de aplicación.


En este punto, debe aparecer en el Escritorio el icono de la aplicación OctoplusTerminal.


5.   Abrir ruta donde se instalo OctoplusTerminal y buscar carpeta “EFmJM60 Driver Installer”. Por defecto la ruta de instalación es “C:\Octoplus\Octoplus Terminal”.


6.   Ejecutar “Setup JM60 Bootloader WinUSB Driver Installer”.


7.   Iniciar Instalación de Driver.


8.   Permitir instalacion de Driver.


9.   Esperar proceso de instalación de Driver, hasta que aparece información de cerrar proceso en pantalla.


10.   Iniciar OctoplusTerminal para verificar Instalación.




3.    Interfaz grafica Octoplus-Terminal.









4.    Modulos Octoplus-Terminal.
4.1.   Consola ASCII-HEX

El espacio llamado consola es dedicado a la visualización de datos de entrada y salida por el puerto serial.

4.1.1.   Consola ASCII.
En Consola-ASCII todos los datos son mostrados usando los caracteres ASCII imprimibles, es decir aquellos que van del carácter espacio “ ” que corresponde al número decimal 32 hasta el símbolo “~” que corresponde al número decimal 127).  Los caracteres ASCII no imprimibles tendrán un comportamiento sobre la impresión según el byte recibido, por ejemplo: si se llega a recibir el byte 13 en decimal, este corresponde al código ASCII de retorno de carro (“\r”), lo cual daría como resultado en la Consola HEX un cambio de línea para impresión.

4.1.2.   Consola HEX.
En Consola-HEX todos los datos son mostrados como números hexadecimales. Byte a byte son impresos sin importar si son caracteres ASCII imprimibles o no imprimibles,  lo cual nos permite poder ver en pantalla todos los datos enviados y recibidos por puerto COM. Los caracteres no imprimibles serán resaltados en color VERDE.




4.2.    Osciloscopio de 8 canales.
Esta es una pequeña y sencilla interfaz grafica que permite visualizar a manera de osciloscopio hasta 8 datos de 8 bits cada uno, todos serán visualizados simultáneamente como si de un osciloscopio digital se tratara.  El avance en el tiempo o escala del eje X  es controlado de manera automática, ya que avanzara un punto de la señal cada vez que se recibe un dato valido para el osciloscopio.  La escala de nivel o eje Y sea fijo pues solo se admiten datos de 8 bits ( 0 … 255).

Cada canal será dibujado con un color diferente para su fácil identificación.


4.2.1.    Formato de datos para Osciloscopio.
Octoplus-Terminal en modo osciloscopio trabaja de manera simultánea con la consola ASCII y HEX, lo que permite poder visualizar los datos recibidos en cualquier formato, pero Octoplus-Terminal hace una validación del paquete de dato recibido para garantizar una correcta identificación de dato y canal correspondiente.

Para que los datos sean identificados de manera correcta, se debe enviar una cadena de caracteres ASCII con el siguiente formato:

“Sxx,Txx,Uxx,Vxx,Wxx,Xxx,Yxx,Zxx\r\n”

S  : [Byte=1] Carácter ASCII de letra mayúscula que identifica canal.
xx : [Byte=2] Caracteres ASCII representa el valor en hex que se desea graficar.
,  : [Byte=1] Carácter Ascii separador de dato.
\r : [Byte=1] Representa en número 13 en decimal (retorno de carro).
\n : [Byte=1] Representa el número 10 en decimal (nueva línea).

NOTA: La cadena enviada debe respetar la cantidad de caracteres  nombrados anteriormente, así como las mayúsculas.

Ejemplo:
Si se desea grafica en el osciloscopio los valores decimales  10, 20, 30, 40, 50, 60, 76, 80, se debe enviar la siguiente cadena de texto:

“S0A,T14,U1E,V28,W32,X3C,Y4C,Z50\r\n”




4.3.   Indicadores Lineales, Angulares y de Temperatura.
Estos indicadores permiten una visualización rápida y clara de datos. Son de gran utilidad en aplicaciones de lectura de sensores análogos y digitales desde sistemas embebidos.


4.3.1.    Formato de datos para Indicadores.
Octoplus-Terminal en modo indicador trabaja de manera simultánea con la consola ASCII y HEX, lo que permite poder visualizar los datos recibidos en cualquier formato, pero Octoplus-Terminal hace una validación del paquete de dato recibido para garantizar una correcta identificación de dato e indicador correspondiente. Esta validación es exactamente la misma que la realizada para el osciloscopio.

Para que los datos sean identificados de manera correcta, se debe enviar una cadena de caracteres ASCII con el siguiente formato:

“Sxx,Txx,Uxx,Vxx,Wxx,Xxx,Yxx,Zxx\r\n”

S  : [Byte=1] Carácter ASCII de letra mayúscula que identifica canal.
xx : [Byte=2] Caracteres ASCII representa el valor en hex que se desea graficar.
,  : [Byte=1] Carácter Ascii separador de dato.
\r : [Byte=1] Representa en número 13 en decimal (retorno de carro).
\n : [Byte=1] Representa el número 10 en decimal (nueva línea).

NOTA: La cadena enviada debe respetar la cantidad de caracteres  nombrados anteriormente, así como las mayúsculas.

Ejemplo:
Si se desean visualizar los valores decimales  10, 20, 30, 40, 50, 60, 76, 80, se debe enviar la siguiente cadena de texto:

“S0A,T14,U1E,V28,W32,X3C,Y4C,Z50\r\n”



4.4.   Programador para modulo EFmJM60 y EMm47J53.
Esta es una aplicación adicional muy específica. Lo que se pretende con este modulo es programar de manera rápida y fácil los modulo auto-programables diseñados, fabricados y distribuidos por la empresa OCTOPLUS.




Una vez conectado el modulo EFmJM60 o EMm47J53 al puerto USB y llevado a modo programador, Octoplus-Terminal detecta el dispositivo y habilita el botón de programación correspondiente para buscar el archivo .S19 o .hex según modulo detectado.
Una vez programado de debe dar RESET al dispositivo para probar el funcionamiento del proyecto programado sobre el microcontrolador.



5.   Registro de Datos.
En Octoplus-Terminal existen 3 hojas en las cuales se imprime  información para el usuario.  Cuando Octoplus Terminal inicia, revisa la existencia de 3 archivos de extensión .rtf sobre los cuales se escribe y guarda información. De no existir estos archivos, serán creados  y guardados al finalizar la sesión. No se debe cambiar el nombre y la ruta por defecto de estos archivos.

5.1.   DataLog.
En Octoplus-Terminal se cuenta con una ventana llamada Session Log, en ella se imprimen todos los eventos ocurridos durante una sesión. Errores, apertura y cierre de puerto COM, detección de módulos EFmJM60 y EMm47J53.  

5.2.   ConsolaLog.
Es en este espacio se visualizan los datos que llegan y salen por el puerto COM en formato ASCII.

5.3.   ConsolaHexLog.
Es en este espacio se visualizan los datos que llegan y salen por el puerto COM en formato HEX.

Con esta función de Octoplus-Terminal se podrá convertirse en un sistema que registre de manera permanente los datos que llegan por puerto serial y almacenarlos en un archivo de texto para posterior análisis.

Los datos solo son almacenados cada que el usuario lo desee usando el botón Guardar Consola o al finalizar sesión. También puede modificar el texto en Consola usando Borrar Consola, Cambiar Fuente Consola.




DESCARGA INSTALADOR
« Última modificación: 14 de Julio de 2011, 22:05:05 por LABmouse »

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #1 en: 14 de Julio de 2011, 21:39:27 »
Hola.

Pues ... hombre .... en estos casos solo se puede decir: ESPECTACULAR!!!! Muy buen trabajo amigo LABmouse!!!  :-/ :-/ :-/ :-/ es muy buena herramienta.

Saludos
El papel lo aguanta todo

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #2 en: 14 de Julio de 2011, 21:50:16 »
Excelente! Gracias

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #3 en: 14 de Julio de 2011, 22:26:19 »


Muy buena la aplicacion, Felicidades!! :-/ :-/



Descargando y a probar...
"Nada es imposible, no si puedes imaginarlo"

Desconectado vdiazg

  • PIC12
  • **
  • Mensajes: 68
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #4 en: 14 de Julio de 2011, 22:59:09 »
Que barbaro, es EXCELENTE !!!!!

 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
quiero construir un "Condensador de flujos"

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #5 en: 15 de Julio de 2011, 03:00:21 »
Te quedó precioso, Ernesto. Mi más sincera enhorabuena y el mayor agradecimiento por compartirlo.

Desconectado barral

  • PIC10
  • *
  • Mensajes: 37
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #6 en: 15 de Julio de 2011, 04:01:59 »
 :shock: Genial trabajo. Muchas gracias por compartir este programa.

Felicidades. :-/ :-/

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #7 en: 15 de Julio de 2011, 08:50:18 »
Excelente trabajo!!
Para cuando la venta??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #8 en: 15 de Julio de 2011, 09:36:56 »
Muy buena interfaz. Quedó espectacular.  :-/

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #9 en: 15 de Julio de 2011, 11:33:07 »
Hola amigos, muchisimas gracias por sus palabras de agradecimiento y felicitaciones... Es de verdad culminar algo que en mente tenia hace muchos meses atrás, con lo que siempre pedia de un programa terminal.

Tal vez quede para una versión 2.0 la opción de RS485 y control de señales como DTR, RTS, CTS, etc.

Por ahora estoy muy contento con el resultado, ademas quería que fuera con una interfaz gráfica agradable y moderna.


Me gustaría que lo probaran, enviaran datos y me comentaran sus apreciaciones, que hace falta y así lo mejoramos cada vez mas para todos.

Muchas gracias amigos!





Excelente trabajo!!
Para cuando la venta??

No amigo, el programa es gratis, pero los módulos EFmJM60 y EMm47J53 si están a la venta.  :)

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #10 en: 15 de Julio de 2011, 12:39:48 »
 :-/ gracias ernesto..bajando y mañana probando
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #11 en: 15 de Julio de 2011, 14:33:15 »
Ernesto: no te cabe otro adjetivo: ANIMAL!!!
Te felicito!!!! y gracias!!!

 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado brutto

  • PIC10
  • *
  • Mensajes: 44
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #12 en: 15 de Julio de 2011, 16:17:53 »
impresionante, felicidades!

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #13 en: 15 de Julio de 2011, 16:37:44 »
Ernesto, espectacular la aplicación, muchas gracias por compartirla.

Saludos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Un nuevo terminal Serial RS232 (Octoplus - Terminal)
« Respuesta #14 en: 15 de Julio de 2011, 19:12:50 »
Felicitaciones por el excelente trabajo!!! Es una contribución enorme para todos nosotros!
Me gusto mucho el tema de las gráficas, yo siempre q quiero representar datos gráficamente tengo q andar programando algo en processing, ya no más!! jaja
saludos y gracias!! :D

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein


 

anything