12 agosto, 2012

Upgrade Parrot CK3000 Evolution with a Max232 chip

In order to make the CK3000 work well with Android phones you will need to upgrade it to version 5.25c. You could do get this done by a professional, or you could buy a rather expensive official cable. I'm making the cable myself with the help of other people who made a similar one first.

First of all read the original post http://peter.holcroft.net/ck3000/

This is a simple application of the Max232 chip i have:


I used the original data and power connectors for the upgrade. The data connector has a kind of appendix to which i connected the data wires (not very professional).

I also connected the required wire between pin 9 & 10 (not showing in this pic):

The actual setup on the protoboard.
I used a standard 5V AC/DC adapter.
The capacitors are 1uF 50V (10 cents each):

And now the software process. I used a laptop and a USB-to-serial adapter.

I started using an inverter (DC-to-AC adapter) and it faild almost always. Later i switched to a wall socket and it went better.


* Update process and symptoms:
- Select CK3000 Evolution.
- Select Serial update.
- Select 115200 baud.
- Wait for "XPRAM downloading". Progress bar should not move yet.
   - If progress bar moves there may be something wrong.
   - If it says something like "Cannot set baud rate" probably the wire between pin 9&10 is not ok.
   - If it says something like "Cannot open port" disconnect the usb device, click back and next.
- Power on the parrot. After 1 to 5 seconds progress bar will start moving. It will take about 10 seconds to finish.
   - If you get an error like "Cannot send data" there may be a bad cable.
   - If the bar loops over and over something is wrong. Better try again.
The rest of the process is relatively fast except the "Flash programming" which takes more than one minute.
It can randomly stall or throw the "Cannot send data" error at any time. If it happens try again.
* Myths:
- "If you put two CK3000 close to each other they update the firmware automatically". It didn't happen to me.
- "You can do a wireless update with a bluetooth virtual serial port". I wasn't able to create a serial bluetooth connection. Parrot officially only supports cabled upgrades for the CK3000.

26 julio, 2011

The CRC32 of this string is 4A1C449B

Pues si, estaba aburrido y se me ocurrió si sería posible insertar el hash de un texto dentro del propio texto.

Viabilidad
Como no estaba muy seguro primero analicé la viabilidad. Si asumimos un formato de texto fijo, en el que sólo varía la parte del hash, la probabilidad no es baja.

Para un hash n bits, la probabilidad de acertar a la primera es:
1/(2^n)

Por tanto, la probabilidad que exista un resultado válido en todo el espacio es:


Por tanto es probable encontrar algún hash con estas características, y si no apareciera probaríamos con otra cadena base distinta.

Optimización
Lo siguiente que hice fue tomar un código de ejemplo de código de CRC32 basado en tabla de 8 bits, y precomputar una tabla de 24 bits (que debe ocupar unos 96MB en memoria).
Este código es capaz de calcular las 2^32 posibilidades en unos pocos minutos.

Habría estado bien hacer algún análisis que permitiera alguna optimización específica para este problema, pero no llego hasta ahí.

Resultado
Tras 2 minutos obtenemos:
"The CRC32 of this string is 4A1C449B"

Y poco más que decir, se puede verificar (es importante no añadir saltos de línea ni espacios al final) aquí:

Con un poco más de trabajo podemos obtener:
"I killed 56e9dee4 cows and all I got was..."

25 junio, 2010

No ajustes tu televisor, pero esto NO es 3D

«No ajustes tu televisor, no intentes activar el 3D, porque esto no es 3D»

El efecto que se ve en el anuncio consigue su objetivo, pero realmente no es 3D. Si fuera 3D habría un desfase horizontal en algunas de las imágenes, pero en ningún caso lo habría en vertical como se aprecia a lo largo de todo el anuncio.


18 junio, 2010

DNI electronico en Debian Squeeze

Pues nada, que hoy tocaba darse de tortas con esto, sabiendo que iba a fallar como una escopeta de feria.

Los pasos a seguir son (si no me falla la memoria):

# apt-get install mozilla-opensc openct

Bajarse e instalar los 3 paquetes para Debian Lenny (http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/opensc_1.4.6_arq.html)

Asegurase de que está arrancado el demonio PCSCD:
/etc/init.d/pcscd

Cargar el módulo de seguridad en firefox:
Opciones ... -> Dispositivos de seguridad -> Cargar: /usr/lib/opensc-pkcs11.so

Cargar el certificado raiz de la FNMT (hay instrucciones para ello).


Mi principal fallo fue intentar suplir algunos de los paquetes por los nativos de Debian... Una vez arreglado, purgada la configuración, y cargado el demonio todo funcionó...

03 abril, 2010

Multicargador para moviles (Mobile multicharger)

Uno de los últimos cacharros que me he comprado es un aparato muy versátil, un multicargador para teléfonos móviles.

Algunas de las cosas que permite hacer son:

  • Cargar pilas alimentandose desde el PC, y posteriormente cargar el movil con ellas.
  • Cargar el movil con el sol.
  • Comprar pilas alcalinas y cargar el movil con ellas.
Las posibilidades son muchas, basta mirar el esquema:
Y lo mejor de todo es que hay aparatos de estos desde 15€.

No es un gadget para llevar en el bolsillo, pero sí para ir de campo (si es que no queremos desconectarnos).

12 enero, 2010

La pila 802.11 para el sistema operativo

Como estaba aburrido he decidido hacer un diagrama de la pila IEEE802.11 desde el punto de vista del sistema operativo (Linux).


Notas:
  • En el caso de las tarjetas de tipo Software MAC, el driver se apoya en el la pila mac80211 del kernel para la conversión a 802.3 (ethernet) y las tramas de gestión.
  • El modo monitor o rfmon no es lo mismo que el modo promiscuo, si entendemos por modo promiscuo la recepción (e inyección) de tramas a nivel 802.3. El modo monitor exige recibir (e inyectar) tramas completas con la cabecera original 802.11 (y opcionalmente otras cabeceras auxiliares como radiotap o prism).

11 agosto, 2009

SlideType Keyboard: deslizar para escribir en Android

Los teclados virtuales en pantalla de los teléfonos tienen varios problemas:

  • Los teclados QWERTY tienen las teclas muy pequeñas.
  • Otros teclados requieren pulsar las teclas varias veces o dependen de diccionarios, que no van bien.
Una solución (sin entrar en temas de multitouch o Chord Typing) es requerir algo más que pulsar las teclas, en este caso deslizar en una dirección (arriba, izquierda, etc).

Por ejemplo, si apretamos el dedo sobre la tecla etiquetada "2ABC", lo movemos a la izquierda y lo soltamos escribiremos la letra A. Si hubieramos movido hacia arriba hubiera sido la letra B, y a la derecha la C.


Demo en Javascript: http://www.latinsud.com/pub/slideType/



Download con QR-Code:

Visita el blog de SlideType Keyboard (inglés):

07 junio, 2009

WGA 2: Windows Genuine Disadvantage

Este es el aspecto que debería tener WGA:

Y puestos a instalar software sin licencia ¿quién instalaría precisamente Vista?

03 junio, 2009

Plugin para Gimp para hacer escalas de mapas

Ante la necesidad de hacer muchos mapas a medida y la curiosidad de aprender script-fu he decidido hacer este plugin. Con esta experiencia he aprendido varias cosas:

  • Script-fu es relativamente potente.
  • LISP/Schema/SCM es horroroso.
La interfaz es muy configurable (quizás demasiado).
Los parámetros más importantes son Step(px) y Step(unit), que definen cada cuantos pixeles hay un cuadro, y qué distancia representa cada cuadro.

Algunos ejemplos:
Para acceder ir a Filtros->Renderizado->Map Scale Legend. Disculpad que por ahora sólo lo haya sacado en inglés...

http://registry.gimp.org/node/16532
http://www.latinsud.com/pub/mapscale/

30 mayo, 2009

Inteligencia o Daltonismo

Me encuentro uno de esos banners de publicidad que salen ahora de test de inteligencia. Hasta ahora me habían parecido incluso interesantes, pero esta vez la han cagado:

En primer lugar no es un test de inteligencia, sino de daltonismo.
En segundo lugar las respuestas posibles son: 74 o 21 si eres daltónico. No creo que nadie sea capaz de ver un 75 o un 94 con independencia de su nivel intelectual o daltonismo.

Análisis
Por último, vamos a analizar lo que vería un daltónico:
  • Las partes rojas se confunden con las verdes.
  • Las partes azules quedarían igual.
Con el Gimp hacemos los siguientes pasos:
  1. Convertir la imagen a RGB. (Imagen->Modo->RGB)
  2. Descomponer en los 3 colores. (Colores->Componentes->Descomponer).
  3. Vamos al diálogo de capas (Ctrl+L) y ocultamos la capa azul.
  4. Pinchamos en la capa de más arriba (rojo) y desplazamos la barra Opacidad al 50%.
  5. Pinchamos con el botón derecho en la capa roja le damos a Combinar hacia abajo.
  6. Componemos la imágen. (Colores->Componentes->Componer). Usamos la misma capa para rojo y verde, y la capa azul para el azul.
¡Voi-là! Hemos mezclado rojo y verde al 50%.