[python] lancer un programme à la connexion internet
totem95d
-
gudu -
gudu -
Bonjour,
Je suis un débutant dans la programmation, j'ai comme projet de créer un programme qui : - - envoi un mail lorsqu'un contact est fermé.
- envoi un mail au démarrage du système
Actuellement mon programme fonctionne à peu près correctement même si il doit pouvoir s'écrire de manière plus correcte.
mon souci c'est que lorsque je redémarre le système, le programme se lance avant d'être connecté à internet.
J'aimerais créer d'abord une boucle qui vérifie la connexion, et qui envoie ensuite la mail si la connexion est établie. Comment faire ?
Je suis un débutant dans la programmation, j'ai comme projet de créer un programme qui : - - envoi un mail lorsqu'un contact est fermé.
- envoi un mail au démarrage du système
Actuellement mon programme fonctionne à peu près correctement même si il doit pouvoir s'écrire de manière plus correcte.
mon souci c'est que lorsque je redémarre le système, le programme se lance avant d'être connecté à internet.
J'aimerais créer d'abord une boucle qui vérifie la connexion, et qui envoie ensuite la mail si la connexion est établie. Comment faire ?
#!/usr/bin/env python
# -*- coding:Utf-8 -*-
#script envoie de mail
import smtplib
import RPi.GPIO as GPIO
import time
pin_fin_res = 23
pin_dem_add = 22
pin_coup_cour = 27
pin_rem_tens = 18
debounce = 0.1 #attente anti rebond
GPIO.setmode(GPIO.BCM)
###########################
#test de connexion internet
###########################
#???
###########################
#Démarrage de l'additiveur et envoie d'un mail
###########################
content = 'additiveur societe X redemarre'
mail = smtplib.SMTP('smtp.gmail.com',587)
mail.ehlo()
mail.starttls()
mail.login('***@***',"monmdp")
mail.sendmail('***@***','***@***',content)
mail.close()
print ("Additiveur redémarré mail envoyé")
while True:
#contact de réservoir vide
# Le GPIO "pin_fin_res" est initialisé en entrée. Il est en pull-up pour éviter les faux signaux
GPIO.setup(pin_fin_res, GPIO.IN, pull_up_down=GPIO.PUD_UP)
print ("En attente de fin de reservoir")
time.sleep(debounce) #délais en seconde
GPIO.wait_for_edge(pin_fin_res, GPIO.FALLING)
print ("\nAppui detecté")
GPIO.cleanup() # reinitialisation GPIO lors d'une sortie CTRL+C
time.sleep(5)
content = 'Reservoir vide PIN23'
mail = smtplib.SMTP('smtp.gmail.com',587)
mail.ehlo()
mail.starttls()
mail.login('***@***',"monmdp")
mail.sendmail('***@***','***@***',content)
mail.close()
print ("Réservoir vide PIN23 mail envoyé à ***@***")
A voir également:
- [python] lancer un programme à la connexion internet
- Gmail connexion - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Lancer un programme au démarrage windows 10 - Guide
- Arcep ma connexion internet - Accueil - Box & Connexion Internet
- Comment savoir si quelqu'un utilise ma connexion internet - Guide
1 réponse
De toute façon, rien ne garanti qu'une connexion internet soit établie à coup sûr, donc il faut bien la tester de toute façon.
En cherchant ping et python, on trouve des choses intéressantes.
Par ex, https://stackoverflow.com/questions/316866/ping-a-site-in-python
Ou encore
https://stackoverflow.com/questions/17679887/python-check-whether-a-network-interface-is-up
En cherchant ping et python, on trouve des choses intéressantes.
Par ex, https://stackoverflow.com/questions/316866/ping-a-site-in-python
Ou encore
https://stackoverflow.com/questions/17679887/python-check-whether-a-network-interface-is-up