from tkinter import * import tkinter as Tk import socket root=Tk.Tk() root.title('commande camera') root.withdraw() top=Tk.Toplevel() top.title("commande camera") background=Tk.Frame(root) sequence_number=83 UDP_IP = "192.168.0.100" UDP_PORT = 52381 VV = "18 " # Pan speed setting between 01 and 18 in normal speed, up to 0x7E in slow move mode. WW = "17 " # Tilt speed POS_1=["1200","EF00"] POS_2=["ED00","0400"] #sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) payload = "" header="" message="" def salle1(): payload = "81 01 06 02 " #Movetoabsoluteposition in POS payload = payload + VV + WW #add move speed for i in POS_1: #add position for j in i: payload = payload + "0" + j +" " payload = payload + "FF " #end byte header = "01 00 " # Payload type : 0100 for a command, 0110 for and inquiry, 0200 for a control command and 0120 for a device setting command header = header + "00 " #header = header + ('0'*(4-len(hex(len(payload.replace(' ',''))//2))) +hex(len(payload.replace(' ',''))//2)) header=header + '0F ' header = header + ('0'*(8-len(str(sequence_number)))+str(sequence_number)) message = header + payload sock.sendto(bytes.hex(message.replace(' ',''))) print("salle1" + message) sequence_number=sequence_number+1 def salle2(): payload = "81 01 06 02 " #Movetoabsoluteposition in POS payload = payload + VV + WW #add move speed for i in POS_1: #add position for j in i: payload = payload + "0" + j +" " payload = payload + "FF " #end byte header = "01 00 " # Payload type : 0100 for a command, 0110 for and inquiry, 0200 for a control command and 0120 for a device setting command header = header + "00 " #header = header + ('0'*(4-len(hex(len(payload.replace(' ',''))//2))) +hex(len(payload.replace(' ',''))//2)) header=header + '0F ' header = header + ('0'*(8-len(str(sequence_number)))+str(sequence_number)) message = header + payload sock.sendto(bytes.hex(message.replace(' ',''))) print("salle1" + message) sequence_number=sequence_number+1 def reset(): payload = "01h " #Movetoabsoluteposition in POS payload = payload + "FF " #end byte header = "02 00 " # Payload type : 0100 for a command, 0110 for and inquiry, 0200 for a control command and 0120 for a device setting command #header = header + ('0'*(4-len(hex(len(payload.replace(' ',''))//2))) +hex(len(payload.replace(' ',''))//2)) header=header + '0F ' header = header + ('0'*(8-len(str(sequence_number)))+str(sequence_number)) +" " message = header + ('0'*(4-len(hex(len(payload.replace(' ',''))//2))) +hex(len(payload.replace(' ',''))//2)) + " " #sock.sendto(bytes.hex(message.replace(' ',''))) print("reset " + message) sequence_number=1 up_gap=Tk.Label(top, text=' ') #mise en forme up_gap.pack() salle1_button=Tk.Button(top, text='salle 1', bg='grey', fg='black', padx=30, pady=6, command=salle1) salle1_button.pack() salle2_button=Tk.Button(top, text='salle 2', bg='red', fg='black', padx=30, pady=6, command=salle2) salle2_button.pack() reset_button=Tk.Button(top, text=' reset ', bg='white', fg='black', padx=30, pady=6, command=reset) reset_button.pack() up_gap2=Tk.Label(top, text=' ') #mise en forme up_gap2.pack() quit_menu=Tk.Button(top, text='QUIT', bg='red', fg='white', command=quit) quit_menu.pack(anchor='c') #mise en forme left_gap=Tk.Label(top, text=' ') left_gap.pack(side='left') right_gap=Tk.Label(top, text=' ') right_gap.pack(side='right') root.mainloop()