Select Git revision
-
Jérémy Guiselin authoredJérémy Guiselin authored
cam commandes.py 5.21 KiB
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sequence_number=1360
UDP_IP = "192.168.0.100"
UDP_PORT = 52381
VV = "10 " # Pan speed setting between 01 and 18 in normal speed, up to 0x7E in slow move mode.
WW = "10 " # Tilt speed
POS_1=["0A00","FB00"]
POS_2=["F700","FB00"]
payload = ""
header=""
message=""
commande = ""
while commande != "reset":
command = input('Indique ta commande : pos1, pos2, movetuyau, manualfocus, \n focustuyau, autofocus, zoom0, zoom2 \n')
if command in ["pos1", "pos2", "reset"]:
if(command == "pos2"):
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.fromhex(message.replace(' ','')),(UDP_IP,UDP_PORT))
print("salle2" + message)
sequence_number = sequence_number+1
if(command=="pos1"):
payload = "81 01 06 02 " #Movetoabsoluteposition in POS
payload = payload + VV + WW #add move speed
for i in POS_2: #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.fromhex(message.replace(' ','')),(UDP_IP,UDP_PORT))
print("salle1 " + message)
sequence_number=sequence_number+1
# if(command=="reset"):
# payload = "01 " #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 + '01 '
# header = header + "00 00 00 00"
# message = header + payload
#
# sock.sendto(bytes.fromhex(message.replace(' ','')),(UDP_IP,UDP_PORT))
# print("reset " + message)
# sequence_number = sequence_number+1
else:
if(command=='moveleft_c'):
payload = "81 01 06 01 18 17 01 03 FF"
header = "10 00 00 09"
if(command =='moveright_c'):
payload = "81 01 06 01 18 17 02 03 FF"
header = "10 00 00 09"
if(command == 'stop'):
payload = "81 01 06 01 00 00 03 03 FF"
header = "10 00 00 09"
if(command=='d'):
# payload = "81 01 06 03 VV WW 0Y 0Y 0Y 0Y 00 00 00 00 FF YYYY de DE00 à 2200 center 0000
payload = "81 01 06 03 09 09 00 01 02 02 00 00 00 00 FF"
header = "01 00 00 0F"
if(command =='q'):
payload = "81 01 06 03 09 09 0F 0E 0D 0E 00 00 00 00 FF"
header = "01 00 00 0F"
if(command =='z'):
payload = "81 01 06 03 09 09 0F 0E 0D 0E 0 00 00 00 FF"
header = "01 00 0q
q
dezo 0 0F"
if(command =='s'):
payload = "81 01 06 03 09 09 0F 0E 0D 0E 00 00 00 00 FF"
header = "01 00 00 0F"
if(command=="zoom0"):
payload="81 01 04 47 00 00 00 00 FF"
header = "01 00 00 09"
if(command=="zoom2"):
payload="81 01 04 47 01 06 0A 01 FF"
header = "01 00 00 09"
if(command=="focustuyau"): #6m
payload="81 01 04 48 04 00 00 00 FF"
header = "01 00 00 09"
if(command=="manualfocus"):
payload="81 01 04 38 03 FF"
header = "01 00 00 06"
if(command=="autofocus"):
payload="81 01 04 38 02 FF"
header = "01 00 00 06"
if(command=="movetuyau"):
payload="81 01 06 02 10 10 01 02 00 00 0F 0E 0C 00 FF"
header = "01 00 00 0F"
header = header + ('0'*(8-len(str(sequence_number)))+str(sequence_number))
message = header + payload
sock.sendto(bytes.fromhex(message.replace(' ','')),(UDP_IP,UDP_PORT))
print("fait "+ command)
sequence_number = sequence_number + 1
print(sequence_number)