Software > Software de Meteoclimatic
Ayuda con JSON y CORS
ion_sc:
Buenas tardes,
Tengo una estación funcionando hace años en meteoclimatic. Es una Davis Vantage Pro 2 con consola. La tengo conectada a un mac-mini y funciona perfectamente.
Ahora, he comprado una nueva estación, esta vez con WLL y ahí empieza la mierda, con la dichosa API v2 y tal.
Estaba, con mis pocos conocimientos de programación, intentando hacer la plantilla y he conseguido la obtención de datos desde http://ipWLL/v1/current_conditions ppeeeeeero saltandomoe el CORS con un componente para Firefox que desactiva el CORS.
Me gustaría saber si el robot de meteoclimatic hace caso de CORS y de ser así, ¿hay alguna manera de saltarselo?
En caso de que no se pueda, ¿habría alguna solución para leer ese JSON o en su defecto copiarlo a un archivo en mi servidor y de ahí leerlo?
gracias!
jmviper:
Hola ion_sc
Entiendo que el json de la API está en una IP local de tu router no ?? lo que pones como ipWLL en esa URL.
Puedes hacer que se lea ese json con un script (equivalente wget en MAC ?) y el programador de tareas cada cuarto de hora, eso sí, desconozco cómo va en MAC el asunto, pero la idea sería eviar el json a tu servidor web y allí un archivo PHP lo lea y lo procese para elaborar la plantilla.
ion_sc:
Muy buenas, Jmviper.
En este caso no tiene nada que ver con el mac. En mi casa tengo una Vantage Pro2 con consola conectada a una mac, y funciona genial, con el mac, la consola y la api V1. Hasta ahí todo OK.
Ahora, he puesto una nueva estación, en otra ubicación con WLL en una red totalmente ajena. El WLL no admite la API v1, para lo que ya hay desarrollo para integrar con meteoclimatic. Puedo acceder a los datos en tiempo real (para visualización) desde cualquier lugar con el reevío de puertos en mi router. El problema viene cuando intento leer esa información mediante un script realizado en mi web. Puedo leer la información cuando con un complemento desactivo los CORS, si no, no me lo permite.
No tengo mucho conocimiento en informática, por eso pido ayuda. ¿Hay forma de que un script lea esos datos? habría alguna forma de obtener de menera automática esa información? ya tengo sincronizada la PWS con WU, pero solo me sincroniza cada 15 minutos... no me entusiasma la idea.
jmviper:
Si intentas leerlo con JavaScript no vas a poder como tú dices por el CORS. De todas maneras eso se hace a nivel de servidores, no con el navegador que es un cliente y tiene esas limitaciones de no poder acceder a archivos que no sean del mismo servidor.
Tienes que crear una archivo PHP en tu web (donde meteoclimatic vaya a leer la plantilla).
Por ejemplo, crea una archivo en tu web llamado wll.php y pon en su interior:
--- Código: ---<?php
$url = "urlconeljson";
echo file_get_contents($url);
?>
--- Fin del código ---
En "urlconeljson" pon la dirección URL donde se encuentra ese json. Eso sí, tiene que ser accesible desde tu web.
Si cuando entres a http://tuweb/wll.php te sale el json entonces ya podemos seguir con el siguiente paso que sería en ese mismo script con php coger el json y elaborar la plantilla para meteoclimatic.
Prueba ese paso y si lo lee ya me pasas la URL por privado y te elaboro la plantilla.
ion_sc:
Bah! Justo estaba con la plantilla y la dichosa información que proporciona el WLL en local no incluye las máximas y mínimas diarias...
De momento tenía la plantilla asi: https://pirineonavarro.com/ion/meteoclimatic.html
No se si el robot la leería...
Navegación
[#] Página Siguiente
Ir a la versión completa