envoi mail automatique sur evenement

Vous souhaitez développer un projet mais vous manquez de temps, de compétences ? Présentez votre projet ici pour trouver des participants...

Modérateur : Francois

Répondre
iznobe
Messages : 15
Enregistré le : mar. 28 mai 2019 17:11
Localisation : carpentras vaucluse (84)

envoi mail automatique sur evenement

Message par iznobe » mer. 29 mai 2019 09:39

Bonjour ,
je suis en recherche sur la mise en place d' un projet plutot simple que je n ' arrive pas a mettre en place :roll:

j ' ai une reserve d' eau comportant un flotteur , je voudrais que lorsque celui ci fait contact en position haute cela m ' envoie une alerte de type mail .

Pour cela je dispose d' un rasperry pi 3 b+ sous stretch desktop equipé d ' une carte interface hifiberry dac+ ( voir ici le bestiau :http://www.suptronics.com/miniPCkits/x5000k.html ) connecté au reseau local ayant acces internet par l ' intermediaire d ' une live box tout fraichement installé sur lequel est installé pi-hole .

Apres plusieurs essais je n ' arrive pas a recuperer le contact par l ' intermediare des GPIO .

je viens donc de tout reinstaller proprement pour partir sur de bonnes bases :)

il se pose pour ma part plus de problematique quand a la mise en place de la partie electronique GPIO plutot que la partie logicielle.

Bref ,
dans un premier temps comment faire pour verifier que la partie GPIO est fonctionnelle ?
dans un deuxieme temps comment mettre en place la partie electronique reliee au GPIO physiquement faut il choisir pull_up ou pull_down ?
quelle valeur de resistance placer si il en faut une ou est ce que je peux utiliser le pin 13 et sa resistance incorporee ?
comment verifier que le contact sur GPIO est bien recu ?
ensuite viendra certainement la creation d' un petit script python qui surveillera donc le GPIO choisit et enverra un mail qui reste a priori la solution la moins onereuse a mettre en place , sauf si vous avez d' autres options .

je sais que cela fait beaucoup de questions d ' un seul coup mais je n ' ai jamais realisé de projet domotique et je suis a mes tout debut dans la creation de projet de la sorte , je n ' ai aucune connaissance en electronique ni en progrramation , entierement en autodidacte ...
j ' ai besoin d' aide pour cette realisation qui est importante pour moi , j ' ai d' autres projets par la suite plus complexe , mais chaque chose en son temps :D !

Merci pour votre aide et ce fabuleux site et forum ou on peut apprendre beaucoup de choses .

EDIT 1 : le script python pour envoyer le mail est fonctionnel , grace a ce mini tuto :https://python-django.dev/page-python-envoyer-mail-smtp apres test ca fonctionne impec , il ne reste plus que le script de detection de l ' evenement en crontab surement ?

EDIT2 : des le depart j ' ai un soucis , afin de pouvoir utiliser les GPIO , ne faut-il pas activer dans le raspi-config la partie adequate ? apres moulte recherche sur le net , personne ne parle de ca ...

De plus j ' ai un autre probleme , mon pi est dans un boitier special que j ' ai acheté sur internet dans un pac , comprenant deux cartes filles , une hifiberry dac + et l ' autre pour brancher un disque dur , du coup comment savoir quels GPIO sont utilisés par ces deux cartes ?
le pi est alimenté par l ' intermediare du port USB d ' une des cartes filles qui elle est alimenté par une alim 12 Volts 5 A , donc " impossible " de desolidariser le tout car je n ' ai pas d ' alim specifique RPI .

si je lance un " GPIO readall " voici le resultat :
Image

j ' espere qu ' il reste encore au moins un GPIO dispo pour mon projet ...

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: envoi mail automatique sur evenement

Message par Artemus24 » ven. 31 mai 2019 20:01

Salut Iznobe.

Je vous conseille de vous procurer une autre raspberry pour faire vos bidouilles.
Après tout, cela ne coute que $35 et ne va pas vous ruiner. Pourquoi ?
Afin d'avoir à votre disposition, toutes les GPIO pour entreprendre ce que vous désirez faire.
Et comme celui que vous avez est déjà utiliser pour la musique, il serait dommage de l'abimer.
Iznobe a écrit :j'ai une réserve d'eau comportant un flotteur, je voudrais que lorsque celui ci fasse contact en position haute cela m'envoie une alerte de type mail.
Justement, comment allez-vous transformer ce déclencheur en un signal électrique afin que votre raspberry puisse gérer cette alerte en un envoi d'email ou de sms ?
C'est le cœur de votre projet et il vous manque un capteur de niveau d'eau.

Il y a ce sujet qui traite justement d'un capteur de niveau d'eau :
--> https://www.framboise314.fr/une-mesure- ... pberry-pi/
et la suite du projet :
--> https://www.fred-j.org/?p=364

Et voici ce que l'on trouve sur le net :
--> https://www.amazon.fr/Capteur-Liquide-f ... B07C9RTGPJ
--> https://canyoning-llech-infos.fr/articl ... u-sms.html
--> https://arduino103.blogspot.com/2013/08 ... ergee.html

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

iznobe
Messages : 15
Enregistré le : mar. 28 mai 2019 17:11
Localisation : carpentras vaucluse (84)

Re: envoi mail automatique sur evenement

Message par iznobe » sam. 1 juin 2019 10:57

Artemus24 a écrit :
ven. 31 mai 2019 20:01
Justement, comment allez-vous transformer ce déclencheur en un signal électrique afin que votre raspberry puisse gérer cette alerte en un envoi d'email ou de sms ?
C'est le cœur de votre projet et il vous manque un capteur de niveau d'eau.
Salut et merci de vous penchez sur mon probleme

le flotteur que j ' utilise possede un contact NO et un NF , il sert uniquement a me signaler si il y a une fuite dans mon circuit de pompage .
il ya aussi un vide cave qui permet en cas de fuite de ne pas innonder mon local ou sont situes mes pompes .

le flotteur est donc un " capteur d' eau " simple comme celui qui est dans le premier lien que vous avez linké ;)

il n ' est pas situé dans une cuve mais dans le regard ou est situé le vide cave , et je n' ai donc pas besoin de capturer differents niveaux , juste un etat haut ( il y a une fuite d' eau et donc j ' envoi un mai l ) ou fonctionnement normal ( pas de fuite , donc etat bas du flotteur et on ne fait rien ) .
Le flotteur fonctionnera comme un bouton poussoir , ou un interupteur simple , style chasse d' eau connectée :D

je pense donc simplement envoyé le GPIO par exemple 7 ( si il est libre ) en pull down , quand il passe en etat haut grace au langage python on peut se mettre en attente du signal haut , lorsque celui ci passe effectivement a haut il suffit de faire un appel a la fonction qui envoi le mail , comme dans le tuto que j' ai linké dans mon premier EDIT du premier post .

style ca :

Code : Tout sélectionner

try:
    import RPi.GPIO as GPIO
except RuntimeError:
    print("Error importing RPi.GPIO!  This is probably because you need superuser privileges.  You can achieve this by using 'sudo' to run your script")

GPIO.setmode(GPIO.BOARD) 
  
MAIL_INPUT_PIN = 7

GPIO.setup(SMS_INPUT_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # , initial=GPIO.HIGH


# wait for up to 5 seconds for a rising edge (timeout is in milliseconds)
channel = GPIO.wait_for_edge(SMS_INPUT_PIN, GPIO.RISING, timeout=5000) # Note that you can detect edges of type GPIO.RISING, GPIO.FALLING or GPIO.BOTH
if channel is None:
    print("nada")
else:
    print('Edge detected on channel', MAIL_INPUT_PIN)
    sendmail()
    
def send mail ():    
	import smtplib
	from email.MIMEMultipart import MIMEMultipart
	from email.MIMEText import MIMEText

	msg = MIMEMultipart()
	msg['From'] = 'XXX@gmail.com'
	msg['To'] = 'YYY@gmail.com'
	msg['Subject'] = 'Le sujet de mon mail' 
	message = 'Bonjour !'
	msg.attach(MIMEText(message))
	mailserver = smtplib.SMTP('smtp.gmail.com', 587)
	mailserver.ehlo()
	mailserver.starttls()
	mailserver.ehlo()
	mailserver.login('XXX@gmail.com', 'PASSWORD')
	mailserver.sendmail('XXX@gmail.com', 'XXX@gmail.com', msg.as_string())
	mailserver.quit()
je pense que ca ne devrait pas etre trop mal pour un debut de script .

Mon probleme est plutôt de trouver un pin disponible sur ma framboise , et surtout le cablage qui va avec ( si il en faut les resistances a placer dans le montage et ou ) , un schema serait le top en fait ! :P car mes annees de lycee sont loin et depuis je n' ai plus fait d' electronique ... :roll:

J ' en profite pour preciser que j' ai deja les resistances ( si besoin ) ainsi que tout l ' attirail pour souder , le fer , tresse a dessouder , flotteur , cables etc ...

Répondre

Retourner vers « Projets »