pythonIntroduction au langage de programmation Python

Communication en Python avec le bus i2c du Raspberry Pi.
Mise en œuvre du capteur de température DS1631

Le port GPIO du Raspberry Pi

Diaporama de présentation du GPIO du Raspberry Pi

Projet - Régulation de température d'un chauffage électrique via Internet

Mots clés

Raspberry pi, GPIO, bus i2c, capteur de température/thermostat DS1631, langage Python, interface graphique avec Tkinter, base de données SQLite, graphe déroulant avec matplotlib, protocole HTTP, framework web Flask, langage HTML, langage JavaScript, objet XMLHttpRequest, AJAX, format JSON, threads

Matériel de base

Sommaire

Préambule
=========

1. Le thermomètre/thermostat Dallas DS1631
2. Connexion du DS1631 au GPIO du Raspberry pi
3. Configuration du Raspberry pi pour l'utilisation du bus i2c
4. Logiciels nécessaires
a) Python 3
    modules standards sys, time, datetime, tkinter, sqlite3, threading et configparser
b) Modules externes de python à installer
    smbus, DS1631, matplotlib, flask
c) ipython3 (an enhanced Interactive Python)
d) Geany (IDE Python)
e) DB Browser for SQLite
f) Firefox

Travail à réaliser
==================

Partie A - Application locale
-----------------------------

A.1. Lecture de la température
    A.1.1. Avec un interpréteur python
    A.1.2. Premier script en mode console
    A.1.3. En mode graphique avec le module tkinter

A.2. Script de lecture périodique de la température
    A.2.1. Script en mode console
    A.2.2. Script en mode graphique

A.3. Lecture et écriture des températures de consigne du thermostat
    A.3.1. Avec un interpréteur python
    A.3.2. Script en mode console
    A.3.3. Script en mode graphique

A.4. Base de données SQLite
    A.4.1. Premiers pas avec SQLite
    A.4.2. Sauvegarde périodique des températures dans une base de données

A.5. Enregistrement périodique du fichier image de la courbe de température

A.6. Graphe déroulant de la température


Partie B - Application web
--------------------------

B.1. Qu'est-ce qu'un serveur web ?

B.2. Introduction au framework web flask : Hello world !

B.3. Site web « Régulation de température » : squelette du site

B.4. Page d'accueil
    B.4.1. Page d'accueil « statique »
    B.4.2. Page d'accueil dynamique avec AJAX
        B.4.2.1. Une page web au format JSON
        B.4.2.2. Actualisation de la température toutes les secondes dans la page
d'accueil
        B.4.2.3. Qu'est-ce qu'AJAX (Asynchronous JavaScript and XML) ?
        B.4.2.4. Explication du code du template accueil_ajax.html
        B.4.2.5. L'outil réseau de Firefox

B.5. Les pages du thermostat

B.6. Page Historique des températures (tableau dynamique)

B.7. Page Historique des températures (tableau et graphe dynamiques) avec mise en œuvre d'un thread
    B.7.1. Rappel sur les threads
    B.7.2. Mise en œuvre dans la page Historique des températures

B.8. Version multi-capteurs
    B.8.1. Généralisation à plusieurs capteurs
    B.8.2. Petite amélioration
    B.8.3. Fichier de configuration
    B.8.4. Consommation électrique

B.9. Complément pour les électroniciens : analyse des trames i2c

Télécharger le sujet

Télécharger les ressources (avec corrections)