8.3.09

Del origen de los fondos

La Universidad Nacional de la Patagonia Austral (UNPA) ha abordado un Proyecto Federal de Innovación Productiva, que consiste en la construcción de un sistema de suministro energético con energía eólica y solar para escuela rural Nº 25 Casimiro Biguá (Pasaje Glencross, Santa Cruz).

El equipamiento a instalar en la Escuela Rural Glencross consistirá un subsistema eléctrico-eólico y otro de tipo solar térmico. El primero consta de 2 aerogeneradores de 1kW de potencia nominal eléctrica, dotados de un generador del tipo imán permanente de 48V y origen nacional. Se incluirá además un banco de baterías de 660Ah en 48V y un inversor capaz de entregar 3.6kW de potencia. La presencia de dos grupos diesel en Glencross, hará necesaria la instalación de una llave conmutadora. El segundo subsistema de tipo solar térmico se conectará en serie con el termo-tanque, y se instalará una llave de bypass para que el sistema pueda replicar el funcionamiento actual ante cualquier problema con el panel o subcircuito.

Es dentro de este marco que estamos desarrollando el software de la placa TS-7260 para llevar a cabo funciones de registro de datos y control de algunas variables. Todo el hardware para el proyecto es provisto por dicha universidad.

14.1.09

Creando .csv

Nos informa correctamente wikipedia.org:

Los ficheros CSV (del inglés comma-separated values) son
un tipo de documento sencillo para representar datos en forma de tabla,
en las que las columnas se separan por comas (o punto y coma) y las
filas por saltos de línea.

El siguiente programa en C muestra como crear un archivo .csv.

#include <stdio.h>
int main()
{
    FILE * fp ;
    fp=fopen("miarchivo.csv","a");
    fprintf(fp,"Dato,");
    fclose(fp);
    return 0;
}



Primero se declara fp como puntero a archivo.
En la segunda línea, se utiliza el comando fopen() para abrir un archivo (si no existe
miarchivo.csv, se crea un nuevo archivo con ese nombre). La opción "a", indica que se debe abrir el archivo para añadir contenido al final del mismo, se pueden ver otras opciones en el link proporcionado o bien tipeando en la consola man fopen.
En la tercera línea se ejecuta fprintf(), para escribir donde apunte fp, en este caso al final del archivo miarchivo.csv. Notese que al final del dato debe agregarse la coma.
Si bien en este caso tan simple no se nota la diferencia, es buena práctica liberar el puntero como se hace en la última línea con fclose(). Esta acción libera el archivo para que pueda ser utilizado por otros procesos y libera recursos del sistema operativo.

El primer programa: "Hola Mundo"

El primer paso a seguir es escribir el programa en algún editor de texto tradicional (en nuestro caso VIM). El archivo holamundo.c tiene un código es exactamente igual a cualquier programa escrito en C:

#include <stdio.h>
int main(){
    printf("Hola Mundo!\n");
    return(0);

}

Luego debemos proceder a la complación del mismo. La compilación se realizará en una PC, la cual tiene una arquitectura diferente al TS-7260. Es por ello que necesitamos realizar una compilación cruzada, utilizando el "Entorno de Compilación Cruzada" (llamado Cross-Toolchain en inglés) provisto por el fabricante.
Descomprimimos entonces el archivo crosstool-linux-gcc-4.0.1-glibc-2.3.5.tar.bz2 que viene en el CD, por ejemplo en el directorio /opt. Para lograr compilar en cualquier directorio en el que estemos parados sin especificar la ruta en la que esta el compilador debemos agregar su PATH al sistema operativo, de manera que el mismo sepa donde buscar el compilador cuando ejecutemos el comando en la consola. Para ello hacemos:

export PATH=$PATH:/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/bin/arm-unknown-linux-gnu-gcc

donde arm-unknown-linux-gnu-gcc es el compilador propiamente dicho.
Ahora nos paramos en el directorio donde este guardado holamundo.c y ejecutamos el comando de compilación:

arm-unknown-linux-gnu-gcc holamundo.c -o holamundo

Tendremos entonces, si todo salio bien, el ejecutable listo para bajar al TS, lo cual podemos hacer con cualquier cliente FTP (nosotros utilizamos gFTP). Nos logueamos en el mismo vía telnet por ejemplo, nos paramos en el directorio donde hayamos bajado holamundo y tipeamos:

./holamundo

Con esto, recibiremos el famoso y alentador mensaje que queremos ver. En la imágen el ejecutable holamundo se llama holas y responde de una manera mas agradable, pero con la misma finalidad.


10.12.08

Comunicación ftp

Para la comunicación FTP se puede utilizar cualquier programa cliente FTP. Aquí se muestra gFTP de Linux.
Como ya mencionamos, el usuario por defecto es root, sin contraseña. Basta con eso y la dirección de IP para establecer la comunicación.
En la captura se ven algunos archivos del directorio root.

6.12.08

Comunicación por puerto serie

La comunicación por puerto serie tiene la ventaja de permitir ver los mensajes de inicialización.
En la imágen se muestra un programa para comunicación serie de Windows, RealTerm, pero hay varios que funcionan correctamente, entre ellos: minicom, cutecom (en Linux) y LKA (en Windows).
Deben especificarse las propiedades de la conexión en el programa terminal, que por defecto son: 115.200 baudios, 8 bits de datos, 1 de parada, sin paridad, sin control de flujo.
Debe estar instalado el jumper J2 en la placa.

Comunicación por ethernet

Una de las formas de comunicarse con la placa es a través de ethernet.
Es fundamental para esto conocer el número de IP de la placa, que por defecto es: 192.168.0.50.
Otra forma de obtener el número de IP es hacer una conexión serie y en la consola utilizar el comando ifconfig cuestión que detallaremos más adelante.
Utilizando el comando telnet 192.168.0.50 (IP de la placa) tanto en la consola de linux como en la de M$ Windows (allí puede ser necesario crear un PATH al directorio donde se encuentra telnet.exe).

Luego hay que tipear el nombre de usuario. Por defecto el único usuario es root y no hay contraseña, esto se puede cambiar y por seguridad es altamente recomendable hacerlo.
Para cerrar la comunicación telnet se utiliza el comando exit.
Vale aclarar que la dirección de IP de la PC debe estar en el mismo "barrio" que la de la placa: los tres primeros números deben ser iguales: en el ejemplo de la imágen la dirección de IP de la placa es 10.0.0.7, la de la PC debería ser 10.0.0.xxx.

3.12.08

Introducción

Este blog se crea con el propósito de documentar paso a paso, la forma de utilizar la placa homónima. No pretendemos cubrir aquí más que algunas aplicaciones particulares que necesitamos utilizar para un proyecto, en una forma orientada a la práctica. Dichas aplicaciones incluyen: manejo de entradas y salidas digitales, interrupciones, manejo de display lcd, manejo de teclado, conversores A/D, interconección con otros modulos a través del puerto de expansión PC/104 (TS-7900 para adquisición de datos analógicos y TS-ISO485 para comunicación RS485).

Dejo el enlace al sitio oficial del producto.