Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import struct
- def leer_estructura(file):
- file.seek(0,2)
- fin_archivo= file.tell()
- file.seek(0,0)
- Tramas=[]
- while (file.tell() < fin_archivo):
- datos_leidos = file.read(26)
- trama_simple = struct.unpack("H H H H H H H H H H H H H", datos_leidos)
- Tramas.append(trama_simple)
- file.close()
- return Tramas
- def Dispositivo(trama):
- Dispositivo=[]
- Dispositivo_bin=""
- for e in range (1,6):
- if trama[e]>=90:
- Dispositivo.append(1)
- else:
- Dispositivo.append(0)
- for a in range(5):
- Dispositivo_bin=Dispositivo_bin+str(Dispositivo[a])
- Dispositivo_decifrado=int(Dispositivo_bin,2)
- return str(Dispositivo_decifrado)
- def Boton(trama):
- Boton = []
- Boton_bin=""
- for x in range(6,13):
- if trama[x]>=90:
- Boton.append(1)
- else:
- Boton.append(0)
- for n in range(7):
- Boton_bin=Boton_bin+str(Boton[n])
- Boton_decifrado=int(Boton_bin,2)
- return str(Boton_decifrado)
- def Decodificado(Estructura,file):
- no_sony=open("no_control_sony.txt","w")
- for i in range (0,len(Estructura)):
- trama=Estructura[i]
- init = trama[0]
- if init >200 and init<270:
- ingreso = "Init "+str(init)+"\n"
- file.write(ingreso)
- ingreso="Dispositivo "+Dispositivo(trama)+"\n"
- file.write(ingreso)
- ingreso="Boton presionado "+Boton(trama)+"\n"
- file.write(ingreso)
- else:
- no_sony.write("Init no control sony: "+str(trama[0])+"\n")
- no_sony.write("Dispositivo: "+Dispositivo(trama)+"\n")
- no_sony.write("Boton Presionado: "+Boton(trama)+"\n")
- no_sony.close()
- def main():
- Archivo_a_decodificar = open("sony.dat","rb")
- Control = open("Control.txt","w")
- Control.write("Control Sony y su Protocolo\n")
- Estructura=leer_estructura(Archivo_a_decodificar)
- Decodificado(Estructura,Control)
- Control.close()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement