Meteoclimatic
Software => Tu Web meteorológica => Mensaje iniciado por: CarlosLSev en 19 de Febrero de 2021, 19:21:59
-
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
-
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:
<?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].'°C<br>';
}
echo $res;
?>
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.
-
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
-
¿Es posible acortar listado e invertirlo?
En programación todo es posible:
<?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].'°C<br>';
}
echo $res;
?>
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.
¿Es posible crear gráficos tal que así ? http://kocher.es/graficos-highcharts/mini_temperatura.php
Claro, el json ya lo tienes. Sería pasárselo vía Ajax a ese gráfico de highcharts para que lo dibujase.
-
Gracias eres un artista!!