Chronometre de tâches

Chronometre de tâches

Chronometre de tâches

Combien de fois suis-je interrompu ? Pendant combien de temps ?
Ce boitier permet de mesurer le temps de réalisation d'une tâche et le nombre d'interruption.

Il faut

  • Raspberry Pi 3
  • Ecran e-paper 4.2 ''
  • 5 boutons poussoir
  • 5 leds
  • 5 resistances de 147 Ohms
82% Complete

Le boitier affiche le nom de la tâche à réaliser en se connectant sur votre agenda Google. L'affichage se fait une un écran e-paper (très basse consommation).

Les boutons permettent de lancer et arrêter un chronomètre.

Les temps enregistrés sont sauvegardés dans un fichier local.

Les écrans sont entièrement configurables dans un fichier d'initialisation.

Installation de Raspian sur la carte SD

Installation de Raspian sur la carte SD

100% Complete
Cette partie va vous guider pour installer la dernière version d'un système d'exploitation sur une Raspberry Pi.

Il faut

  • Carte SD

Téléchargement

Télécharger la dernière version de Raspian en allant sur le site officiel :

https://www.raspberrypi.org/downloads/raspbian/

Dans notre cas, nous n'avons pas besoin de la version Desktop car nous utiliserons la Raspberry par une conection distante, une connection SSH. Nous avons donc besoin de la version allégée de Raspbian, la version "Lite"

Téléchargez et décompressez le fichier dans un répertoire temporaire, on obtient une image du système d'exploitation.

Ecriture sur la carte SD (Windows)

Le fichier au format img n'est pas copiable en tant que tel sur la carte SD, il faut utiliser un utilitaire comme par exemple Etcher (sous windows).

Une fois Etcher installé :

  1. Insérer la carte SD dans un lecteur USB sur votre ordinateur
  2. Lancer Etcher
  3. Sélectionner l'image (le fichier img) décompressé précédemment,
  4. Vérifier que la carte SD est bien sélectionnée dans Etcher
  5. Cliquer sur le bouton "Flash"

Le système d'exploitation est prêt, mais il faut encore configurer l'accès distant.

Activation de la connexion SSH

Par défaut, SSH est installé sur la Raspberry Pi, mais est désactivé pour des raisons de sécurité. La première chose à faire sera donc d’activer SSH sur votre Raspberry Pi.

Pour cela, il vous suffit de brancher la carte MicroSD de votre Raspberry Pi sur votre ordinateur, de vous rendre sur la carte, et de créer un fichier vide nommé ssh dans la partition boot.

Au prochain boot sur la carte SD, il sera possible de faire une connexion SSH en utilisant un client comme Putty (sous windows) par exemple.

Veillez à bien changer le mot de passe par défaut de l'utilisateur pi ("raspberry" par défaut) quand vous vous logez pour la première fois.

Voila, la carte SD est maintenant prête à être insérée dans la Raspberry.

Démarrage de la Raspberry Pi

La commande ifconfig vous permet de connaitre l'adresse IP que votre Raspberry vient d'avoir en se connectant sur votre réseau.

pi@raspberrypi:~ $ ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::d9f:c7ba:c902:d0c  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:83:ec:c2  txqueuelen 1000  (Ethernet)
        RX packets 284  bytes 39200 (38.2 KiB)
        RX errors 0  dropped 10  overruns 0  frame 0
        TX packets 110  bytes 16465 (16.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Nous allons ensuite configurer la Raspberry en lançant la commande : raspi-config

raspi-config

Changer le mot de passe par défaut (de l'utilisateur "pi") en choisissant :

1 - Change User Password

Modification de la langue par défaut

4 - Localisation Options

I1 - Change Locale (Supprimer : UK et cocher : fr_FR.UTF-8 UTF-8 )

Utilisation de l'interface SPI

5 - Interfacing options

P4 - SPI

Utilisation de toute la place disponible sur la carte SD

7 - Advanced options

A1 - Expand Filesystem

Finish, Reboot = yes

Création d'une clé API Google

Création d'une clé API Google

100% Complete
Voici, étapes par étapes, comment créer une clé d'API sur votre compte Google développeur

Installation des librairies Python pour accéder à l'API Google

Librairies Google API

Les Google agenda sont accessibles en utilisant l'API Google prévue à cet effet, il est nécessaire d'installer :

pip install --upgrade google-api-python-client oauth2client

L'accès à votre calendrier Google nécessite une authentification. Cette authentification doit être sauvée dans un fichier nommé credentials.json.

Récupération de votre credentials.json

A partir de votre console de gestion d'API et services Google, nous allons créer un nouveau projet qui aura accès en lecture seule aux Calendrier Google.

Création d'un nouveau projet dans la console

A partir de la page d'accueil de Google APIs :

  1. cliquer sur le lien en haut de page "+ Activer des API et des Services".  pour ouvrir la liste des APIs disponible, 
  2. cliquer sur 'Google Agenda API" pour l'activer.
  3. Revenez sur la page d'accueil de la console (en cliquant sur le logo "Google API" tout en haut à gauche de la page.
  4. Dans le tableau de bord de votre console, Il doit maintenant y avoir "Google Calendar API" qui apparaît.

Maintenant que nous avons un projet, nous pouvons lui attribuer une clé d'accès.

Création d'identifiants

A partir de la page d'accueil de Google APIs,

  1. Allez dans la partie Identifiants ( https://console.developers.google.com/apis/credentials ),
  2. Cliquez sur le bouton "Créer des identifiants" puis Sélectionnez un ID client OAuth, puis
  3. "Autre".
  4. Donnez lui un nom 'Calendar epaper" par exemple
  5. Cliquer sur le bouton Créer
  6. Une fenêtre s'ouvre, cliquez sur "ok"
  7. Il est alors possible de télécharger un fichier JSON en cliquant sur l'icône tout à droite sur la ligne commençant par "Calendar epaper". Sauver ce fichier en le renommant "credentials.json"

Récupération du premier token.json

Le token est un jeton d'authentification sécurisant la connexion entre l'API Google et la machine l'appelant. Il est créé lors de la première connexion et ne sera plus demandé par la suite.

Pour le générer, il faut lancer une première demande en exécutant la ligne de commande :

cd calendar2

python test-GoogleAgenda2.py --noauth_local_webserver

Une URL est alors générée et le programme attend un code de vérification. Copier-coller cette URL dans un navigateur (chrome, firefox, safari, ...) pour récupérer un code de la forme 4/Bgo9RqwRyXnLvM3Hb1_pYTzf22KqjbB3OkJEIRe_pX30RI. Coller ce code de vérification dans la ligne de commande pour continuer l'exécution du programme.

Votre calendrier doit s'afficher (dans un format JSON) dans la fenêtre de la ligne de commande et un fichier "token.json" vient d'être écrit dans le répertoire où vous avez lancé la ligne de commande.

Le fichier token.json doit être dans le répertoire epaper, déplacez le si besoin.

Vous pouvez maintenant relancer la commande :

python test-GoogleAgenda2.py

Elle doit vous afficher votre calendrier sans plus demander d'authentification.

Programmes Python

Programmes Python

10% Complete

Outils système

A faire.

Librairies python

sudo pip3 install pillow

pip install --upgrade google-api-python-client

pip install spidev board oauth2client

Ne pas oublier d'activer SPI en passant par raspi-config

Dépôt GIT (Sources)

a faire

Programmes

A faire.

Numérotation des GPIO d'une Raspberry PI

Numérotation des GPIO d'une Raspberry PI

100% Complete
Voici une astuces pour se repérer dans la numérotation des GPIO et PIN d'un Raspberry Pi.

wiringpi

Installer la librairies wiringpi :

sudo apt-get install wiringpi

Taper la commande :

gpio readall

on a alors la grille :

Les colonnes en rouge sont les broches physique que l'on voit sur la carte

RPI : Wiringpi
Utilisation de python3 par défaut

Utilisation de python3 par défaut

100% Complete
Voici une astuce pour utiliser Python3 par défaut dans le système Raspbian

Vérifions s'il y a une alternative installé pour python :

sudo update-alternatives --list python

-> 

update-alternatives: error: no alternatives for python

Le message d'erreur signifie qu'aucune alternative n'est mise ne place pour le python, nous pouvons donc passer à la suite.

Taper :

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2

Nous venons de construire des liens symboliques avec une priorité.

python3.5 sera pris en priorité lorsque l'on tapera en ligne de commande :

python --version

> Python 3.5.3

Python3 (3.5.3 pour être précis) est maintenant utilisé par défaut sur le système !

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