Programmes Python

Programmes Python

Programmes Python

Les programmes sont écrits en Python.

Il faut

Il est nécessaire d'installer les librairies Python suivantes :

  • Google : google-api-python-client oauth2client
  • Leds : rpi_ws281x adafruit-circuitpython-neopixel psutil
  • Requêtes : request request-cache

Prérequis

Vous devez posséder un compte Google Développeur pour pouvoir accéder à l'API Google et récupérer votre Google Agenda.

100% Complete

Installation des outils système

Le dépôt des codes sources étant sur un serveur GIT, il est nécessaire d'installer les outils GIT par la commande :

sudo apt-get update

sudo apt-get install git

Afin de faciliter les installation des librairies de Python nous allons installer l'utilitaire pip avec la commande :

sudo apt-get install python-pip python3-pip

Installation des librairies python nécessaires

Installation de PIL pour la version Jessie de Raspbian (Python Image Librarie) :

sudo apt-get install python-pil

Installation des autres librairies :

pip install bleach spidev requests_cache

Récupération des codes sources

Ils sont disponibles sur le dépôt GIT suivant :

https://github.com/AlexDesign-Fr/epaper

Configuration du code source

Le fichier config.py contient les identifiants de calendrier Google à afficher. Il est nécessaire de le modifier avec les identifiants de vos calendriers, voici comment faire :

Récupération des identifiants des calendriers Google

Afin d'indiquer au programme quels calendriers afficher, il vous faut l'initialiser avec les IDs de vos Google agenda.

En allant sur la page Google Agenda, vous pouvez trouver les IDs de vos calendriers en cliquant sur l'icône de paramétrage (l'engrenage en haut à droite de la fenêtre). Puis en sélectionnant le calendrier que vous voulez utiliser (colonne de gauche) vous aller trouver l'ID de l'agenda dans la section "Intégrer l'agenda". C'est un identifiant de la forme :

ouae3po7sbgtpfmeja5o6b4@group.calendar.google.com

Copiez-collez cet ID dans le fichier de configuration config.py dans le tableau de la variable CalendarsID.

Il est possible de paramétrer autant de calendrier que l'on veut.

Librairies pour les leds

Les librairies utilisées pour l'allumage des LEDs sont en Python3 et nécessitent les droits root, il faut donc les installer avec :

sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel psutil

Récupération de l'Identifiant de votre ville (pour la météo et les prévisions)

Il existe plusieurs façon d'avoir la météo de votre ville dans Open Weather (voir https://openweathermap.org/current). Mon programme utilise les identifiants de ville (les IDs) car ils sont uniques et sans équivoque quant aux résultats.

Le plus simple pour trouver l'ID de votre ville est de vous rendre sur la page d'accueil d'Open Weather et de saisir le nom de votre ville (suivie d'une virgule et de son code internationale de pays) et d'en afficher la carte météo. 

Par exemple :

Plabennec,FR

Il y a alors une liste de proposition qui s'affiche. Choisissez votre ville en cliquant sur son nom : le temps actuel s'affiche ?

L'URL de openweather contient maintenant l'ID de votre ville, par exemple :

https://openweathermap.org/city/2986991

l'ID de Plabenec,FR est donc 2986991

Copiez-collez cet ID dans le fichier config.py derrière la variable : openWeatherCityName

Accéder à votre serveur Domoticz (optionnel)

Domoticz ( https://www.domoticz.com/wiki/Main_Page ) permet de mettre en place un serveur domotique. Il peut surtout regrouper des données de température provenant de vos différents capteurs. Ce tutoriel n'a pas pour vocation de vous indiquer comment installer un tel serveur. Dans le cas du projet epaper, Domoticz est utilisé pour renvoyer les températures collectées.

epaper permet d'afficher les valeur de 5 thermomètres connectés à Domoticz. Si vous en avez un en extérieur, c'est cette température qui sera affiché à la place de celle retournée par Open Weather. Vous devez alors définir dans le fichier config.py l'IDx du thermomètre extérieur.

Modifiez le fichier config.py en fonction de votre configuration Domoticz.

Si vous n'avez pas de serveur Domoticz, la température extérieur affichée sera celle trouvée par l'API Open Weather et les température des thermomètres internes ne s'affichera pas.

Copyright © 2015 Alex-design.fr All rights reserved.