Projet raspberry : code projet mail detector 2000 : Différence entre versions

De TravauxIndse
Ligne 3 : Ligne 3 :
 
=== Mail detector ===
 
=== Mail detector ===
  
[[Fichier:GDevelop.png|400px|thumb|right]]
+
<code>import RPi.GPIO as GPIO
 +
<br>GPIO.setwarnings(False)
 +
<br>import imaplib
 +
<br>import time
 +
<br>//Ici, on importe, comme ce nom l'indique en anglais, les dépendances nécessaires au bon fonctionnement du code
 +
<br>//Le setwarnings mit en false, désactive les messages d'erreurs inutiles
 +
 
 +
<br>login="nomutilisateur"
 +
<br>passwd="motdepasse"
 +
<br>username=login+"@indse.be"
 +
<br>//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
 +
 
 +
<br>imap=imaplib.IMAP4_SSL("imap.gmail.com")
 +
<br>imap.login(username,passwd)
 +
<br>//On se connecte grâce à la dépendance imap importée plus tôt
 +
 
 +
<br>status,messages=imap.select("INBOX")
 +
<br>nombreMessages=int(messages[0])
 +
<br>//On regarde uniquement dans la boîte de réception et on compte le nombre de messages
 +
 
 +
<br>gpio = 4
 +
<br>//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))
 +
 
 +
<br>GPIO.setmode(GPIO.BCM)
 +
<br>GPIO.setup(gpio, GPIO.OUT)
 +
 
 +
<br>try:
 +
<br>while True:
 +
<br>status,messages=imap.select("INBOX")
 +
<br>nombreMessages=int(messages[0])
 +
<br>_, data = imap.search(None, 'UnSeen')
 +
<br>if len(data[0].split()) == 0:                         
 +
<br>GPIO.output(gpio, False)
 +
<br>else:
 +
<br>GPIO.output(gpio, True)
 +
<br>time.sleep(10)
 +
<br>except KeyboardInterrupt:
 +
<br>GPIO.cleanup()
 +
<br>//Création d'une boucle qui définit le nombre de messages dans la boîte de réception à 0
 +
<br>//Ensuite, on compte le nombre de messages non lu
 +
<br>//Si celui-ci est égale à 0, le raspberry n'envoie pas de courant aux leds
 +
<br>//Si celui-ci est différent de 0, le rasberry envoie du courant aux leds qui vont donc s'allumer
 +
<br>//On attend 10 secondes avant de reprendre au début de la boucle pour ne pas surcharger les services Google
 +
 
 +
</code>

Version du 26 janvier 2021 à 10:49

Code Raspberry

Mail detector

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