Autor Tema: Meteowee (Instalación automática de weewx)  (Leído 11685 veces)

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

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Meteowee (Instalación automática de weewx)
« en: 26 de Enero del 2020, 11:20:23 am »
[/size]

Para hacer el script nos vamos a centrar primero en definir el entorno de trabajo.

Utilizaremos una Raspberry Pi, con el sistema operativo Raspbian Lite del 26-9-2019 (última versión a esta fecha)

Nos comunicaremos con la raspi via SSH para poder capturar pantallas sin problema.

Las imágenes las grabaremos en la tarjeta SD con el programa que prefiera cada uno. Yo uso BalenaEtcher https://www.balena.io/etcher/ ya que tiene versiones para Windows, Mac y Linux. Además quema fácilmente las imágenes en Windows sin los problemas típicos de Windows con tarjetas que ya tienen imágenes para Linux.

La comunicación con la raspi (o el dispositivo que sea), lo haremos con SSH. Para ello, debemos tener instalado en Windows Putty o Bitvise Tunnelier. En linux no hace falta, ya que lo habitual será tener instalado el cliente SSH por defecto. No vamos a explicar ninguna de estas opciones en este hilo.

También podéis encontrar el script aquí:

https://github.com/jantoni/meteowee


« Última modificación: 08 de Mayo del 2020, 17:06:55 pm por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #1 en: 29 de Enero del 2020, 21:47:06 pm »
Aquí tenéis la primera versión del script.

Está probado en una raspi muy antigua.

El sistema operativo no se actualiza en el script, habría que actualizarlo posteriormente, cuando todo esté funcionando ok.

Por supuesto, las pruebas de ejecución han sido en modo simulador.

Tenéis que elegir, cuando os lo pida el menú de instalación, unidades métricas.

Por supuesto, la tarea más dura es la posterior, la de personalización.

Tengo que descansar los ojos un par de días, no dan para más.

En breve nos ponemos a hacer el script más PRO
« Última modificación: 10 de Febrero del 2020, 09:25:11 am por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #2 en: 10 de Febrero del 2020, 18:16:52 pm »
Modificaciones del 10-2-2020

Se incluyen varias modificaciones:

- Incluida la declaración de variables en la cabecera para mayor personalización.

- Directorio de instalación (defecto /home/pi)
- Periodicidad y número de rotaciones del log de Weewx (defecto diario y 2 rotaciones)
- Tamaño de RAM para log de Apache y Weewx (Por defecto 20 megabytes para cada uno de ellos)
- Indicador para actualizar todo el sistema operativo o no (Por defecto, NO)

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #3 en: 26 de Febrero del 2020, 17:53:06 pm »
Meteowee 0.0.11

- Instalación de servidor Web Apache2 opcional.
- Creación disco RAM para log de Apache2 solo si se instala Apache2
- Modificación de fechas y otros en fichero de configuración weewx.con y no en el skin


Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #4 en: 03 de Marzo del 2020, 12:15:08 pm »
Meteowee 0.0.12

Incorporada librería python-pip


Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #5 en: 02 de Mayo del 2020, 11:01:51 am »
Meteowee 0.0.13

Instala servidor ntp para el control efectivo del reloj.

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #6 en: 06 de Mayo del 2020, 19:16:04 pm »
Meteowee 0.15

Novedades:

- Instala versión 4.0 Weewx
- Solo para sistemas operativos con Python3 instalado. Debian o Raspbian Buster recomendado.
- Instala la utilidad de envío a Meteoclimatic y la configura en Weewx.
- Instala la plantilla Meteoclimatic para Weewx.
- Ahora, por defecto, instala Apache2 para poder visualizar los datos de la estación en un navegador Web
- Servidor xrdp incluido. Con ello podrás usar el escritorio de la Raspberry Pi directamente desde Windows
- Añadido servidor ntp


Para siguientes versiones:
- Instalación de traducciones (si tenéis traducido Seasons a castellano, catalán, etc, os agradecería que me lo enviárais)
- Configuración de Wunderground y otras redes diferentes a Meteoclimatic
- Instalación de driver para otras estaciones meteorológicas.
- Instalación de CumulusMX
« Última modificación: 06 de Mayo del 2020, 19:19:50 pm por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #7 en: 06 de Mayo del 2020, 19:39:24 pm »
Pasos a seguir para instalar Weewx de forma automatica en una Raspberry Pi.

Entiendo que aquellos que estéis usando otros dispositivos, como Orange Pi, tenéis los conocimientos necesarios para poder hacerlo de forma exitosa sin necesidad de este script.

No obstante, el script debería funcionar perfectamente en otros dispostivos, e incluso en un PC con Linux.

QUE NECESITAMOS

- Una Raspberry Pi, yo he hecho las pruebas en una Raspi Zero W con wifi
- Una tarjeta SD o Micro SD (en función de la Raspberry que usemos), de al menos 8GB y, al menos, clase 10.
- Un lector de tarjetas SD que pueda manejar microSD o usar el adaptador correspondiente.
- Si vas a usar Wifi, necesitarás o una Raspberry Pi con wifi incorporado, o un adaptador Wifi USB compatible.
- Usemos Wifi o cable Ethernet, necesitaremos un Router con conexión a internet. El tema pinchos 3G lo dejamos para otro día.
- Un ordenador con Windows (también vale con otro sistema operativo, pero solo describiré con Windows)
- Descargar los 3 ficheros adjuntos en este hilo (Meteowee, ssh y wpa_supplicant.conf)
- Descargar una imagen de Raspbian. Las pruebas las he realizado con Raspbian Buster con entorno gráfico. La puedes descargar aquí: https://www.raspberrypi.org/downloads/raspbian/  Te recomiendo usar la versión Lite, aunque, de momento, no la he probado más que en la versión Raspbian Buster with Desktop (con escritorio)
- Descarga un programa para conectarte a la Raspi por SSH. Yo uso Bitvise Tunnelier, por todas las opciones que ofrece. Para descargar Bitvise Tunnelier usa este enlace https://www.bitvise.com/ssh-client-download

También necesitamos saber:
- Que estación vamos a instalar (parece de perogrullo, pero con la diversidad de marcas que hay por ahí, a veces no es tan sencillo)
- Las coordenadas geográficas (latitud y longitud) en formato de grados decimales. Por ejemplo, en Google Earth podéis ver vuestras coordenadas y dentro del menú Herramientas-Opciones podéis elegir el formato "Grados decimales". Y recordad para luego, que os hará falta. Longitud Este es número positivo. Longitud Oeste es número negativo.

DESCRIPCION DE LOS FICHEROS INCLUIDOS CON EL SCRIPT

meteowee-x.xx Es el script como tal. Además de ser ejecutado, hay que editarlo para que la configuración sea correcta en cada caso particular. Para usuarios de Raspberry, los únicos datos obligatorios son los de la sección Meteoclimatic. Por lo demás, con las opciones por defecto debe funcionar todo sin problema.

ssh Es un fichero que está totalmente vacio. Al añadir este fichero en el directorio de arranque de la Raspberry, le estamos diciendo que queremos activar SSH. Y queremos.

wpa_supplicant.conf Este fichero es la configuración del wifi al que queremos conectarnos. Al igual que el fichero ssh, es leido por la Raspi en el primer arranque, configurando los datos de la red wifi. Si vamos a usar una Raspberry Pi conectada por cable ethernet, este fichero nos será totalmente inútil.
« Última modificación: 07 de Mayo del 2020, 18:11:05 pm por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #8 en: 07 de Mayo del 2020, 10:04:04 am »
PASO 1

- Insertamos la tarjeta SD en el lector (si el lector SD es un pincho USB, lo conectaremos a un puerto USB libre)
- Si sale algún mensaje en pantalla sobre la tarjeta SD, haremos caso omiso.
- Abrimos el programa balenaEtcher (es el que yo uso, como dije al principio del hilo). Puedes usar otros, pero aquí solo explico como hacerlo con balenaEtcher. Seleccionamos la imagen y si es necesario la tarjeta a grabar. Si solo hay una tarjeta seleccionable, nos saldrá por defecto. Y solo tenemos que hacer click en Flash.


El proceso durará bastante tiempo, en función del lector de tarjetas y de la velocidad de la tarjeta.

Cuando el proceso de grabación haya terminado, Etcher te avisará.

No tienes que hacer nada más.

¡Extrae la tarjeta del lector o desconecta el pincho USB con la tarjeta dentro!
« Última modificación: 07 de Mayo del 2020, 10:07:42 am por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #9 en: 07 de Mayo del 2020, 10:12:05 am »
PASO 2

Ya has extraido la tarjeta del lector o has desenchufado el lector USB con la tarjeta dentro. Bien. Paso 1 completado.

Ahora ¡vuelves a introducir la tarjeta SD en el lector o a enchufar el pincho-lector USB con la tarjeta dentro!

Te saldrá un mensaje como este:



Bien, el mensaje no nos vale, en este caso, más que para saber que Windows le ha asignado la letra X. En mi caso ha seleccionado la letra D.

Bien, estamos a mitad del paso 2. Este paso es fácil.

Ahora, abrimos un explorador de archivos y vamos a procesar y copiar los 3 ficheros que habíamos descargado, que son:

- ssh
- meteowee-x.xx
- wpa_supplicant.conf

Abrimos el explorador de archivos y nos vamos al directorio donde hayas guardado los 3 archivos, y los copiamos en el disco identificado como boot (X:), donde X es la letra que haya asignado nuestro Windows



A estas alturas, supongo que todo el mundo sabe como copiar ficheros dentro de Windows.

Bien, copiamos ssh en el disco boot.

Copiamos el fichero meteowee en el disco boot.

Y copiamos wpa_supplicant.conf en el disco boot SOLO SI VAMOS A USAR WIFI. Si vamos a usar cable ethernet, no hay que copiar este fichero.
« Última modificación: 07 de Mayo del 2020, 10:24:46 am por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #10 en: 07 de Mayo del 2020, 10:35:59 am »
PASO 3

Bien, ya estamos en el tercer paso. Hasta ahora ¿bien?, ¿has sobrevivido?, espero que si.

Bueno, tenemos los 3 ficheros en boot(X:), o solo 2 si vamos a usar ethernet.

Ahora vamos a configurarlos.

En realidad se pueden configurar una vez arrancada por primera vez la Raspberry Pi, pero os voy a ahorrar el trago de  editar ficheros con "nano" mi editor preferido en Linux. Entiendo que TODO EL MUNDO, a estas alturas, sabe editar un fichero de texto en Windows.

Así que lo vamos a hacer antes de que la tarjeta SD vea por última vez el ordenador con Windows.

Ah, se me olvidaba, yo uso para editar los ficheros Notepad++, pero podéis usar el Bloc de Notas......por favor, no me hagáis la tropelía de editarlos con Word ¿eh?

Fichero ssh

No hay que tocarlo. Si, es de 0 bytes. Como ya he dicho anteriormente, es simplemente un toque de atención para Raspbian para que active el servidor SSH y luego nos podamos conectar en remoto.

Fichero wpa_supplicant.conf

Al abrirlo, tendremos lo siguiente:



Aquí vamos a definir cual es nuestra red Wifi y la password para conectarnos.

Por ejemplo, si nuestra red wifi se llama MOVISTAR_0F01 y la contraseña es sfgpojafsp9884lkjljls

Pondremos

el fichero quedaría así:

Citar
country=ES
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
   ssid="MOVISTAR_0F01"
   psk="sfgpojafsp9884lkjljls"
   key_mgmt=WPA-PSK
}

Es decir, SOLO HAY QUE EDITAR el campo ssid y el campo psk. NO TOQUÉIS NADA MÁS.

Digo lo mismo de antes.....a estas alturas, todos los que os metáis en estos líos, debéis saber estos datos, son fundamentales de vuestra conexión WiFi.

Fichero meteowee-x.xx

El fichero meteowee-x.xx (donde las x marcan la versión del script) es, en sí mismo, el script ejecutable, pero también donde vamos a elegir las opciones:

Dada la importancia de este fichero, los vamos a ver en el paso 4.
« Última modificación: 07 de Mayo del 2020, 10:46:26 am por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #11 en: 07 de Mayo del 2020, 11:02:14 am »
PASO 4

Fichero meteowee-x.xx

Ahora vamos a editar el fichero más importante de todos.

Una vez abierto con vuestro editor favorito para Windows (insisto que yo uso notepad++) vamos a editar las opciones.

Y para ello os explico una a una las opciones que han en el fichero actual:


DIR='/home/pi'

Es el directorio de instalación por defecto. En Raspbian se genera un usuario por defecto llamado "pi" que es el que vamos a utilizar. Si sabes lo que haces, modifícalo, sobre todo si usas el Script para otros sistemas operativos que no sean Raspbian sobre Raspberry Pi.

NOMBREHOST='Meteo-Raspi'

En realidad, ahora mismo no tiene utilidad. Para la siguiente versión, el script modificará el nombre del host y la entrada en /etc/hosts, de ese modo podremos ver el nombre elegido en la red.

UPDATEOS=0

Si seleccionamos 0, el script actualizará la lista de paquetes en los repositorios de Raspbian y de Weewx. Pero no actualizará los paquetes con actualizaciones modernas. Si seleccionamos 1 además de actualizar la lista de paquetes, se actualizarán todos los paquetes, pero llevará mucho tiempo. Usa 1 solo si tienes una Raspberry de última generación. Si lo eliges con una vieja Raspi, vete a tomar un café y tómate tu tiempo *+* *+*

ZONAHORARIA=0

Definimos la zona horaria a utilizar 0=UTC, 1=Hora oficial España Peninsular, 2=Hora oficial Canarias y Portugal

No obstante, recuerda que Weewx SIEMPRE utilizará la hora UTC para almacenar los datos en la base de datos *+*

CONFIG_FILE='/etc/weewx/weewx.conf'

Define el nombre y ubicación del fichero de configuración de weewx. Peligro mortal si se toca sin saber lo que haces.

SKIN_DIR='/etc/weewx/skins/Seasons'

Definimos cual es el directorio del skin por defecto. En Weewx 4.0 el skin por defecto es Seasons. No toques sin saber. Ya tendrás tiempo de instalar más skin más adelante.

SKIN_CONFIG_FILE='/etc/weewx/skins/Seasons/skin.conf'

Definimos como se llama el fichero de configuracion del skin por defecto. Tampoco debes tocarlo.

Las siguientes variables son solo si queremos que el script, además de instalar Weewx 4.0, nos instale y configure las utilidades para enviar datos a Meteoclimatic.

METEOCLIMATIC_COD='codigo de estación de meteoclimatic'

Añade el código de estación en Meteoclimatic entre las comillas simples.

METEOCLIMATIC_SIG='clave/password/sig facilitado por Meteoclimatic para firmar las plantillas'

Entre las comillas simples debes introducir el password o Sig de Meteoclimatic. Este dato lo puedes obtener desde la ficha de la estación (se supone que la has dado de alta previamente). Para ello, entra en la ficha de tu estación y verás esto:



Pincha en "Descargar Plantilla", te descargará un fichero. La tercera línea, que empieza por *SIG= y sigue un churro de letras y números, es el sig. Copia ese churro a este campo.

INSTALAR_RUTINA_ENVIO=1

Define si queremos enviar la plantilla periódicamente por la rutina de envío en Python creada por Jmviper.

1 para instalar la utilidad de envío con Python. Cualquier otro número para no instalar esta rutina de envío. Si vas a enviar la plantilla mediante la URL de tu página web indica 0

Las demás variables que van a continuación no debes tocarlas si no sabes lo que haces. Te recomiendo no tocarlas.

Y, las últimas variables son para uso de versiones posteriores del script.

Graba las modificaciones. Por favor, que no se te olvide.

Una vez grabadas las modificaciones, para terminar el Paso 4, solo tendremos que sacar la tarjeta SD. PERO PARA EXTRAER LA TARJETA HAY QUE HACERLO DE FORMA SEGURA.

Para ello, vete de nuevo al explorador de archivos. y en el disco boot(X:) haz click con el botón derecho del ratón y elige "expulsar"



Esta última acción es fundamental. Si te lo saltas, el fichero terminará en malas condiciones, maloliente, corrupto.

Cuando veas el mensaje que es seguro extraer la tarjeta habremos terminado el proceso de grabación de la SD.

Si, mis explicaciones son largas, pero son sencillas y se tarda realmente muy poco en grabar las modificaciones.

El proceso más largo es el de grabar la imagen (el paso 1) y luego la ejecución del script.
« Última modificación: 07 de Mayo del 2020, 11:48:00 am por jantoni »

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #12 en: 07 de Mayo del 2020, 11:17:22 am »
Llegados aquí, solo falta el proceso de ejecutar el script.

Hacemos un alto en el camino, para introducir unos cambios sugeridos ayer por Jmviper.

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #13 en: 07 de Mayo del 2020, 11:47:01 am »
Publicado Meteowee 0.16

Ahora puedes elegir la zona horaria entre

UTC

Hora oficial de España Peninsular

Hora oficial de Canarias y Portugal (creo que también la peninsular)

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Meteowee (Instalación automática de weewx)
« Respuesta #14 en: 07 de Mayo del 2020, 11:57:28 am »
PASO 5

Ya llegamos, que nervios.  *-* *-* *-*

Una vez extraida la tarjeta SD de forma segura:

- La introducimos en la Raspberry Pi de nuestros amores.
- Si la Raspberry va a estar conectada a la red por cable ethernet, insertamos la clavija RJ45 en su lugar.
- Conectamos la Raspberry Pi a la fuente de alimentación.

Si podemos conectar un monitor o TV a la conexión HDMI (mini HDMI en algunos modelos de Raspberry Pi), nos ayudará mucho, pero no es imprescindible.

Todo el proceso siguiente lo vamos a explicar con conexión por SSH, pero podrías hacerlo con un teclado y un ratón conectados al puerto USB (o micro USB en algunos modelos de Raspi)

Una vez conectada la fuente de alimentación, el proceso de primer arranque tardará unos 2 minutos (menos en las raspi más rápidas)

En las raspis conectadas por ethernet al router no hay fallo posible.

En las conectadas por wifi, si a continuación no podemos conectarnos, el problema será que no hemos definido correctamente el ssid de la wifi y su contraseña. O bien has usado un adaptador Wifi que no es compatible.

Pasado este tiempo tendremos que averiguar la dirección IP asignada por el router a nuestra Raspberry Pi.

Y, una vez sepamos la dirección IP asignada, pasamos a la siguiente fase.