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

2 comentarios:

  1. Hola que tal, soy estudiante de Lic. y hace unos meses me regalaron esta magnifica estacion pero como estoy apunto de egresar de Ing. en electrónica pensé porque no hacer mi propia interfaz con LabView revisando por la red no encontre forma de conectar la consola a mi PC sin el cable que el fabricante te ofrece, pregunte a soporte y creo que por razones de mercadeo me dijeron que la unica forma es mediante el USB, ustedes no tienen idea de como se pudiera conectar la consola hacia el puerto serial?? o tendre que comprar el cable?? y llendome un poco mas al fondo tienes idea de como usar los archivos dll o algun tutorial que hayas echo referente a esto??

    ResponderEliminar
  2. CARLOS GONZALEZ - Expert in OpenGTS

    Software Development, Web Solutions. Consultant at LBS (Location Based Services).
    Solutions in GPS Tracking System.

    Contact me for more information.

    http://cgonzalezdev.blogspot.com

    Thanks!

    ResponderEliminar