\documentclass[11pt,a4paper]{../../template/template_cours}
\usepackage{listings}

\usepackage{minted}

\title{Projet pluridisciplinaire — Le brassage de la bière}
\author{Adrian Amaglio}
\def\thesequence{Données structurées, web}

\begin{document}
Ceci est une trame à suivre, les détails techniques ne sont pas réglés.
Durée : 3h

%
% https://pimylifeup.com/raspberry-pi-temperature-sensor/
\section{Microcontrolleur programmable}
Nous travaillerons sur un raspberry pi pour récupérer les valeurs des capteurs.

\subsection{Mesure de la température}
% En vrai on peut aussi mesurer la pression et le pH
Durée : 1h
\begin{exercice}
    Connectez le capteur de température et la résistance au raspberry pi comme sur le shéma suivant :
    \includegraphics[width=\textwidth]{circuit.png}
\end{exercice}

\begin{exercice}
    Récupérez le fichier python à cette adresse : \url{https://git.jean-cloud.net/adrian/cours-snt/raw/branch/master/projets/projet_biere/main.py}
    \\
    et exécutez-le sur votre raspberry pi.
    Vérifiez qu’il affiche bien la valeur de la température chaque seconde
\end{exercice}

\begin{exercice}
    Modifiez le programme principal pour qu’il écrive dans un fichier CSV, la date, l’heure actuelle et la température mesurée.
    Votre fichier CSV devra ressembler à cela :
    \begin{verbatim}
        date;heure;temperature
        11/02/2021;15:14:10;22
        11/02/2021;15:15:10;21
        11/02/2021;15:16:10;21
        11/02/2021;15:17:10;20
        11/02/2021;15:18:10;20
    \end{verbatim}

    Vous pourrez vous aider de la fonction « ajout\_ligne\_fichier » disponible dans le fichier python que vous avez téléchargé.
\end{exercice}


\subsection{Régulation du chauffage}
Durée 1h

\begin{exercice}
    Le chauffage de la cuve de fermentation n’est pas réglable, le chauffage est donc mis à fond pour faire monter la température, puis eteint lorqu’elle est acceptable.
    \\
    La fonction « temp\_cible » retourne la valeur de la température idéale pour la fermentation.
    \\
    Dans votre programme principal, activez le chauffage si nécessaire (en fonction de la température relevée) pour que la température soit optimale dans la cuve.
    \\
    Vous vous aidere des fonctions « chauffage\_on » et « chauffage\_off » fournies.
\end{exercice}

\subsection{Affichage des mesures sur une page web}
Durée 1h
\begin{exercice}
    Exécutez votre programme python puis rendez-vous à l’adresse \url{http://localhost:8080}. Vous devriez voir le message « Non implémenté ».
    \\
    Pour que cette page web affiche la liste des températures mesurées, modifiez la fonction « temp\_format\_html » pour qu’elle génère un code HTML qui met en forme les mesures dans un tableau.
\end{exercice}

\begin{exercice}
    Bonus : Ajoutez une page « /reglage » qui affiche un formulaire pour que l’utilisateur puisse renseigner une température à maintenir.
    \\
    Faites en sorte que lorsque l’utilisateur valide le formulaire, la valeur qu’il a entré soit passée à la fonction « nouvelle\_temp\_cible ».
\end{exercice}

\end{document}
