Categorías
RASPBIAN

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 &

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

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.

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.