sábado 27 de noviembre de 2010

Spotijump, nueva versión disponible.



A pedido de los usuarios de spotijump 0.4 , y luego de muchas quejas por la poca amigabilidad (del software, no mía) me he puesto con una mejora al programa, en ésta ya no es necesario que el Spotify esté en primer plano y puede usarse mientras se trabaja en otra aplicación...con algún "pero" que ya explicaré.

Ahora lo que no les gusta a los cómodos...

Instrucciones de instalación:
-Copiar Spotijum_05.exe en la carpeta de Spotify (C:\archivos de programa\spotify).
-Crear un acceso directo a Spotijump en el escritorio.
-Cerrar la carpeta (importante, tiene que estar cerrada cuando inicia Spotijump).
-Doble click en el acceso directo creado.
-Esperar se inicien los dos programas (spotijump inicia automáticamente al spotify).
-Asegurarse este marcada la casilla Mover TESPOINT ( es el cuadrito rojo).
-Arrastrar el TESTPOINT al final de la barra de progreso de reproducción (donde se testean los pixeles para detectar cuando llegue la bolita blanca).
-Pulsar el botón GUARDAR, y ya la próxima vez se recordara la coordenada del testpoint.
- Desmarcar la casilla Mover TESTPOINT

Recomendaciones y casos de uso:
-Usar spotify normalmente, asegurándose dejar activa la barra de selección de temas en el lado derecho , en los temas y no en las listas de reproducción.

- Cuando se quiera utilizar otra aplicación en primer plano, deberá tenerse en cuenta que tiene que estar visible la barra de progreso de reproducción del Spotify, se logra poniendo la ventana de la aplicación que se esta usando en modo restaurar y ajustar la ventana en la parte inferior para que quede visible la parte inferior del Spotify.

- Si se dispone de dos monitores y configurado en escritorios separados, en una se pone el spotify y en la otra nuestra aplicación, teniendo en cuenta de arrastrar el TESTPOINT hacia el otro escritorio, (por un motivo no resuelto, para pasar de un escritorio a otro debo arrastrarlo por la parte superior del escritorio, de la mitad para arriba).

- He probado utilizarlo con escritorios virtuales, pero no he tenido éxito, ya que no son realmente escritorios, sino que cambian las ventanas que están en un mismo escritorio. Si alguien consigue utilizarlo con un escritorio virtual, agradezco la información.

- Si en algún momento no sabemos donde esta el TESTPOINT, sobretodo cuando se trabaja con dos escritorios, al hacer click en la palabra en azul MORLOKLABS se ubica en la posición inicial sobre la ventana de SpotiJump.

- Puede haber algún problema con las notificaciones de Windows , si tapan el final de la barra.

El que quiera probar la nueva versión de Spotijump aquí lo tiene, bajo su propia responsabilidad y solo con fines educativos.


http://sites.google.com/site/morlokstore/spotijump05_b.zip

sábado 30 de octubre de 2010

Modificación software LFI Laser Show para control por puerto paralelo


He conseguido en ebay unos galvos chinos de 20k muy baratos así que me he sacado el gusto, hace años me interesaba el tema pero eran inaccesible . Para probarlos tenia dos opciones utilizar una tarjeta de sonido a la que se le eliminan los condensadores de desacoplo y utilizar el software LFI o LASERBOY que son libres, o utilizar el puerto paralelo y un circuito auxiliar (dos registros y DACs) , para lo cual se utiliza el software POPELSCAN anterior a la versión 4.0 ya que no tiene mas soporte para puerto paralelo.
Me gusta mas el LFI, que tiene mas prestaciones, pero no tiene soporte para puerto paralelo, y como tengo ya hecho una tarjeta DAC compatible , preferí intentar modificar las fuentes para poder controlar el laser con el PP.
Para acceder al puerto he agregado la DLL inpout32, escalar los puntos de la imagen a 8 bits y escribirlos en los registros de los DAC según el protocolo usado en POPELSCAN.
Aquí están por si alguien la necesita. El ejecutable y las fuentes , supone el PP esta en HEX 0378.

Ejecutable para WIN 32bits
http://sites.google.com/site/morlokstore/lfi_DAC_PP_binary.rar

Fuentes
http://sites.google.com/site/morlokstore/lfi_dacpp_source.rar

domingo 1 de noviembre de 2009

SpotiJump: Saltar publicidad de Spotify Free (prueba de concepto)

Aprovechando el tiempo de ocio disponible de este puente de noviembre, en un momento de inspiración creativa, he creado una pequeña aplicación para saltar la publicidad de audio del Spotify, es una primera versión , que ni se si la continuare, tiene algunas limitaciones, pero puede ser interesante el concepto.

Como funciona? La idea es simular que una persona esta operando el Spotify, pasando al siguiente tema cuando falta un segundo para que termine,lo que no afecta mucho ya que todos los temas ya no tienen sonido los 4 - 5 segundos finales . De esta manera Spotify no inserta publicidad, al menos en la versión actual, que pueden cambiarlo en cualquier momento y mi programa ya no serviría.

Para detectar que falta un segundo para terminar de reproducir, uso un sistema de "visión" de la pantalla, capturando la imagen de la barra de progreso y comparándola con un patrón previamente almacenado, cuando la imagen capturada coincide , el programa simula se ha pulsado la tecla de flecha hacia abajo y ENTER, de manera que Spotify salta al tema siguiente.
He reutilizado algo de mi código de un antiguo proyecto de cuando trabaje en un software lector de pantalla para ciegos.


Limitaciones:
- Spotify debe estar activo en pantalla completa y tener el foco del teclado en la lista de reproducción. ( la barra de selección debe estar celeste )
- La configuración inicial esta hecha para Win XP con pantalla de 1280 x 800 y la barra de programas visible.


Como se usa?
Tiene que ejecutarse en todo momento minimizado, y Spotify en pantalla completa y con el foco de teclado en la barra de seleccion de temas (color celeste)

En caso de otra configuración de pantalla, o en Vista o Win 7 , debera tomarse un nuevo patrón, para ello restaurar la ventana de SpotiJump y mover el puntero del raton sobre la zona final de la barra de progreso de Spotify, en ese momento se debe estar reproduciendo un tema , cuando el punto blanco este por llegar al final, pulsar la tecla CONTROL . Luego pulsar el boton GUARDAR para almacenar el patrón en disco, el cual se cargara automáticamente al iniciar SpotiJump.
Si no se desea avance de tema y reproduzca el mismo o si se reproduce desde COLA DE REPRODUCCION , desmarcar la casilla de Avance automático.












El que quiera probarlo aquí lo tiene, claro como siempre en estos casos , bajo su propia responsabilidad y solo con fines educativos.

http://sites.google.com/site/morlokstore/spotijump.rar


Hay una ultima version mejorada en esta otra entrada:
http://morloklabs.blogspot.com/2010/11/spotijump-nueva-version-disponible.html

lunes 4 de junio de 2007

Fonera Robot

Este proyecto consistió en hacer un robot con Linux embebido a muy bajo costo, pensándolo bien, creo que me ha salido 0 (cero) euros :-) , no tengo ningún cargo de conciencia con respecto al haber utilizado una fonera para algo que no era para lo que la regalaban los de FON, en primer lugar si te regalan algo puedes hacer lo que te plazca, segundo, indirectamente le hecho publicidad , al menos gente que no conocia la empresa ahora la conoce.
Bueno no me extenderé sobre si Fon violo o no la GPL al distribuir el software capado y que no se podía compilar e instalar el software de manera independiente. Lo que si contare rapidamente es que Fon existe gracias a los hacker de Seattle wireless y su lucha contra Cisco , para que liberaran el software del Linksys wrt54 (descubrieron tenia Linux internamente), gracias a eso se inicio el proyecto OpenWrt , con que funciona el software de Fon.

Bien centrándome en el FonBot, comentar que funciona con 2 motores paso a paso, que si bien no tienen velocidad , si precisión, que era para lo que originalmente habia creado la base movil, ya que lleva un sistema para subir y bajar un marcador, de manera que pueda dibujar lineas en el suelo. Una replicación de los trabajos pioneros del MIT en robótica movil y educativa de los años 60, con su tortuga logo.
Puede ser controlado manualmente desde su pagina web o programar movimientos autónomos con scripts desde una consola SSH.

Los comandos de movimiento del FonBot son:

Girar derecha GD [grados]
Girar izquierda GI [grados]
Avanzar AV [cm]
Atras AT [cm]
Subir marcador LAPIZ 1
Bajar Marcador LAPIZ 0

He querido respetar la esencia del lenguaje LOGO [1]. Deje la tarea inconclusa de portar el LOGO original al procesador MIPS de la fonera, y directamente implemente algo básico sólo el proceso de movimientos y un sistema de odometria , para que el bicho sepa donde se encuentra.

Estos movimientos son pasados como parámetros a una aplicación que procesa estos (uso como compilador el GCC con el IDE Anjuta desde Ubuntu, y luego compilo para la fonera por linea de comando, así me ahorra tiempo y dolores de cabeza ), la he llamado MOVER (ya se, muy original), así escribiendo desde la consola ./MOVER - GD 20 , por ejemplo gira a la derecha 20 grados. También se pude pasar como parámetro un archivo de recorrido, el cual consiste en una lista de comandos los cuales van siendo leídos uno a uno de manera secuencial.

Otra manera de mover el robot de manera autónoma es utilizando la aplicación BUSCAR donde utilizo algoritmos de IA para búsqueda de caminos, basando sus decisiones en un mapa del espacio 2D , el cual es una matriz en un archivo formada por símbolos " " y "*", según sea una posición ocupable o no por el robot, la posición inicial y final sera marcada en el archivo como una "f" . La idea es luego con una cámara IP tomar imagenes zenitales y con la misma fonera leer la imagen e identificar donde esta, su ángulo, y generar el archivo de mapa según se detecten objetos en el suelo.

En cuanto al sistema de control es por el puerto serie con la configuración original de la fonera , 9600 baudios y sin desactivar el acceso a la consola por el puerto serie. He utilizado un 16f628,un uln2008 para los motores, y un TIP 29 para el solenoide del marcador. El Pic esta programado en CCS , y aquí es donde viene lo original y que para nada es el método que debería utilizarse, y que haría que en la facultad te pongan una mala nota :-), pero quería experimentar algo distinto, al esquema clasico en comunicación serie, donde un lado es el CPU y el otro un dispositivo de E/S, lo que he hecho es que el microcontrolador escribe comandos directamente a la fonera, osea el PIC escribe comandos Linux !!! para por ejemplo informarle que el movimiento de los motores ha concluido, y para pasar el estado de variables del PIC ( interesante para leer los ADC ) y luego "montarlo" como un archivo en el sistema de ficheros, asi se puede acceder desde el OpenWrt de manera transparente a estos datos y sin tener que escribir una linea de codigo en la fonera.

Continuara...


martes 29 de mayo de 2007

Cabeza parlante de la KDD P2P


Este robot lo hice con partes de impresoras, un microcontrolador, algunos chips y alguna que otra cosa que encontre, la idea era hacer un sistema que se pueda programar distintos movimientos y coordinarlos con frases generadas con un sintetizador de voz, todo controlado por el puerto serie y con Ubuntu.
Lo he llevado a la KDD P2P que organizamos con la gente del Hackarena Hacklabs de Sevilla, algunas fotos que tomo un amigo pueden verlas aqui.

Mi cueva