Skip to content
Snippets Groups Projects
Select Git revision
  • f577a0414e700fc3d170805b59ed1d4a89cac37f
  • master default
2 results

app.js

Blame
  • 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)