Autor Tema: Extraer información de almanaque de Belchertown  (Leído 2242 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado edlmeteo

  • Full Member
  • ***
  • Mensajes: 108
    • Ver Perfil
  • Estación: Esparragosa de Lares (BA)- ESEXT0600000006620A Herrera del Duqe (BA)- ESEXT0600000006670A
Extraer información de almanaque de Belchertown
« en: 20 de Abril del 2021, 08:27:02 am »
Buenos días, me gustaría extraer en formato texto la información de amanecer y atardecer que muestra Belchertown. ¿En qué archivo almacena esa info? O existe algún comando para hacer una consulta vía Internet?
La idea es tener la hora de amanecer de cada día para grabar los amaneceres con la webcam. El resto del tiempo hago capturas cada 5 minutos, pero me gustaría grabar los minutos alrededor del amanecer.
Gracias!

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Extraer información de almanaque de Belchertown
« Respuesta #1 en: 20 de Abril del 2021, 12:34:57 pm »
Esa información sale de un json. Lo encuentras en /var/www/html/weewx/belchertown/json/weewx_data.json en la sección "almanac"

Si quieres mayor control yo lo haría con PHP, seguramente lo tengas instalado así que creas un script con este contenido:

Código: [Seleccionar]
<?php

$amanecer 
'/home/pi/amanecer.txt';  // Poner entre las comillas la ruta al archivo. Por defecto /home/pi/amanecer.txt

$lat 38.1;  // Latitud

$lon = -1.3// Longitud

$altura 0// Altura del sol sobre/bajo el horizonte en grados

$formato 0//  Seleccionar 0, 1 ó 2 para formato de salida. 0 = hora ("07:23"), 1 = hora con decimales ("7.4945"), 2 = timestamp ("1806785098");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

$formatos = [SUNFUNCS_RET_STRING,SUNFUNCS_RET_DOUBLE,SUNFUNCS_RET_TIMESTAMP];

file_put_contents($amanecerdate_sunrise(time(), $formatos[$formato], $lat$lon90 $alturadate('Z') / 3600).PHP_EOL);

?>

En los comentarios he puesto las diferentes opciones y los formatos de salida. El amanecer civil comienza cuando el sol está a menos de 6º bajo el horizonte por lo que pondríamos en altura -6.
Cuando el sol está a 0 grados ya asoma sobre el horizonte (si este es plano, lo ideal sería el mar) por efecto de la refracción de la atmósfera. En verdad el borde superior del disco solar empieza a asomar cuando está a unos -0.83º aproximadamente (-0º 50').

Lo restante es ejecutarlo en un crontab (crontab -e) añadiendo esta línea al final 0 0 * * * php /home/pi/amanecer.php
Claro está que le ponemos nombre de archivo amanecer.php y lo ponemos en /home/pi y cada día se actualizará con la hora de salida del sol en el cambio de día en /home/pi/amanecer.txt

Como ves es una pequeña muestra. Puedes poner más líneas para poner el inicio y el fin de tomar esas capturas cada minuto entre esos -6º bajo el horizonte y por ejemplo los 6º sobre él modificando la última línea y dejándola así:

Código: [Seleccionar]
file_put_contents($amanecer, date_sunrise(time(), $formatos[$formato], $lat, $lon, 90 - $altura, date('Z') / 3600).PHP_EOL.date_sunrise(time(), $formatos[$formato], $lat, $lon, 84, date('Z') / 3600).PHP_EOL);

Más info en PHP:

https://www.php.net/manual/es/function.date-sunrise.php
« Última modificación: 20 de Abril del 2021, 16:24:59 pm por jmviper »


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado edlmeteo

  • Full Member
  • ***
  • Mensajes: 108
    • Ver Perfil
  • Estación: Esparragosa de Lares (BA)- ESEXT0600000006620A Herrera del Duqe (BA)- ESEXT0600000006670A
Re:Extraer información de almanaque de Belchertown
« Respuesta #2 en: 20 de Abril del 2021, 12:47:48 pm »
 apla3

Desconectado edlmeteo

  • Full Member
  • ***
  • Mensajes: 108
    • Ver Perfil
  • Estación: Esparragosa de Lares (BA)- ESEXT0600000006620A Herrera del Duqe (BA)- ESEXT0600000006670A
Re:Extraer información de almanaque de Belchertown
« Respuesta #3 en: 20 de Abril del 2021, 13:46:15 pm »
Esa información sale de un json. Lo encuentras en /var/www/html/weewx/belchertown/json/weewx_data.json en la sección "almanac"

Si quieres mayor control yo lo haría con PHP, seguramente lo tengas instalado así que creas un script con este contenido:

Código: [Seleccionar]
<?php

$amanecer 
'/home/pi/amanecer.txt';  // Poner entre las comillas la ruta al archivo. Por defecto /home/pi/amanecer.txt

$lat 38.1;  // Latitud

$lon = -1.3// Longitud

$altura 0// Altura del sol sobre/bajo el horizonte en grados

$formato 0//  Seleccionar 0, 1 ó 2 para formato de salida. 0 = hora ("07:23"), 1 = hora con decimales ("7.4945"), 2 = timestamp ("1806785098");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

$formatos = [SUNFUNCS_RET_STRING,SUNFUNCS_RET_DOUBLE,SUNFUNCS_RET_TIMESTAMP];

file_put_contents($amanecerdate_sunrise(time(), $formatos[$formato], $lat$lon90 $alturadate('Z') / 3600).PHP_EOL);

?>

En los comentarios he puesto las diferentes opciones y los formatos de salida. El amanecer civil comienza cuando el sol está a menos de 6º bajo el horizonte por lo que pondríamos en altura -6.
Cuando el sol está a 0 grados ya asoma sobre el horizonte (si este es plano, lo ideal sería el mar) por efecto de la refracción de la atmósfera. En verdad el borde superior del disco solar empieza a asomar cuando está a unos -0.83º aproximadamente (-0º 50').

Lo restante es ejecutarlo en un crontab (crontab -e) añadiendo esta línea al final 0 0 * * * php /home/pi/amanecer.php
Claro está que le ponemos nombre de archivo amanecer.php y lo ponemos en /home/pi y cada día se actualizará con la hora de salida del sol en el cambio de día en /home/pi/amanecer.txt

Como ves es una pequeña muestra. Puedes poner más líneas para poner el inicio y el fin de tomar esas capturas cada minuto entre esos -6º bajo el horizonte y por ejemplo los 6º sobre él modificando la última línea y dejándola así:

Código: [Seleccionar]
file_put_contents($amanecer, date_sunrise(time(), $formatos[$formato], $lat, $lon, 90 - $altura, date('Z') / 3600).PHP_EOL.$amanecer, date_sunrise(time(), $formatos[$formato], $lat, $lon, 84, date('Z') / 3600).PHP_EOL);

Más info en PHP:

https://www.php.net/manual/es/function.date-sunrise.php

Funciona casi todo bien, excepto para incluir el punto en el que el sol alcanzaría los 6º. En esa ultima linea que me indicas he tenido que hacer alguna modificación pero ya funciona bien. Con esto consigo un .txt con las horas a las que empieza y acaba el amanecer. Correcto. Pero, ¿cómo puedo programar el cron para que la hora de una tarea vaya cambiando cada día? O, mejor, ¿como le digo al cron que dicha hora se encuentra en un txt que debe leer?
Gracias.

Desconectado edlmeteo

  • Full Member
  • ***
  • Mensajes: 108
    • Ver Perfil
  • Estación: Esparragosa de Lares (BA)- ESEXT0600000006620A Herrera del Duqe (BA)- ESEXT0600000006670A
Re:Extraer información de almanaque de Belchertown
« Respuesta #4 en: 20 de Abril del 2021, 14:23:43 pm »
Creo que esto que quiero hacer es una forma maravillosa de complicarme la vida. A ver si encuentro otra manera de conseguirlo.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Extraer información de almanaque de Belchertown
« Respuesta #5 en: 20 de Abril del 2021, 15:02:30 pm »
Tienes que explicar cómo funciona lo que genera las imágenes de la webcam. Es un script que se ejecuta cada x minutos por crontab guardando la captura en una carpeta o es un programa o servicio el que se encarga de ello ??

Debes de saber cómo tienes montado el chiringuito para especificar horas a las que quieres que se ejecute la captura de webcam.
Si pones cómo va el funcionamiento quizás te pueda ayudar en lo que quieres hacer.


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado edlmeteo

  • Full Member
  • ***
  • Mensajes: 108
    • Ver Perfil
  • Estación: Esparragosa de Lares (BA)- ESEXT0600000006620A Herrera del Duqe (BA)- ESEXT0600000006670A
Re:Extraer información de almanaque de Belchertown
« Respuesta #6 en: 21 de Abril del 2021, 08:35:41 am »
Realmente desisto de la idea. Por dos motivos: la cámara realmente no me interesa que apunte en la dirección por la que sale el Sol y porque las imágenes quedan demasiado quemadas.