Nos classiques
Thème 6
Activité 5 - Connectée
En groupe

L'informatique embarquée pour la domotique

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.
Introduction
Le terme domotique regroupe l'ensemble des techniques d'automatisation à l'intérieur de l'habitat qui visent à en améliorer le confort, la sécurité, la gestion de l'énergie et la communication. Ici, on souhaite mesurer la température et, si elle passe au-dessous d'une valeur choisie, envoyer automatiquement un mail d'avertissement grâce à un script en langage Python.
Capacité
    Écrire des programmes simples de commande d'un actionneur.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.
Comment être averti d'une température trop basse dans sa maison en cas d'absence ?
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Groupe 1

Mesure de la température

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Doc. 1
Photographie du montage

Placeholder pour Photographie de circuits électroniques: carte mère, bouton et LED connectés. Fils reliant les composants.Photographie de circuits électroniques: carte mère, bouton et LED connectés. Fils reliant les composants.
Le montage connecte le capteur de température et la DEL à la carte Arduino.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Doc. 2
Quelques précisions sur le code

Le capteur de température est relié à l'entrée analogique A1. Il génère une tension qui peut donner 1 024 valeurs possibles entre 0 et 5 V (amplitudes possibles en sortie de la carte Arduino).

Télécharger le , le transférer via le port série et retrouver plus d'informations concernant le capteur de température Grove.

Pour allumer ou éteindre la DEL branchée, il faut utiliser la fonction digitalWrite() permettant de commander la DEL :
  • digitalWrite(DEL, HIGH) ;
  • digitalWrite(DEL, LOW) ;
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

TP : Liste du matériel

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Questions
Retrouvez un questionnement différencié sur le cahier d'activités

1. Doc. 1 et Doc. 2. Réaliser le montage et téléverser le code en faisant attention aux entrées/ sorties utilisées. Pour vérifier les valeurs des températures, utiliser l'outil « Moniteur série » permettant de visualiser la mesure réalisée et affichée à l'aide de la fonction \mathrm{println()}.

2. Compléter le code pour que, lorsque la température passe en dessous d'une valeur seuil (par exemple 18 °C), une DEL s'allume. Si la température repasse au-dessus, elle s'éteint.

3.
Bilan
Expliquer le rôle de la carte Arduino et celui de l'ordinateur auquel la carte est raccordée.
Afficher la correction
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Groupe 2

Communication par message électronique avec Python

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Doc. 3
Codes Python

On utilise ici la bibliothèque \text{smtplib} qui permet d'envoyer un mail directement à l'aide d'un script Python. Attention, le script ne doit pas être diffusé avec vos identifiants personnels.

from time import sleep
import smtplib
from email.mine.text import MIMEtext

# La fonction qui envoie le message électronique (si l'ordinateur est connecté à Internet)

def envoyerMessage(texte):
	message_elec = MIMEText("J'envoie le texte suivant : " + texte)
	message_elec['Subject'] = "Mon message envoyé avec Python"
	message_elec['From'] = 'monAdresse@fai.fr'
	message_elec['To'] = 'destinataire@fai.com'

Le code à permet de récupérer les données envoyées par la carte Arduino programmée par le groupe 1. Il nécessite l'emploi de la bibliothèque \text{PySerial}.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Doc. 5
Configuration du port série

Le port série par lequel transitent les données doit être précisé dans le script. Il est donné dans le menu « Outils » → « Ports » de l'éditeur Arduino. Il est du type COM1 sous Windows et /dev/cu.usbmodem621 sous MacOS.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Doc. 4
Serveurs de messagerie courants

Ce tableau permet de renseigner le serveur et le port pour personnaliser le code du doc. 3 On utilise ici la bibliothèque \text{smtplib} qui permet d'envoyer un mail directement à l'aide d'un script Python. Attention, le script ne doit pas être diffusé avec vos identifiants personnels.
Placeholder pour Capture d'écran de code Python: fonction envoyant un email.  Le code utilise les modules 'time', 'smtplib', et 'email.mime.text'. Une fonction 'envoyerMessage' est définie.Capture d'écran de code Python: fonction envoyant un email.  Le code utilise les modules 'time', 'smtplib', et 'email.mime.text'. Une fonction 'envoyerMessage' est définie.
Le code à permet de récupérer les données envoyées par la carte Arduino programmée par le groupe 1. Il nécessite l'emploi de la bibliothèque \text{PySerial}. en fonction de son fournisseur d'adresse électronique.

FournisseurServeurPort
Freesmtp.free.fr465 ou 587
Gmailsmtp.gmail.com 465 ou 587
Orangesmtp.orange.fr587
SFRsmtp.sfr.fr465 ou 587

Retrouver la des serveurs et leurs ports.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Questions
Retrouvez un questionnement différencié sur le cahier d'activités

1. Expliquer pourquoi il ne faut pas diffuser le script une fois ses données personnelles de messagerie saisies.

2. Doc. 3 et doc. 4. Mettre en œuvre le script d'envoi de mail et tester son fonctionnement.

3. Compléter le code pour qu'un mail soit envoyé quand la température passe en dessous de la valeur seuil.

4. Tester avec la carte Arduino préparée par le groupe 1. Identifier l'instruction permettant de vérifier le bon déclenchement de l'envoi du mail.

5.
Bilan
Préciser à quoi sert l'ordinateur relié à la carte Arduino dans ce cas.
Afficher la correction
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Groupe 1 et 2

Synthèse

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.
Questions
1. Dans cet exemple de domotique, identifier ce qui comporte de l'informatique embarquée et ce qui est connecté.

2. Il est possible de n'utiliser que la seule carte Arduino du montage. Proposer un élément à ajouter au montage pour se passer de l'ordinateur.

3. Quels autres capteurs ou actionneurs pourrait-on utiliser pour améliorer le système ?

4.
Bilan
Quels autres systèmes domestiques pourraient être connectés pour améliorer le confort global d'un domicile ?
Afficher la correction

Une erreur sur la page ? Une idée à proposer ?

Nos manuels sont collaboratifs, n'hésitez pas à nous en faire part.

j'ai une idée !

Oups, une coquille

Utilisation des cookies
Lors de votre navigation sur ce site, des cookies nécessaires au bon fonctionnement et exemptés de consentement sont déposés.