Software > Tu Web meteorológica

Script condiciones nubosas en páginas Saratoga con Cumulus MX

(1/17) > >>

jmviper:
Bueno pues aquí empezamos el hilo para poner las condiciones de nubosidad de nuestra web Saratoga basada en Cumulus MX.

Lo primero que hay que hacer es decirle a Cumulus MX que envíe a nuestro servidor web una petición (query) con unos parámetros que envían la radiación solar actual y la máxima teórica calculada por el programa en su apartado correspondiente (Settings -> Station Settings -> Solar)

Para ello nos vamos a Settings-> Third party upload -> Custom HTTP -> Custom HTTP call - minutes interval el cual lo habilitamos y en Interval ponemos 1 minuto y en HTTP URL ponemos la URL completa de nuestro servidor web de la siguiente manera:

http://miweb.com/radsolar.php?radsolar=<#SolarRad>&maxradsolar=<#CurrentSolarMax>&passwd=micontraseña

No lleva a nada el enlace así que no pinchéis  *+* *+*. Solo aclarar en él que miweb.com será el nombre de nuestra web y en el último parámetro passwd deberemos de poner la contraseña que queramos usar para que la petición sea solo leída por el archivo PHP que la leerá en nuestro servidor y por nadie más. Así nos evitamos que alguien que consiga este código nos incordie con peticiones  *-* *-*

El archivo está en el adjunto de este mensaje y se llama radsolar.php que pondremos en la carpeta raíz de nuestro servidor.

En él solo hay al principio una opción configurable que es la contraseña que deberá ser la misma que le hayamos puesto en la petición URL de Cumulus MX.

Ese script generará dos archivos en nuestro servidor, uno llamado logsolar.txt que contendrá los últimos 60 minutos con fecha, radiación solar actual, radiación máxima teórica y porcentaje de radiación.
Ese mayormente es para monitorizar cómo van los valores.
El otro que creará se llamará logsolarpor.txt y en él irá la radiación actual, radiación de hace un minuto, de hace dos minutos y el porcentaje de radiación solar por encima del 70% de radiación de los últimos 10 minutos y de la última hora.

Si queréis podéis configurarlo y a ver si va bien, de momento tenemos que testear su funcionamiento. Una vez que vaya como queremos será hora de modificar el ajaxCUwx.js para que vaya cambiando icono de condiciones y condiciones en nuestra web.


CarlosLSev:
Hola, tiene buena pinta, ya está puesto  :aplaude1:

jmviper:
Bueno, seguimos avanzando.

He copiado el archivo ajaxWDwx.js en una página HTML para probar y le he metido dos funciones, una para el estado del cielo y la otra para poner el icono a partir de esas condiciones.

Uno de los cambios que debemos de hacer para que funcione es crear en nuestro servidor un archivo llamado realtime.php
En su interior ponemos este código PHP:


--- Código: ---<?php

echo file_get_contents('realtime.txt'),' ',file_get_contents('logsolarpor.txt');

?>
--- Fin del código ---

contando que tengamos los dos archivos que llama en la misma carpeta, en este caso la raíz o principal.

Con esto lo que hacemos es añadirle al realtime.txt que genera MX los datos de nubosidad del archivo logsolar.txt para que tenga acceso a ellos la función que actualiza los datos.
Tendremos que modificar en las opciones al principio del ajaxCUwx.js esta línea:

var realtimeFile = './realtime.txt';

por esta otra:

var realtimeFile = './realtime.php';

La verdad es que de esta manera hacemos que el archivo realtime tenga más información para lo que queramos, en este caso para las condiciones actuales.

En principio ya no hay que modificar nada más. En el js he creado dos funciones llamadas condic para el nombre de las condiciones y condicicon para poner la imagen.

De momento es muy elemental y va a estar sujeto a pruebas pero creo que es un comienzo.

Una cosa que hay que ver es cuando el sol está en bajos ángulos sobre el horizonte.... puede haber un monte, un piso al lado que hagan algo de sombra por lo que pueden no ser del todo precisas las lecturas, por ejemplo puede poner nublado si tapa al inicio ese edificio al sol, por lo que se podría poner algún offset. Yo en mi web le tengo puesto amanecer y anochecer para tapar esos ángulos.

Modifico el archivo radsolar.php para que cuando no haya radiación no grabe y no tenga en cuenta el script los ceros de la hora anterior al amanecer.

Para la noche pondrá el icono de noche despejada y la palabra noche. Si se quisiera poner la cubierta de nubes a partir del METAR habrá que investigar cómo hacerlo pero por la noche si llueve, hace viento etc etc lo pondrá el script.

Pongo archivos en un zip, habrá que configurar de nuevo la contraseña.

Mi página de pruebas está en:

https://meteoarchena.es/condicionesmx.html

En su interior está el ajaxCUwx.js por lo que viendo el código fuente en el navegador se puede ver todo el código.

Para mañana pone por aquí lluvia, a ver cómo se porta  8)

CarlosLSev:
Buenas noches, ya lo tengo , entiendo que lo observemos a ver si va fino..
Por lo que entiendo la plantilla saratoga toma las condiciones actuales de la estación METAR mas cercana, suele actualizarse cada 5 minutos, pero la estación creo que se actualiza cada 30 minutos(creo)
Con esta modificación conseguimos que cada minuto según la radiación solar real de nuestra propia estación muestre dicha información. Mi pregunta es, ¿es valido también, para el viento, y por ejemplo el pluviómetro?.
Es decir, antes si llovía hasta que no se actualizaba el CUtags.php las condiciones actuales se mostraba soleado, no se  si también si llovía en la estación METAR en la plantilla mostraría lluvia aunque en nuestra estación aun no lloviera.
Ahora, ¿si llueve muestra lluvia sin depende de la estación METAR?
No se si me he liado mucho, pero si es asi conseguimos mostrar lo que realmente sucede en nuestra estación aunque en la estación METAR haya otras condiciones meteorológicas

jmviper:
El script sobrescribirá las condiciones del metar, así que si pone lluvia, viento etc etc serán las condiciones de nuestra estación. Todo se actualiza conforme a los datos del realtime.

Ahora estoy probando lo del amanecer y anochecer....cuando hayan menos de 30 W/m2 de radiación solar máxima teórica saldrá. Todo para evitar los ángulos bajos y la posible inexactitud.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa