El clima en la pantalla de nuestra Raspberry PI 3

Esta entrada esta obsoleta.  Reemplacé la funcionalidad por un script en bash que consume menos recursos y es más fácil de mantener.

Uno de las cosas que quería poner en la pantalla de mi Raspberry PI 3 era la hora y el clima.

Estuve revisando varios proyectos que no demanden demasiado tiempo tenerlos en marcha sin demasiado éxito.

Cuando ya esta a punto de abandonar la empresa me encontré con el desarrollo rpiWSi  de krokus57 que tenía prácticamente todo lo que buscaba.

Este desarrollo utiliza la información que provee wunderground y es necesario tener una llave para poder consumir el servicio.  Una api de desarrollo es suficiente para el uso doméstico o pruebas tecnológicas.

Dependencias:

Para que rpiWSi pueda mostrarnos el clima, tenemos que satisfacer sus dependencias.  Instalando el paquete python-pygame satisfacemos los requisitos de ejecución:

sudo apt-get install python-pygame

Descarga:

El primer paso a realizar el descargar el zip que contiene al proyecto a nuestra Raspberry.

Para eso hay que ejecutar el siguiente comando desde el Raspbian.

cd /tmp/
wget https://github.com/krokus57/rpiWSi/archive/master.zip

El siguiente paso es descomprimir el zip que descargamos y mover el directorio

unzip master.zip
cd /tmp/rpiWSi-master
sudo mv ./rpiWSi /opt

Ya teniendo el desarrollo en la ubicación final, se debe proceder a modificar la parametría para que nos muestre el clima de nuestra ciudad y en nuestro idioma.

Configuración:

El archivo de configuración es /opt/rpiWSi/settings.py donde marco las líneas que se deberían modificar en negrita.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#interface language
#from lang_ru import *
from lang_en import *

#weather underground api key NEED TO CHANGE
wu_api_key = 'b12345abcd9ffda0a51f'

#gps coordinates NEED TO CHANGE
wu_gps_coordinates = '55.6890593,37.2906527'
#weather underground api language
#wu_language = 'RU'
wu_language = 'EN'

#do not change!
wu_icon_set = 'k'

#choose you temperature units (C/F)
temperature_inits="celsius"
#temperature_inits="fahrenheit"

debug=False
#debug=True

#web server port
web_server_port=8080

#screen resolution
screen_width,screen_height = 240,320


#do not change anything below

if __name__=="__main__":
 import rpiWSi,os
 if os.uname()[0]=="Linux":
 rpiWSi.ws_start(90)
 else:
 rpiWSi.ws_start(0)

Listo los cambios realicé en mi Raspbian

  1. from lang_sp import * 
  2. wu_api_key = ‘supersecretito’
  3. wu_gps_coordinates = ‘-34.603673,-58.381629’
  4. wu_language = ‘SP’
  5. screen_width,screen_height = 320,480

para editar ejecuto el comando

sudo vi  /opt/rpiWSi/settings.py

En el punto 1 hago referencia a un archivo de locales en español que creé para tener la pantalla en español.

Lo instalo ejecutando los siguientes comandos:

cd /tmp
wget http://www.sismonda.com.ar/wp-content/uploads/2017/04/lang_sp.zip
unzip lang_sp.zip
mv /tmp/lang_sp.py /opt/rpiWSi

El punto 2 es la llave de la API que se obtiene en wunderground

La información para completar el punto 3 la obtuve desde Google Maps, busque el nombre de la ciudad y desde un punto de referencia hice click derecho y click sobre la opción «Qué hay aquí?» / «What’s here?»

El punto 4 es la regionalización de la API de wunderground.

Y por último, el punto 5 es la resolución de pantalla que vino con el kit Raspberry PI 3 que compré.

El siguiente paso es ejecutar el script y comprobar el funcionamiento.

cd /opt/rpiWSi
sudo python rpiWSi.py

Raspberry / Raspbian mostrando el clima en la pantalla LCD

Una vez que comprobé que funciona correctamente y obtuve el clima y el pronostico en la pantalla, voy a agregar las instrucciones para que se ejecute cuando prenda el Raspbian.

sudo vi /etc/rc.local

E incorporar la siguiente línea en forma inmediata superior a la ultima instrucción «exit 0»

cd /opt/rpiWSi/ && nohup python rpiWSi.py >/dev/null 2>&1 &

Comentarios

4 respuestas a «El clima en la pantalla de nuestra Raspberry PI 3»

  1. Avatar de jorge
    jorge

    Buenos días… tengo problemas con los números… no los muestra correctamente

    1. Avatar de sismo
      sismo

      Fijate que la api este viva y que hayas configurado bien los datos de usuario. Los valores los muestra desalineados o ves todo en 0. Yo estuve con problemas con la API. Estoy armando un tutorial de un script que hice yo que funciona en bash y usa la api de openwheader. https://openweathermap.org/. Fijate mañana 12/07 lo termino y lo subo.

  2. Avatar de jorge
    jorge

    como puedo hacer para enviarte una foto ….

  3. Avatar de jorge
    jorge

    asi lo configure… tampoco me salen los dibujos… y me salen los titulos como escritos en ruso… (tipo simbolos ) #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    #interface language
    #from lang_ru import *
    from lang_sp import *

    #weather underground api key NEED TO CHANGE
    wu_api_key = ‘supersecretito’

    #gps coordinates NEED TO CHANGE
    wu_gps_coordinates = ‘-34.61,-58.38’
    #weather underground api language
    #wu_language = ‘RU’
    wu_language = ‘SP’

    #do not change!
    wu_icon_set = ‘k’
    #choose you temperature units (C/F)
    temperature_inits=»celsius»
    #temperature_inits=»fahrenheit»

    debug=False
    #debug=True

    #web server port
    web_server_port=8080

    #screen resolution
    #screen_width,screen_height = 240,320
    screen_width,screen_height = 320,480

    #do not change anything below

    if __name__==»__main__»:
    import rpiWSi,os
    if os.uname()[0]==»Linux»:
    rpiWSi.ws_start(90)
    else:
    rpiWSi.ws_start(0)

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.