viernes, 25 de marzo de 2011

Fuente de datos personalizada para el registro de datos meteorológicos

Información general
Esto es un tema avanzado y que por lo general no será de ninguna importancia en absoluto a la mayoría de los propietarios de una nueva estación meteorológica. Pero en el caso de usuarios que esten pensando en comprar una estación meteorológica con enlace a un PC con el fin específico de generar una fuente de datos meteorológicos como entrada a otros programas de software, aquí se resumen las opciones.

En primer lugar, vamos a dejar claro que sí es factible el uso de una estación de Davis y el datalogger Weatherlink como fuente de datos para otras aplicaciones de software. En concreto, es posible escribir aplicaciones personalizadas que utilizan los datos meteorológicos y que se diseñan para realizar tareas que van más allá de las características estándar del software Weatherlink y comparables a programas de terceros, incluyendo, potencialmente, el control de los equipos externos de acuerdo a las condiciones climáticas imperantes.

Hay diversas formas en que un software personalizado puede interactuar con el hardware y el software Weatherlink, el único requisito primordial es que el registrador de datos Weatherlink debe estar instalado estando la estacion meteorológica Davis lista para suministrar datos a otros programas (aunque debe tenerse presente que esta no implica necesariamente el uso del software Weatherlink). En términos generales, hay tres métodos para acceder a los datos de la estación meteorológica, que se explican en más detalle a continuación:

►   La comunicación directa con el registrador de datos (y sin pasar por el software Weatherlink);
►   Exportación manual de datos desde el software Weatherlink;
►   Lectura automática de los datos generados por el software Weatherlink;

El uso de la mayoría de estas opciones requiere escribir nuevos programas para vincular el registrador Weatherlink y/o el software y probablemente sólo atraerá a aquellos usuarios familiarizado con el código del programa. (Esto no es aplicable a la exportación manual de datos, que es algo mucho más sencillo y puede ser utilizado por cualquiera que esté familiarizado, por ejemplo con la lectura de datos desde un archivo de texto a una hoja de cálculo como Excel.). Para escribir un programa propio, obviamente, se requiere el conocimiento de los aspectos técnicos de las interfaces de registrador y el software asociado a este, que se detalla en las hojas tecnicas de soporte de Davis Instruments . Aunque como empresa estaremos dispuestos a assesorar y desarrollar aplicaciones de cauerdo al la necesidad del usuario.

Interfaz directa con el registrador de datos
Como se detalla en otra apartado, el registrador de datos Weatherlink tiene normalmente una interface directa al PC mediante un puerto estándar RS232. La información técnica sobre el protocolo utilizado por el registrador para retornar diferentes tipos de registro de datos esta publicado por Davis con suficiente detalle como para permitir a los programadores escribir su propio software para interactuar directamente con la interfaz del registrador. Para este tipo de programa personalizado, el software Weatherlink ni siquiera necesita ser instalado - a diferencia de la exportación manual y automatizada de los datos, descritas luego, que se basan por completo en el software Weatherlink.

La principal ventaja de la comunicación directa con el registrador es que el programa personalizado puede interrogar a la interfaz del registrador de sólo aquellos datos
elementales que se requieren para su propósito y con la frecuencia de su elección (sujeto a las limitaciones de diseño del registrador, por supuesto). Los datos no tiene por qué ser pre-procesados por el software Weatherlink con los retrasos y los inconvenientes que pudieran estar involucrados. Otra ventaja es que interactuando directamente a la interfaz serial no se pone restricción al sistema operativo del PC utilizado. Así, por ejemplo, es perfectamente posible realizar una programación para su funcionamiento bajo Linux.

Además de esta interfaz
directa al registrador, Davis también proporcionan un archivo DLL para Windows (Download Support: DLL/SDK) que puede controlar gran parte de la comunicación de bajo nivel de la interfaz del registrador. Este puede ser un buen arreglo ya que ofrece mayor flexibilidad para establecer interacción directa a la interfaz a la vez que libera al programador de tener que manejar todos los detalles de recuperación con elementos de datos individuales.

El principal inconveniente de la interacción directa surge del hecho de que en Windows sólo un programa puede acceder al puerto serie en un momento dado. Así que si un programa personalizado está "hablando" con el registrador, entonces el software Weatherlink no podrá simultáneamente realizar la recolección de datos. Así, en la práctica, tener un programa de registro personalizado permanentemente activo significará que el software Weatherlink no se puede utilizar. (Excepto, posiblemente, si el programa personalizado se termina temporalmente por ejemplo, en intervalos periódicos diarios o semanales sólo para permitir que el software Weatherlink pueda realizar una descarga de archivos).


 La desventaja de no usar Weatherlink a otros es que un programa personalizado tendrá que ser diseñado para gestionar sus propios datos. Weatherlink realmente hace un buen y discreto trabajo de mantener una base de datos principal de todos los datos meteorológicos registrados y de hacer que los datos esten disponibles para su análisis y revisión. Un programa personalizado necesita duplicar la mayor parte de esta funcionalidad para ser una verdadera alternativa a Weatherlink y la escritura de codigo de un programa no es una tarea trivial. Así que antes de decidirse a optar por un programa que interactue directamente con el registrador, el desarrollador de sistemas debe considerar si permite al software Weatherlink ser el encargado principal de administrar los datos y ser a la vez una fuente indirecta de estos, lo que seria una mejor opcion.

Exportación manual de datos
Cualquier usuario de Windows razonablemente experimentado debe ser capaz de exportar los datos del tiempo de forma manual desde el modo de exploración del software Weatherlink, sin necesidad de hacer ningún tipo de programación alguna. Todo lo que necesitas es seleccionar
"Export Records" (Exportar Registros) dentro de los menús de la ventana Examinar y elegir el rango necesario de las fechas.

Registros completos (es decir, que contienen datos de todos los sensores) de los datos meteorológicos se extraen del archivo de la base de datos para cada día en el intervalo de fechas seleccionado para luego ser exportado a un archivo de texto delimitado por tabuladores. Tenga en cuenta que debido a que estos datos exportados se copian solamente de la base de datos principal, incluirá el mismo nivel de detalle del tiempo establecido para el intervalo de archivo. En otras palabras, si el software está configurado para registrar los datos en intervalos de una hora, a continuación, los datos exportados contendrán 24 registros por día a intervalos de una hora, no hay mecanismo para exportar datos que no sean de la base de datos.

Una vez que
se ha creado el archivo de texto delimitado por tabuladores, esto puede ser importado a cualquier aplicación de software compatible. Un uso típico a principios de cada mes, podría ser la importación de la totalidad de los datos del mes previo en un programa de hoja de cálculo como Excel y calcular los totales mensuales de ciertos parámetros y otros que el usuario prefiera. Pero el proceso es, por supuesto, completamente flexible. Una vez que el archivo de texto ha sido creado por Weatherlink se puede leer en cualquier programa compatible y ser utilizado para cualquier tarea de análisis de datos imaginable.

Lectura Automatizada de datos
La lectura automática de datos desde el software Weatherlink es probablemente el medio más interesante y útil para los desarrolladores a fin de crear un feed personalizado de los datos meteorológicos. Pero primero hay que confirmar que para el software Weatherlink no se conocen métodos para pasar datos in-memory, por ejemplo, a través de interfaces COM o DDE (posiblemente estas características existen, pero son indocumentadas al público, o tal vez una futura versión de Weatherlink pueda introducir tales características, pero por ahora y por lo menos Weatherlink v5.9, no parece tener ninguna interfaz disponible in-memory a los datos Weatherlink). En consecuencia, el único mecanismo que se puede utilizar para crear una fuente de datos externa es leer uno o varios de los archivos de disco que crea Weatherlink.

Afortunadamente, hay un número de archivos diferentes que Weatherlink se puede ajustar para mantener y actualizar de forma automática, incluyendo:
►   La
base de datos principal con archivos comprimidos mensuales *.wlk; (Tenga en cuenta que estos no son archivos de texto, pero se muestran como un formato binario). Una utilidad de terceros muy conocida que realiza la operacion de importar la base de datos de weatherlink (archivos wlk) es Meteoreport, con la que se puede crear diversos reportes y utilidades para la estación meteorólogica Davis.
►   Los archivos de texto en un formato similar a los archivos de texto
exportados de forma manual, pero generados automáticamente y que cubren períodos de 24 a 48 horas o días 7-8;
►   Otros archivos personalizados;


Cualquiera de estos tipos de archivo se puede utilizar como una fuente de datos para otros programas, siempre que se tenga cuidado evitar colisiones con Weatherlink en el acceso a un archivo en particular.



No hay comentarios:

Publicar un comentario