diff --git a/Documentation/SRG-300H dimensins.pdf b/Documentation/SRG-300H dimensins.pdf new file mode 100644 index 0000000000000000000000000000000000000000..885c5739267f1c9d35aaf785ebca8a1b4a161295 Binary files /dev/null and b/Documentation/SRG-300H dimensins.pdf differ diff --git a/Documentation/SRG_300H command list.pdf b/Documentation/SRG_300H command list.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7d04a07b1f6c0e97e64b74c7e8830fe19de057d5 Binary files /dev/null and b/Documentation/SRG_300H command list.pdf differ diff --git a/Logiciels/RM-IPSetupTool/RM-IPSetupTool/RM-IPSetupTool.exe b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/RM-IPSetupTool.exe new file mode 100644 index 0000000000000000000000000000000000000000..cf1a04b621079ba939ad0c6509412296c09828a3 Binary files /dev/null and b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/RM-IPSetupTool.exe differ diff --git a/Logiciels/RM-IPSetupTool/RM-IPSetupTool/ReleaseNote.txt b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/ReleaseNote.txt new file mode 100644 index 0000000000000000000000000000000000000000..399dd38d942a6ba1e2b8e93baa2440af6eabe1d1 --- /dev/null +++ b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/ReleaseNote.txt @@ -0,0 +1,5 @@ +Ver1.1.0 (Dec. 22,2017) +- Chinese Language is now supported. + +Ver1.0.0 (Mar. 15,2017) +- First release diff --git a/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125093606.log b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125093606.log new file mode 100644 index 0000000000000000000000000000000000000000..45996ecc935b3364539081bb77fd20dedf90f67b --- /dev/null +++ b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125093606.log @@ -0,0 +1,12 @@ +[SUCCESS] 181125093606 +Success!! + +[SND/NETINQ] 181125093606 +02454e513a6e6574776f726bff03 + +[SND/NETINQ] 181125093610 +02454e513a6e6574776f726bff03 + +[SND/NETINQ] 181125093612 +02454e513a6e6574776f726bff03 + diff --git a/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125094825.log b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125094825.log new file mode 100644 index 0000000000000000000000000000000000000000..03ac0ea3e504e050076e544ac6d56492b17d7dfc --- /dev/null +++ b/Logiciels/RM-IPSetupTool/RM-IPSetupTool/log/connectlog_181125094825.log @@ -0,0 +1,39 @@ +[SUCCESS] 181125094825 +Success!! + +[SND/NETINQ] 181125094825 +02454e513a6e6574776f726bff03 + +[RECIEVE] 181125094826 +024d41433a30342d35442d34422d32462d43342d3637ff494e464f3a6e6574776f726bff4d4f44454c3a495043415244ff534f465456455253494f4e3a322e3130ff49504144523a3139322e3136382e302e313030ff4d41534b3a3235352e3235352e3235352e30ff474154455741593a302e302e302e30ff4e414d453a43414d31ff57524954453a6f6eff03 + +[RCV/NETINQ] 181125094826 +Analyze start. + +[SND/NETINQ] 181125100703 +02454e513a6e6574776f726bff03 + +[RECIEVE] 181125100703 +024d41433a30342d35442d34422d32462d43342d3637ff494e464f3a6e6574776f726bff4d4f44454c3a495043415244ff534f465456455253494f4e3a322e3130ff49504144523a3139322e3136382e302e313030ff4d41534b3a3235352e3235352e3235352e30ff474154455741593a302e302e302e30ff4e414d453a43414d31ff57524954453a6f6eff03 + +[RCV/NETINQ] 181125100703 +Analyze start. + +[SND/NETINQ] 181125100710 +02454e513a6e6574776f726bff03 + +[RECIEVE] 181125100710 +024d41433a30342d35442d34422d32462d43342d3637ff494e464f3a6e6574776f726bff4d4f44454c3a495043415244ff534f465456455253494f4e3a322e3130ff49504144523a3139322e3136382e302e313030ff4d41534b3a3235352e3235352e3235352e30ff474154455741593a302e302e302e30ff4e414d453a43414d31ff57524954453a6f6eff03 + +[RCV/NETINQ] 181125100710 +Analyze start. + +[SND/NETINQ] 181125100713 +02454e513a6e6574776f726bff03 + +[RECIEVE] 181125100713 +024d41433a30342d35442d34422d32462d43342d3637ff494e464f3a6e6574776f726bff4d4f44454c3a495043415244ff534f465456455253494f4e3a322e3130ff49504144523a3139322e3136382e302e313030ff4d41534b3a3235352e3235352e3235352e30ff474154455741593a302e302e302e30ff4e414d453a43414d31ff57524954453a6f6eff03 + +[RCV/NETINQ] 181125100713 +Analyze start. + diff --git a/Logiciels/Wireshark-win64-2.6.4.exe b/Logiciels/Wireshark-win64-2.6.4.exe new file mode 100644 index 0000000000000000000000000000000000000000..aba2279f5bff4f6d9d35cbc33e35e71d310cae93 Binary files /dev/null and b/Logiciels/Wireshark-win64-2.6.4.exe differ diff --git a/cam commandes.py b/cam commandes.py new file mode 100644 index 0000000000000000000000000000000000000000..ce0f916842821be4cefdda6d387f820c191f5053 --- /dev/null +++ b/cam commandes.py @@ -0,0 +1,91 @@ +import socket +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP +sequence_number=520 + +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"] +#sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +payload = "" +header="" +message="" + +while True: + command = input('Indique ta commande : pos1, pos2, reset \n') + if(command == "pos1"): + 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("salle1" + message) + sequence_number=sequence_number+1 + if(command=="pos2"): + 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("salle2 " + 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=1 +""""if(command=='moveleft'): + payload = "81 01 06 01 03 03 01 03 FF" + header = "10 00 00 09" + 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("Moveleft : " + message) + if(command =='moveright'): + payload = "81 01 06 01 03 03 02 03 FF" + header = "10 00 00 09" + 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("Moveleft : " + message)""" + +""" if(command=="zoom0"): + payload="81 01 04 47 00 00 00 00 FF" + if(command=="zoom2"): + payload="81 01 04 47 01 06 0A 01 FF" + if(command=="focustuyau"): #6m + payload="81 01 04 48 04 00 00 00 FF" + if(command=="manualfocus"): + payload="81 01 04 38 03 FF" + if(command=="autofocus"): + payload="81 01 04 38 02 FF" + if(command=="movetuyau"): + payload="81 01 06 02 10 10 01 02 00 00 0F 0E 0C 00 ff""" + \ No newline at end of file diff --git a/camera.py b/camera.py new file mode 100644 index 0000000000000000000000000000000000000000..69b73bfdfd9b4e11e86c0301180eb9fabf0d96da --- /dev/null +++ b/camera.py @@ -0,0 +1,47 @@ +from tkinter import * +import tkinter as Tk +import socket + +UDP_IP = "192.168.0.100" +UDP_PORT = 52381 + + +root=Tk.Tk() +root.title('commande camera') +root.withdraw() +top=Tk.Toplevel() +top.title("commande camera") +background=Tk.Frame(root) + +sequence_number = 83 +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +def salle1(): + message = "" + sock.sendto(bytes.hex(message.replace(' ','')) + print("salle1") + +def salle2(): + message = "" + sock.sendto(bytes.hex(message.replace(' ','')) + print("salle 1") + +def reset(): + message = "" + sock.sendto(bytes.hex(message.replace(' ','')) + print("salle 2") + + +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() + +quit_menu=Tk.Button(top, text='QUIT', bg='red', fg='white', command=quit) +quit_menu.pack(anchor='e') + +root.mainloop() diff --git a/camera2.py b/camera2.py new file mode 100644 index 0000000000000000000000000000000000000000..68ba25fb7ac61e5246fb810c2cb8fd59757264cb --- /dev/null +++ b/camera2.py @@ -0,0 +1,101 @@ +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()