Software > Tu Web meteorológica

Consulta temperatura interior

(1/1)

CarlosLSev:
Hola quiero crear unas estadísticas o tendencias pero con la temperatura interior
Para eso puedo utilizar
<?php echo $WX['intemp'];?>
Que se actualiza cada 5 minutos usandoo Cutags.php
O utilizar este código usando realtime.txt que se actualiza cada 10seg.
 <?php

$realtime = "../realtime.txt";                 // Este es el archivo, ../ es para indicar que está en la carpeta padre.
$archivo = fopen($realtime, "r");
$linea=fgets($archivo);
fclose($archivo);

$dato = explode(" ", $linea);
?>

 <?php echo $dato[22]." "?>
El valor se muestra, pero el actual
Lo que no puedo es grabar que cada 1 minuto por ejemplo guarde el valor como hace en tendencias en este caso es cada 5.

Gracias

jmviper:
Hola Carlos

Los datos de temperatura si está subiéndolos MX a tu servidor estarán disponibles en el json tempdata.json. Una vez que lo tengas ya podrás hacer lo que quieras con él con PHP. En él está la temperatura exterior y la interior entre otras.

Por ejemplo este sencillo código PHP coge la temperatura interior del json de mi MX y la presenta cada 5 minutos:


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

$json = "intercambio/tempdata.json";

$datos = json_decode(file_get_contents($json));

$intemp = $datos->{'intemp'};

$res = "";

foreach ($intemp as $valor){
$fecha = $valor[0] / 1000;
if ($fecha % 300 == 0) $res .= gmdate('d-m-Y H:i', $fecha).' '.$valor[1].'&deg;C<br>';
}

echo $res;


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

Resultado:

http://www.meteoarchena.es/tempinterior.php

es solo una pequeña muestra de usar los json que sube Cumulus MX y aprovechar sus datos para crear gráficos o tendencias que queramos.

Hacerlo con el realtime.txt implicaría grabar cada 5 minutos sus datos (o del Cutags.php) y para ello tendrías que crear un crontab si puedes en el servidor o una petición http desde tu ordenador a un archivo PHP que haga el proceso de grabación con el programador de tareas o con el crontab de Linux.

Más fácil lo de del json.

CarlosLSev:
 plau2
Me sorprendes, mil gracias de nuevo, ya te debo unas cervezas. Acababa de averiguar que ese fichero contenía el histórico de ese y otros valores, pero de ahí a eso...
¿Es posible acortar listado e invertirlo?

¿Es posible crear gráficos tal que así ? http://kocher.es/graficos-highcharts/mini_temperatura.php

jmviper:

--- Citar ---
¿Es posible acortar listado e invertirlo?


--- Fin de la cita ---

En programación todo es posible:


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

$json = "intercambio/tempdata.json";

$datos = json_decode(file_get_contents($json));

$intemp = array_reverse($datos->{'intemp'});

$res = "";

$ultimo = reset($intemp)[0] / 1000;

foreach ($intemp as $valor){
$fecha = $valor[0] / 1000;
if ($fecha % 300 == 0 and $ultimo - $fecha < 43200) $res .= gmdate('d-m-Y H:i', $fecha).' '.$valor[1].'&deg;C<br>';
}

echo $res;


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

Invertido y de las últimas 12 horas en vez de 24.

Hay muchas funciones en PHP que hacen estas cosas y más. Es un lenguaje muy potente.


--- Citar ---
¿Es posible crear gráficos tal que así ? http://kocher.es/graficos-highcharts/mini_temperatura.php


--- Fin de la cita ---

Claro, el json ya lo tienes. Sería pasárselo vía Ajax a ese gráfico de highcharts para que lo dibujase.

CarlosLSev:
Gracias eres un artista!!

Navegación

[0] Índice de Mensajes

Ir a la versión completa