« Projet raspberry : code projet mail detector 2000 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 3 : | Ligne 3 : | ||
=== Mail detector === | === Mail detector === | ||
[[ | [[Projet : Mail detector 2000]] | ||
<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> |
Dernière version du 26 janvier 2021 à 09:51
Code Raspberry[modifier]
Mail detector[modifier]
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