Projet raspberry : code projet mail detector 2000

De TravauxIndse
Version datée du 26 janvier 2021 à 09:51 par Clement.puffet@indse.be (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Code Raspberry

Mail detector

Projet : Mail detector 2000

import RPi.GPIO as GPIO
GPIO.setwarnings(False)
import imaplib
import time
//Ici, on importe, comme ce nom l'indique en anglais, les dépendances nécessaires au bon fonctionnement du code
//Le setwarnings mit en false, désactive les messages d'erreurs inutiles


login="nomutilisateur"
passwd="motdepasse"
username=login+"@indse.be"
//On renseigne le nom d'utilisateur et le mot de passe (à changer évidement), ainsi que "indse.be" ou "gmail.com". Ces 2 ci fonctionnent mais nous n'avons pas testé les autres


imap=imaplib.IMAP4_SSL("imap.gmail.com")
imap.login(username,passwd)
//On se connecte grâce à la dépendance imap importée plus tôt


status,messages=imap.select("INBOX")
nombreMessages=int(messages[0])
//On regarde uniquement dans la boîte de réception et on compte le nombre de messages


gpio = 4
//Le raspberry envoie du courant dans le système électrique par le gpio 4 (on connecte donc le câble sur le pin 7 et sur le pin 9(ground))


GPIO.setmode(GPIO.BCM)
GPIO.setup(gpio, GPIO.OUT)


try:
while True:
status,messages=imap.select("INBOX")
nombreMessages=int(messages[0])
_, data = imap.search(None, 'UnSeen')
if len(data[0].split()) == 0:
GPIO.output(gpio, False)
else:
GPIO.output(gpio, True)
time.sleep(10)
except KeyboardInterrupt:
GPIO.cleanup()
//Création d'une boucle qui définit le nombre de messages dans la boîte de réception à 0
//Ensuite, on compte le nombre de messages non lu
//Si celui-ci est égale à 0, le raspberry n'envoie pas de courant aux leds
//Si celui-ci est différent de 0, le rasberry envoie du courant aux leds qui vont donc s'allumer
//On attend 10 secondes avant de reprendre au début de la boucle pour ne pas surcharger les services Google