miércoles, 22 de diciembre de 2010

Acceso Remoto a la data de una Estación Davis con Weatherlink USB a través de Internet (II parte)

1. Introducción

Como se mencionó en el post anterior la finalidad de este documento es acceder a la base de datos de una estación Davis Vantage Pro con registrador USB. En este doscumento abordaremos el tema del acceso a la data de la estación de forma indirecta, es decir no con los datos en vivo sino un acceso manual o programado.

Para tal proposito nos valdremos de una herramienta muy util en la transmision de archivos entre equipos con redes TCP: el FTP.

2. FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos)

Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.


2.1 Servidor FTP


Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.

Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).


2.2 Cliente FTP

Cuando un navegador no está equipado con la función FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitará utilizar un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.

Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.

Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.

3. Sincronización de la data de una estación

La sincronización consiste en actualizar de manera manual o programada la data de la estación con el servidor FTP y/o una PC remota.

Por lo tanto el sistema consistirá de dos etapas complementarias:

- En la primera etapa la PC que adquiere la data de la estacion central enviara a un servidor FTP a traves de un programa cliente los archivos de la base de datos *.wlk del software Weatherlink.

- En la segunda etapa una pc remota descargará los archivos desde el servidor FTP por medio de un programa cliente hacia una carpeta accesible al software Weatherlink instalado en tal PC.


Cliente FTP
Para cualquiera de los dos casos el tutorial se hará con referencia al software de sincronización GoodSync para Windows que servirá como programa cliente FTP, cuya caracteristica principal es la automatizacion de cualquier tarea de sincronización de carpetas ya sea en una PC, en una red local o con un servidor FTP.
En este enlace se desarrolla un pequeño tutorial del uso del programa.

http://www.goodsync.com/es/tutorial.html 

Sevidor FTP
Existen muchos servicios web que ofrecen alojamiento FTP gratuito y de pago, Para el tutorial se registro el servicio de hosting gratuito "000webhost.com", dado que ofrece ciertas ventajas como disco duro vistual con 1.5 GB de almacenamiento y subida de archivos sin restricción de formatos (algunos servidores gratuitos solo adminten cierto tipo de arcchivos).

3.1 Primera Etapa: PC central a Servidor FTP.
Para el caso se ha creado una estación Weatherlink con nombre "001" que se descarga automaticamente cada hora, por defecto se crea una carpeta con el nobre de la estación en la misma ruta del programa p.e "C:\WeatherLink\001" esta carpeta se sincronizará con nuestro servidor FTP cuya ruta creada para este caso será "/public_html/001", tal como se muestra en la imagen tomada del navegador Firefox con cliente FTP add-on Fireftp.
Una vez que ya hemos creado nuestras carpetas a sincronizar ingresamos al GoodSync. El sistema nos pide el nombre de la tarea a automatizar en este caso ponemos "estacion001" y en tipo seleccionamos "sincronizar".


Aceptados los parametros anteriores se nos pide ubicar las carpetas a sincronizar empezando por la izquierda que sera la de la estación central.



Seleccionada la estación central se nos pide la carpeta derecha a sincronizar.
 

Configuración Automática

Hay varias configuraciones automáticas que puede elegir. Usted sólo necesita definir una vez su tarea de sincronización y GoodSync sincronizará automáticamente sus archivos de acuerdo a su programación y configuración.

Paso 1: Seleccione Tarea >> Opciones para abrir el menú de configuraciones opcionales.



Paso 2: Haga clic en "Auto" y seleccione la configuración automática que se adapte a sus necesidades.










GoodSync sincronizará ahora automáticamente sus archivos basándose en su configuración.
 

Crear una nueva tarea


Paso 1: Una vez iniciado GoodSync, elija Tarea >> Nueva.



Paso 2: Elija un nombre para su tarea y haga clic en Aceptar.



Paso 3: Ahora puede regresar a Configuración Básica para sincronizar sus archivos.

martes, 21 de diciembre de 2010

Acceso Remoto a la data de una Estación Davis con Weatherlink USB a través de Internet (I parte)

1.-INTRODUCCIÓN
En muchas ocasiones nos encontramos en la situación en que se requiere obtener la data de una estación Vantage Pro, vía comunicación remota. Como se sabe existen instrumentos físicos (Hardware) que solucionan este problema como son los módems seriales y el datalogger IP (WEATHERLINKIP) por mencionar algunos.

Se sabe además que el software Weatherlink permite la subida de plantillas graficas y reportes a través de su utilidad "internet settings", donde a través de una interfaz html podemos publicar vía FTP nuestra estación por internet; pero dado que el caso es acceder a la base de datos *.wlk de la estación esta herramienta no es útil para tal propósito.



La finalidad de este documento es proponer alternativas de solución al acceso y/o sincronización de la data vía remota de una estación con datalogger USB y con conexión a internet. En este caso es necesario tener conectada la consola con datalogger USB a una PC y está a su vez a la línea de Internet. Existen dos maneras de acceder remotamente a la base de datos de la estación Davis Vantage Pro:


2.-DIVISOR (SPLITTER) DE PUERTO SERIAL.
Muchos usuarios se encuentran con la limitación de que el registrador de datos Weatherlink sólo puede interactuar con una PC a la vez y con sólo un programa (Weatherlink) que se ejecuta en esa PC. Como resultado, normalmente sólo un único programa específico puede tomar una transmisión en vivo de los datos meteorológicos de la consola en un momento dado. Por supuesto, para muchos usuarios esta no es una limitación material porque un programa individual / PC responderá plenamente a sus necesidades. Sin embargo, otros pueden tener requisitos más avanzados, por lo general por una de dos razones:
  • Es generalmente aceptado que ningún programa compatible con la Vantage Pro es perfecto. Algunos programas pueden proporcionar ciertas características, pero otras características pueden faltar por completo. Programas de la competencia puede tener gráficos de vanguardia, pero carecen de funciones más completas, por ejemplo. Sería atractivo diseñar una única página web que puede combinar la producción muy flexible y detallada de un programa, con gráficos de alta calidad de otro, por ejemplo.
  • Un número creciente de usuarios ahora disponen de redes de área local o remota, es decir, dos o más ordenadores conectados entre sí. Tales usuarios pueden utilizar estas redes para ver en directo los datos de la Vantage Pro en dos o más de estos equipos al mismo tiempo.
Como se ilustra en el gráfico a continuación, un software divisor de puerto serial puede abordar estos dos tipos de requisitos mediante la aceptación de la fuente de datos directamente desde el datalogger Weatherlink y la transmisión de ésta a varios dispositivos de salida de una manera muy controlada y robusta. Varios programas que se ejecutan en el mismo PC pueden acceder mediante la configuración de un puerto COM virtual como canal de salida. Cada programa, entonces toma su entrada desde otro puerto Vcom (puerto serial virtual).



Programas que se ejecutan equipos diferentes en una red privada se pueden configurar para recibir en directo los datos de la Vantage pro a través de una conexión TCP / IP como puerto virtual en el PC que está directamente relacionada con el datalogger. Es posible, incluso, en principio, poder descargar datos en tiempo real a un PC remoto a través de Internet con una PC con IP publica estática, o en todo caso accediendo con un servicio de DNS dinámico.
subir

2.1.¿Cómo Hacerlo?
Existen varias utilidades (software) que pueden realizar la tarea de división de un puerto serial en otros virtuales, los hay gratuitos y de pago, normalmente los gratuitos tienen el inconveniente de su excesiva complejidad a la hora de programarlos con no muy buenos resultados, en cambio los sharewares vienen con herramientas dedicadas para tal finalidad. Dos de los más conocidos programas para su uso como splitter de puertos son el Virtual VP y el GPSgate.

Este tutorial se hará con referencia al uso del software GPSgate, un software con una interfaz muy sencilla, para que en pocos minutos se pueda establecer una comunicación entre distintos programas o distintas redes con la estación Davis Vantage Pro.

Cabe mencionar que antes de utilizar este software debemos utilizar la consola de la estación con datalogger USB emulando un puerto serial a través de su utilidad "CP210X USB to Serial Converter" ubicados en el acceso directo del programa Weatherlink en el menú inicio.









Una vez realizado este paso y teniendo conocimiento del puerto que se le ha asignado a nuestra estación procedemos a configurar el Gpsgate

Ingresamos al gpsgate en el menú inicio.


El programa consta de tres pestañas:

Input (Puerto de entrada):
Aquí se configura el puerto de entrada (solo uno) de datos de la estación como pueden ser un puerto serial asignado a la estación (COM port) o una dirección IP si una estación remota está conectada a una red con protocolo TCP (TCP/IP client).


Output (puerto de salida)
Aquí se configuran los diferentes puertos virtuales de salida de nuestra estación como pueden ser otros puertos seriales (COM 10, 11, etc.) o direcciones IP para equipos remotos que quieran conectarse con nuestra estación.


Advanced (configuración avanzada)
En esta pestaña administraremos nuestras conexiones.

subir

3.-CASOS PROPUESTOS

3.1.-Varios programas compatibles con la estación Vantage Pro accediendo a la consola.
Como se mencionó al comienzo del este ítem, existen diversos programas además del Weatherlink, compatibles con las estaciones Vantage Pro, como por ejemplo el "Weather Display", "Virtual Weather Station", "WVIEW", etc., que traen diversas ventajas con respecto al software original de Davis. La idea de este arreglo es que estos programas ejecutados a la vez puedan acceder al datalogger de la estación.



CONFIGURANDO EL GPSGATE.

Input


En este caso la entrada seleccionada será un puerto COM, accedemos a su configuración en settings,




Aquí colocamos el puerto serial previamente establecido para nuestra estación con la velocidad correcta y sus parámetros correspondientes. Una vez realizado esto aceptamos y pasamos a las salidas.

Output


Como trabajamos en la misma PC, y nuestros programas de administración de datos meteorológicos reciben datos vía serial seleccionamos tantos puertos seriales (COM), como programas necesitemos ejecutar.
En Add adicionamos los puertos:



Una vez asignados los puertos estos se van colocando en la bandeja de salidas activas del gpsgate.



Terminadas de configurar las salidas ya estamos listos para abrir el puerto de entrada de datos de la estación.



Damos clic en "Open" para activar la entrada de datos nos da el mensaje "Runnig OK".



Una vez hecho esto configuramos los puertos de comunicación de los programas que acceden a la consola asignándoles el puerto de salida de la bandeja del gpsgate.

Por ejemplo: con el weatherlink. Si en la bandeja de salida del Gpsgate existe un puerto COM6 este servirá para asignarlo al puerto de comunicación del Weatherlink, el cual detectara una estación en ese puerto.



Para el caso del "Weather Display"



Así se irá configurando cada programa que desee acceder a la consola de la estación asignándole un puerto COM libre de la bandeja de salida del Gpsgate.


Aquí se muestran las dos aplicaciones accediendo a la estación simultáneamente.
subir


3. 2.ACCEDIENDO A LA ESTACIÓN DESDE UNA RED LOCAL Y/O REMOTA

3.2.1 RED LOCAL
Para el caso de una red local la configuración no es demasiado compleja solo basta saber las direcciones IP locales tanto de la maquina servidor como de los clientes.




Configurando la estación servidor:
Ingresamos al gpsgate en input colocamos el puerto COM ya establecido por la estación, en este caso el COM3 como el caso anterior.



Para el caso de la salida (output), el puerto a configurar será un "TCP/IP SERVER" debido a que la salida será por una red local. Luego damos "Add", para configurar el puerto de salida de la red.



Por defecto el programa trabaja con un puerto TCP "20175", este puerto debemos abrirlo en nuestro router para que acepte conexiones salientes, a través de la utilidad "Virtual Server" o NAT presente en la mayoría de routers para acceso a red.

Este es un ejemplo del router ZTE de Telefónica al cual se la abierto el puerto 20175 para conexiones TCP.



Ingresando al botón "Network" del gpsgate configuramos la dirección TCP/IP necesaria para emular la salida de la estación.



Aquí colocamos el adaptador de red presente en nuestra PC servidor y su dirección IP local.

Una vez realizado esto aceptamos ya estamos listos para configurar las estaciones cliente que accederán a nuestra estación.

Una práctica recomendable es prefijar la dirección IP local de nuestra maquina servidor en la configuración de nuestra adaptador inalámbrico. De esta forma no tendremos problemas con el DHCP de nuestro router o de nuestra red, que asignan una dirección automática diferente cada vez que se enciende nuestra maquina.



Configurando la estación cliente:
Aquí haremos lo inverso de la configuración del servidor, es decir como entrada pondremos una dirección TCP/IP (la del servidor) y como salida un puerto serial COM emulado para que acceda al software WEATHERLINK u otro que queramos utilizar.

Para la entrada (input) ingresamos TCP/IP CLIENT, e ingresamos a su configuración en "settings"

En server colocamos la dirección del servidor o host al que estamos accediendo, y en port, el mismo puerto que configuramos anteriormente en el host. Luego en "Network" si entramos a la configuración de red, ya no es necesario realizar cambios ya que hemos forzado al programa a tomar la dirección IP del host.



Aceptamos con OK,



Realizado esto ingresamos a la configuración de la salida Output del gpsgate, aquí solo colocamos los puerto COM necesarios para trabajar con el programa que administra los datos de la estación, p.e. el Weatherlink.



Ahora ya estamos listos para abrir los puertos tanto del servidor como del cliente para el acceso a la estación meteorológica vía conexión por red local.



En el software de nuestra estación cliente colocamos como puerto de comunicación, el que configuramos en la salida del gpsgate (COM10) y damos test para confirmar el acceso a la consola Davis. De esta forma una o varias PC de una red local pueden acceder a la estación que pertenece a esa misma red.


subir

3.2.2.ACCESO REMOTO A LA ESTACION VIA INTERNET.
El acceso remoto es un caso especial de acceso por red local, es una extensión de tal utilidad, donde el acceso remoto al router de la red local se hace a través de la dirección IP publica que nos asigna nuestro proveedor de internet (Telefónica, claro, etc.).
La mayoría de los ISP actualmente ofrecen a sus clientes direcciones IP dinámicas, con lo que ante un corte de línea o reseteo del router, éste recibe una dirección IP distinta a la anterior. Este hecho provoca problemas a la hora de utilizar ciertos servicios como servidor (web, mail, ftp y el mismo GPSgate) o bien el acceso y control remoto al router ya que nos es imposible saber de antemano la dirección IP que tiene.
La mayoría de los router tienen una herramienta muy útil y que permite que desde el momento del encendido del router se pueda conocer la dirección IP pública del mismo. Básicamente consta del envio de dicha dirección IP a un proveedor de DNS dinámicas, en este caso y obligatoriamente:DynDNS.org.

En esta dirección tenemos un tutorial donde se muestra como configurar nuestro router con el servicio DynDNS, y así acceder a nuestro router y por consiguiente a los servicios que deseamos activar en nuestra red vía remota.
http://www.adslayuda.com/smc7804-configuracion_dyndns.html
Suponiendo que hemos configurado nuestro router con un hostname proveído por el servicio Dyndns:
Hostname : piuradavis.dyndns.org
El cual servirá de host que proporcionar soporte para DNS con IP dinámica en vez de nuestra verdadera IP publica temporal. Este nos servirá de enlace para poder acceder a nuestra estación desde cualquier equipo remoto, conectado a internet.

CONFIGURACIÓN DEL GPSGATE:
Estación Servidor
Se configura igual que el caso anterior de una red local.

PC Cliente


Aquí se selecciona como entrada un TCP/IP Cliente, entramos en "Settings" para configurarlo, se ingresa la dirección del hostname (piuradavis.dyndns.org: el que configuramos en el servicio DynDNS), y el puerto de salida del servidor: 20175.



Aceptamos y se establece el puerto de entrada de nuestra PC cliente.



En la salida (Output )ingresar el puerto COM de comunicación virtual que interactuará con el software Weatherlink.



 



En este caso se eligió el COM10. Una vez hecho esto se abre el puerto de entrada para comenzar a recibir datos.



La configuración del software se realiza de misma forma que los anteriores casos, teniendo de esta forma acceso a la estación meteorológica desde una pc remota con conexión a internet.





subir