Bonjours a tous,

Je souhaiterais créer un script python qui me permet de recup des variables d'un fichier .txt sur internet. Ceci dans le but d'allumer ou éteindre une LED en passant par la modification de la variable de ce fichier .txt a distance.
J'ai essayer ce script en récupérant des "bout" de code a droite et à gauche mais ça fonctionne pas ...

Le code ce lance, j'obtient:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
connecté
Le programme tourne
ouverture du port
port ouvert
Mais rien ne se passe, pas d'indication de " new mails","no new mails" ... ou même une led qui s'allume ....

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import urllib
cmd = []
print "connecté"
print "Le programme tourne"
import serial
 
 
 
a = 0
 
def recup():
 * * * *
 * * * * * * * *
 
 
 *
 * * * * * * * *a1 = urllib.urlopen("http://modelismebychico.free.fr/g.txt") ## Récup des valables; 1 fichier par led
 * * * * * * * *
 * * * * * * * *## Cette variable permet de couper le script, sinon, tuer le script sur le PC laisse le port com9 oqp
 
 * * * * * * * *if a1.readline != "":
 * * * * * * * * * * * *a = a1.readline()
 * * * * * * * * * * * *if a == "ERROR":
 * * * * * * * * * * * * * * * *ser.write("-1")
 * * * * * * * * * * * * * * * *print a
 * * * * * * * *else:
 * * * * * * * * * * * *if a > 0:
 * * * * * * * * * * * * * * * *ser.write("m")
 * * * * * * * * * * * *else:
 * * * * * * * * * * * * * * * *ser.write("n")
 * * * * * * * * * * * * * * * *print str(a) + ' new mail(s) !'
 * * * * * * * 
 
 * * * * * * * *recup()
print "ouverture du port"
ser = serial.Serial()
ser.setPort("COM3")
ser.baudrate = 57600
ser.close()
ser.open()
print "port ouvert"
recup()
if (ser.isOpen()):
 * * * *recup()
Sur mon arduino j'ai un programme qui me dit que si la variable est "m" alors jallume la LED verte, si c'est "n" la rouge et enfin "-1" la BLEU ! ce programme fonctionne bien, c'es juste la ârtie python qui coince ...

merci a vous

Bon j'ai rebosser un peu le truc et il se lance enfin mais le problème est qu'il me dit toujours "news mails" même quand j'ai "0" dans mon fichier texte en ligne *:smiley-yell:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import feedparser
import serial
import time
import urllib
 
# ------------------------------------------------------------------------------ #
 
request = "http://modelismebychico.free.fr/g.txt"
SERIALPORT = "COM3"
delay = 2
 
# ------------------------------------------------------------------------------ #
 
def check_gmail (request):
	try:
		newmails = urllib.urlopen("http://modelismebychico.free.fr/g.txt")
	except:
		return 'ERROR'
	else:
		return newmails
 
# ------------------------------------------------------------------------------ #
 
try:
	ser = serial.Serial("COM3", 9600)
except:
	print 'No device connected !'
else:
	while True:
		reply = check_gmail(request)
		if reply == 'ERROR':
			ser.write(-1)
			print reply
		else:
			if reply > 0: 
			 * ser.write("m")
			else: 
			 * ser.write("n")
			print str(reply) + ' new mail(s) !'
		time.sleep(delay)
merci