Bonjour, je suis débutant en Python, J'ai bouquiné une quinzaine d'heure avant de me lancer, mais j'ai de grosses lacunes.
Voici mon 1er programme:
Alors voilà, il y a une grosse partie qui fonctionne (Python 2.7.3rc2 sur Raspberry Pi), une fenetre s'ouvre et j'affiche bien une adresse IP bidon (0.0.0.0) au départ. Quand je clique sur "GO" une fonction permet d'aller sur le réseau chercher l'adresse IP d'un module électronique qui réponds bien, par exemple:
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 import time import sys from Tkinter import * from socket import * IP = "0.0.0.0" def find_tibbo(): MYPORT = 65535 donnee = 'X' print("sending X") time.sleep(.5) s = socket(AF_INET, SOCK_DGRAM) #UDP with DGRAM s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) s.sendto(donnee, ('<broadcast>', MYPORT)) data , addr = s.recvfrom(1024) print "RECV: ", data, " from:",addr #addr is a tuple IP_found = addr[0] # just IP, no port print IP_found s.close() return IP_found Win = Tk() Win.geometry('400x400+800+300') Win.title('subrack controler') Wintxt = Label(Win,text='Search for IP address').place(x=18,y=15) Winbutton = Button(Win,text = 'Go',command = find_tibbo).place(x=200,y=10) WinIP = Label(Win,text=IP).place(x=250,y=15) Win.mainloop()
>>>
sending X
RECV: A0.36.119.80.199/000001001/N**M/**/Herve //4 from: ('192.168.150.117', 65535)
192.168.150.117
>>>
Donc l'adresse IP est bien trouvée puisqu'imprimée.
Maintenant, et après avoir passé beaucoup de temps à trouver la solution, je n'arrive pas à changer l'adresse IP bidon de ma fenetre par la véritable adresse trouvée par ma fonction, après avoir cliqué "Go". (dans IP_found)
(Mes divers essais ne fonctionnaient pas, ou donnaient des choses... étranges)
Merci de votre aide
Hervé
Partager