Proyecto WEB ordenar canales dtv_channel.txt

Página 1 de 2. 1, 2  Siguiente

Ir abajo

Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 09, 2010 1:21 am

Hola,
esto parece algo complicado,
pero bueno, iremos avanzando poco a poco.

Lo primero conocer un poco mas a nuestro amigo:

/usr/local/etc/dvdplayer/dtv_channel.txt

El archivo es binario con una estructura: CABECERA [INFO_CANAL] +

CABECERA es: 06 00 00 FF 24 00 00 00
Donde 0x24=36 es el numero de canales que tiene el archivo.


INFO_CANAL: 01 00 01 00 05 00 00 00 L a ' ' 1


Última edición por vic1972 el Mar Feb 09, 2010 8:40 pm, editado 1 vez
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 09, 2010 1:23 am

Como solucion alternativa rapida, mientras se termina la aplicacion web, se puede hacer lo que comento Sebastian.
Que desde la consola haya un enlace que jecute el siguiente script , y se puede, o bien copiarlo a HDD1, y ya por samba bajarlo,

o que directamente de descarge a nuestro pc desde descarga del navegador web.



#!/bin/sh
# If method is POST, data was send from client to box. Else client requested data from box.
if [ "$REQUEST_METHOD" = "POST" ]
then
# Write received data to file
dd of=/usr/local/etc/dvdplayer/dtv_channel.txt count=$CONTENT_LENGTH > /dev/null
else
# Send file to client
cat /usr/local/etc/dvdplayer/dtv_channel.txt
fi
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 09, 2010 8:41 pm

Bueno, siguiendo con la investigacion, y analizando dtv_channel.txt
tenemos por ahora:

HEADER:
06 00 00 FF 24 00 00 00
xx --> number of channels 0x24=36dec


STRUCT CHANNEL 1: 576 bytes
01 00 01 00 05 00 00 00 4C 61 20 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 1E 28 10 00 00 00 00 80 32 6B 2D 00 00 00 00 08 00 00 00 00 00 E8 03 9A 01 00 00 00 00 00 00 01 00 00 00 00 00 10 00 04 00 00 00 4C 61 20 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 00 01 00 00 00 00 00 65 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 67 00 00 00 61 70 73 00 67 00 03 00 61 70 73 00 68 00 03 00 61 61 71 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 FF 00 00 00 00 00 00 00 00 00 00 6F 00 10 00 01 00 02 00 61 70 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 66 00 01 01 00 00 00 00 61 70 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 FF 00 00 00 00 00 00 00 00 00 00 66 00 02 00 88 00 00 00 61 70 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
yy 00 yy 00?zz 00 00 ------5------- +++++++++++++++++++++++++++++++++++buffer nane channel ++++++++++++++++++++++++++++ ? ? 28 10 ??????????? 80 ????? ?? 00 00 00 00 08 00 00 00 00 00 ?? ?? ?? ?? 00 00 00 00 00 00 T1 00 00 00 00 00 T2 ?? LL 00 00 00 L a 1

yy=id channel
zz=length of name channel + 1 byte (00) =05 -> "00 4C 61 20 31" "La 1"
Buffer size=long.maxima name channel=33dec

T1 = 01 / 02
T2 = T1 x 10
LL= Real length channel name


Ahora viene repetida la misma estructura para todos los canales.


Y al final del archivo:
AA 34 11 3E

Que parece un codigo checksum (posiblemente CRC-32), a comprobar ...
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  txemag el Mar Feb 09, 2010 9:49 pm

La leche, esto si que es ingenieria inversa. Smile

Aprovecho el post, para decir que apuesto por una linea de investigacion para poder programar el LG a traves del navegador, a ver si saco un rato para ver la estructura del sqllite.

un saludo

txemag

Mensajes : 13
Fecha de inscripción : 02/02/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 09, 2010 11:15 pm

Ya, pero no consigo lo del crc, es lo que me queda,
una pena, porque ya tenia pensado como hacer el script para engancharlo con web.
lo probaria en el equipo a ver si funciona sin pasarle el checksum correcto, pero prefiero no arriesgarme.

saludos
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  txemag el Mar Feb 09, 2010 11:28 pm

Creo que no se corre ningun riesgo, al final el script solo modificaria el fichero dtv_channel.txt, si va mal, vuelcas por ftp el original y listo. Igual te vendria bien que te pasaramos nuestros ficheros dtv_channel.txt para que puedas comprobar tus cabalas.

txemag

Mensajes : 13
Fecha de inscripción : 02/02/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Miér Feb 10, 2010 10:16 am

Bueno, por las dudas, voy a dejar el proyecto en este punto...
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Sáb Feb 13, 2010 12:39 pm

Bueno, ya tenemos el codigo necesario para calcular el CRC-32,
por lo visto es uno ligeramente diferente al standard crc-32.

El codigo es el de abajo, ya tan solo queda compilarlo y probarlo.

public class CRC32 {

static uint startcode = 0xffffffff;
static uint polynom = 0×04C11DB7;

public static uint GetCRC32(byte[] data) {
uint crc32 = startcode;
foreach (byte b in data) {
crc32 = GetCRC32(b, crc32);
}
return (crc32);
}

public static uint GetCRC32(byte data, uint crc32) {
for (int i = 7; i >=0; i–) {
if (((data & (1 < < i)) > 0) == ((crc32 & 0×80000000) > 0))
crc32 <<= 1;
else {
crc32 = (crc32 << 1) ^ polynom;
}
}
return (crc32);
}
}
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Dom Feb 14, 2010 12:21 am

Bueno, pues ya tengo la aplicación en c, y en mi linux se ejcuta correctamente,
y calcula correctamente el crc32 del archivo drv_channels.txt

Lo siguiente es compilarlo para mipsel y ejecutarlo en el lg.
Y entonces ya estamos listos para empezar con el diseño web de la aplicación.

os dejo aqui lo que tengo hasta ahora
Código:

#include <stdio.h>


unsigned int polynom = 0x04C11DB7;


unsigned int GetCRC32(unsigned char data, unsigned int crc32) {
int i=7;
  for (i = 7; i >=0; i--) {
        if (((data & (1 << i)) > 0) == ((crc32 & 0x80000000) > 0))
            crc32 <<= 1;
        else {
            crc32 = (crc32 << 1) ^ polynom;
        }
    }
return (crc32);
}

int main(int argc, char *argv[])
{
 unsigned int startcode = 0xffffffff;
 
 unsigned int crc32=startcode;

  printf("CRC-32 especial para dtv_channel.txt.\n");


  //printf(" argc: %d\n",argc);
  if (argc<2) {
    printf(" Se necesita un parametro de entrada: nombre de archivo.\n");
    return 0;
  }

  printf("Filename: %s\n", argv[1]);


  FILE *fd;
  fd = fopen(argv[1], "r");

  if (fd==NULL)
  {
    printf("No se encuentra el fichero indicado: %s \n",argv[1]);
    return 0;
  }

  int  c;
unsigned char b;
 
  c = fgetc (fd);

  while (c != EOF ) {
    b=c;
    crc32 = GetCRC32(b, crc32);
    c = fgetc (fd);
}


printf("resultado: %x\n",crc32);


  fclose(fd);
  return 1;
}
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Dom Feb 14, 2010 2:05 pm

Bueno bueno Smile
Pues ya esta compilado para mipsel y se ejecuta correctamente en el LG.

El binario se coloca donde esta el archivo dtv_channel.txt
y da la salida el crc32, que coindice justo con los 4 ultimos bytes del archivo.

Asi que funciona perfectamente

Os dejo aqui el binario por si lo quereis probar
[Tienes que estar registrado y conectado para ver este vínculo]


En ejecucion:
/usr/local/etc/dvdplayer # ./dtv_channel_crc32 ./dtv_channel.txt
CRC-32 especial para dtv_channel.txt.
Filename: ./dtv_channel.txt
Tamaño del archivo: 20748
resultado: 3e1134aa
/usr/local/etc/dvdplayer #
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Lun Feb 15, 2010 10:46 am

El siguiente paso es modificar la aplicación para que genere una lista de los canales.
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Lun Feb 15, 2010 9:43 pm

Bueno,
pues ya tenemos los nombres de las cadenas,
por ahora la salida en ejecuación del programa es algo como:

[victor@diablo dtv_channel]$
[victor@diablo dtv_channel]$ gcc dtv_channel.c
[victor@diablo dtv_channel]$ ./a.out
CRC-32 especial para dtv_channel.txt.
Tamaño del archivo: 20748
resultado: 3e1134aa
Lista de canales
Tamaño del archivo: 20748


Nueva cadena
Nos situamos: 16
=>:4c C:4c C:61 C:20 C:31 Contador:4
Cadena: La 1


Nueva cadena
Nos situamos: 592
=>:4c C:4c C:61 C:20 C:32 Contador:4
Cadena: La 2


Nueva cadena
Nos situamos: 1168
=>:41 C:41 C:4e C:54 C:45 C:4e C:41 C:20 C:33 Contador:8
Cadena: ANTENA 3


Nueva cadena
Nos situamos: 1744
=>:43 C:43 C:55 C:41 C:54 C:52 C:4f Contador:6
Cadena: CUATRO


Nueva cadena
Nos situamos: 2320
=>:54 C:54 C:65 C:6c C:65 C:63 C:69 C:6e C:63 C:6f Contador:9
Cadena: Telecinco


Nueva cadena
Nos situamos: 2896
=>:6c C:6c C:61 C:53 C:65 C:78 C:74 C:61 Contador:7
Cadena: laSexta


Nueva cadena
Nos situamos: 3472
=>:4c C:4c C:61 C:53 C:69 C:65 C:74 C:65 Contador:7
Cadena: LaSiete


Nueva cadena
Nos situamos: 4048
=>:43 C:43 C:61 C:6e C:61 C:6c C:20 C:53 C:75 C:72 C:20 C:54 C:56 Contador:12
Cadena: Canal Sur TV
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 16, 2010 10:14 am

El siguiente paso me interesa mas,
convertir el aplicativo en un script CGI, a ver si funciona ... Smile
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  Seb@stien el Mar Feb 16, 2010 11:23 am

y si funciona ... send it to Seb@stien to include it to the web interface Very Happy Very Happy Very Happy

Seb@stien

Seb@stien

Mensajes : 93
Fecha de inscripción : 15/12/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 16, 2010 11:46 am

Yes, it will work for sure. Smile
Seguro que funcionará... Smile


Bueno, si alguien se anima a seguir este pequeño periplo, y lo quiere seguir a modo de taller,
podeis leer por ejemplo este tutorial de scritps CGI en C:

[Tienes que estar registrado y conectado para ver este vínculo]
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 16, 2010 7:42 pm

Bueno, pues funciona.
Lo he puesto en el lg, y desde una pagina html llamo al cgi, y este me muestra mis canales Smile


[Tienes que estar registrado y conectado para ver esa imagen]
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 16, 2010 9:07 pm

Next steps.

I would like to integrate in the web configuration console.
In fact, is from there from where i have the link to my cgi.

[Tienes que estar registrado y conectado para ver esa imagen]

I have some problems with integration in the web conf. console.

Sebastian, I will send you later an email.
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  Seb@stien el Mar Feb 16, 2010 10:24 pm

Did you try to integrate it in CGI Script bash based ?

Seb@stien

Seb@stien

Mensajes : 93
Fecha de inscripción : 15/12/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Miér Feb 17, 2010 11:00 am

Thanks, I'll like that.

Bueno, pues los siguientes pasos serán:

* Probar la lista de canales a integrar en la consola de administracion web.
* Lo siguiente será implementar la operación de borrado, tanto en el script como en la parte web.
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  matthelas el Miér Feb 17, 2010 8:08 pm

Hi Victor,

It seems a German guy did something similar for the EMTEC, including two cgi-scripts:
[Tienes que estar registrado y conectado para ver este vínculo]

Edit: the two cgi-scripts are only there to 1) get the dtv file / put the new dtv file and 2) restart the DvdPlayer
All the "management" of the dtv file is done by a Windows application.

Is that of any help to you?

Cheers,
Matt

matthelas

Mensajes : 145
Fecha de inscripción : 08/02/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Miér Feb 17, 2010 8:18 pm

Hello,
yes i know that link.
Yes, that is a web-cgi to retrieve dtv_channel.txt,
then modify with the windows application, we all know by the post in tutorial "how to sort channels".


My project is something different, the user will be able to order the channels, without having to fetch the channels file,
download the applciation, and then upload the file again to the lg.
My project is a web application and you order directly in the LG Smile
This project is not crucial, but I am enjoying a lot rabbit

Smile bye
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  matthelas el Miér Feb 17, 2010 8:58 pm

Sounds great to be able to do it with no Windows PC powered on for non Windows users Wink

Cheers

matthelas

Mensajes : 145
Fecha de inscripción : 08/02/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Mar Feb 23, 2010 9:18 pm

Edito el post, ya que lo que puse me equivoque de post. lo siento.
saludos


Última edición por vic1972 el Miér Feb 24, 2010 9:37 am, editado 1 vez
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

excelente noticia

Mensaje  jabb_0904 el Mar Feb 23, 2010 11:09 pm

sin duda, una muy buena noticia,

saludos,

jabb_0904

Mensajes : 91
Fecha de inscripción : 31/12/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  vic1972 el Jue Feb 25, 2010 1:02 am

Estoy implementando el metodo borrar canal.
Casi lo tengo listo, la verdad es que me ha resultado facil.
Le queda otra sesión y probar.
avatar
vic1972

Mensajes : 2260
Fecha de inscripción : 09/12/2009
Edad : 45
Localización : Malaga

Ver perfil de usuario

Volver arriba Ir abajo

Re: Proyecto WEB ordenar canales dtv_channel.txt

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 2. 1, 2  Siguiente

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.