jueves, 31 de enero de 2013

How to... Como trabajar con el puerto serie en C# (II)

En la entrada anterior (aquí) vimos como tener disponible un puerto serie en nuestra aplicación. Ahora vamos a comenzar a trabajar con él. Lo primero que tenemos que hacer para poder empezar a leer de un puerto serie es abrirlo. Para ello:
serialPort1.Open();
Una vez abierto, sino tenemos problemas tenemos que empezar a leer de el. Para ello tenemos un evento que cada vez que entre algo por dicho puerto nos salta. Ahí podremos realizar la tarea que nos interese. Para establecer dicho evento tenemos que seleccionar nuestro puerto serie y hacer doble click en el evento que queremos establecer.

Nos creará el siguiente trozo de código de forma automática en nuestra aplicación:

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            try
            {
            }
            catch (TimeoutException) { }
             
        }

Dentro del try podemos hacer lo que queramos con lo que estamos recibiendo. Si por ejemplo queremos pintar por consola lo que entra podemos hacer:

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            try
            {
                 string message = serialPort1.ReadLine();
                 Console.WriteLine(message);
            }
            catch (TimeoutException) { }              
        }

Espero que os sirva!!


miércoles, 30 de enero de 2013

How to... Como trabajar con el puerto serie en C# (I)

En C# es muy fácil trabajar con el puerto serie. En este caso es tan sencillo como arrastrar un componente a nuestra aplicación y ya tenemos un puerto serie disponible para trabajar con él.
Para ello tenemos en el Cuadro de herramientas un componente del tipo SerialPort. Una vez que lo añadimos a nuestra aplicación veremos que se nos añade en la parte inferior. 


Si lo seleccionamos y nos vamos a la barra de propiedades vemos que tenemos todas las características propias de un puerto serie como son la velocidad, los bits de datos, bits de paridad, bit de parada y algunas características más. 

Ahora si queremos referirnos a él en el código, tenemos que usar el Name, en este caso y a no ser que lo cambiéis serialPort1.

martes, 29 de enero de 2013

Como escribir en consola en C#



Estas semanas he estado haciendo unas cosas en C# para leer del puerto serie, decodificar unos mensajes AIS de una radiobaliza, leer de un GPS y alguna cosa más. En los siguientes días comentaré un poco todos estos temas para tenerlos anotados.

Lo primero, y lo más básico, con lo que me pelee fue con sacar mensajes por consola en C#. Para ello metemos lo siguiente en nuestra clase:
 public class Win32
        {
            [DllImport("kernel32.dll")]
            public static extern Boolean AllocConsole();
            [DllImport("kernel32.dll")]
            public static extern Boolean FreeConsole();
        }

Y ya podemos en el código hacer llamadas con:
Win32.AllocConsole();
Console.WriteLine("Leyendo datos del puerto serie 1");
Espero que os sirva!!

miércoles, 23 de enero de 2013

How to ... Como instalar DoCASU

DoCASU es un cliente ligero para Alfresco que permite simplificar el uso de Alfresco para los usuarios finales desarrollado por Optaros, uno de los partners más importantes de Alfresco. Alfresco provee mucha información sobre los documentos con lo que trabaja una organización pero puede que esta sea demasiada para cierto tipo de usuarios. 
Es una pena que desde Optaros no se hayan decidido por liberar nuevas versiones ya que la última disponible es la 1.6 que solamente funciona con Alfresco 3.2. Podéis consultar una guía sobre como instalarlo aquí. Una vez que tenemos Alfresco funcionando nos bajaremos DoCASU del siguiente enlace. Cuando lo descomprimimos vemos que tenemos un fichero .amp que tenemos que añadir al war de Alfresco para volver a desplegar. Pero no te asustes, es un proceso sencillo. Lo primero es mover el fichero al directorio /opt/Alfresco/amps/
A continuación tenemos que usar la librería alfresco-mnt.jar para añadir el paquete amp de docasu al war de Alfresco. Para ello desde /opt/Alfresco ejecutamos
java -jar bin/alfresco-mnt.jar install amps/docasu-1.6.3-alfresco-3.amp tomcat/webapps/alfresco.war
Ahora tenemos que borrar la carpeta alfresco de /opt/Alfresco/tomcat/webapps/ para que cuando Alfresco arranque vuelva a desplegar el war. Arrancamos Alfresco y vamos a la siguiente URL para ver nuestro DoCASU desplegado:
http://dirección IP:8080/alfresco/wcs/docasu/ui
Lo que veremos será algo como:

 
Esperemos que os haya servido y si neceitas cualquier cosa, aquí estamos!!