<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8639809040559001780</id><updated>2011-12-22T13:20:22.367-08:00</updated><category term='spotify spotijump publicidad eliminar adblock'/><category term='robot kdd ubuntu hacklabs sevilla'/><category term='LFI DAC LASER SHOW PARALLEL PORT'/><category term='robot fonera linux fon'/><title type='text'>Morloklabs</title><subtitle type='html'>Software - Electrónica - Experimentos</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-2764336066878885204</id><published>2010-11-27T01:45:00.000-08:00</published><updated>2010-12-01T08:27:23.591-08:00</updated><title type='text'>Spotijump, nueva versión disponible.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6YytO81YqE/TPDt_un55VI/AAAAAAAABD4/IpxliXrqv50/s1600/capt_pantalla.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 291px; height: 217px;" src="http://2.bp.blogspot.com/_h6YytO81YqE/TPDt_un55VI/AAAAAAAABD4/IpxliXrqv50/s400/capt_pantalla.jpg" alt="" id="BLOGGER_PHOTO_ID_5544192820396025170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;A pedido de los usuarios de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;spotijump&lt;/span&gt; 0.4 , y luego de muchas quejas por la poca &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;amigabilidad&lt;/span&gt; (del software, no mía)  me he puesto con una mejora al programa, en ésta ya no es necesario que el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Spotify&lt;/span&gt; esté en primer plano y puede usarse mientras se trabaja en otra aplicación...con algún "pero" que ya explicaré.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ahora lo que no les gusta a los cómodos...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;font-size:130%;" &gt;Instrucciones de instalación:&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left; color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;-Copiar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Spotijum&lt;/span&gt;_05.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;exe&lt;/span&gt; en la carpeta de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Spotify&lt;/span&gt; (C:\archivos de programa\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;spotify&lt;/span&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;-Crear un acceso directo a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Spotijump&lt;/span&gt; en el escritorio.&lt;br /&gt;-Cerrar la carpeta (importante, tiene que estar cerrada cuando  inicia &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Spotijump&lt;/span&gt;).&lt;br /&gt;-Doble &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;click&lt;/span&gt; en el acceso directo creado.&lt;br /&gt;-Esperar se inicien los dos programas (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;spotijump&lt;/span&gt; inicia &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;automáticamente&lt;/span&gt; al &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;spotify&lt;/span&gt;).&lt;br /&gt;-Asegurarse este marcada la casilla  Mover &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;TESPOINT&lt;/span&gt;  &lt;mover&gt; ( es el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;cuadrito&lt;/span&gt; rojo).&lt;br /&gt;-Arrastrar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;TESTPOINT&lt;/span&gt;  al final de la barra de progreso de reproducción (donde se testean los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;pixeles&lt;/span&gt; para &lt;a href="http://morloklabs.blogspot.com/2009/11/spotijump-saltar-publicidad-de-spotify.html"&gt;detectar cuando llegue la bolita blanca&lt;/a&gt;).&lt;br /&gt;-Pulsar el botón GUARDAR, y ya la próxima vez se recordara la coordenada del &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;testpoint&lt;/span&gt;.&lt;br /&gt;- Desmarcar la casilla Mover &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;TESTPOINT&lt;/span&gt;&lt;br /&gt;&lt;/mover&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Recomendaciones y casos de uso:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;-Usar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;spotify&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;- 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Spotify&lt;/span&gt;, 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Spotify&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;- Si se dispone de dos monitores y configurado en escritorios separados, en una se pone el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;spotify&lt;/span&gt; y en la otra nuestra aplicación, teniendo en cuenta de arrastrar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;TESTPOINT&lt;/span&gt; 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).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;- 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.&lt;br /&gt;&lt;br /&gt;- Si en &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;algún&lt;/span&gt; momento no sabemos donde esta el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;TESTPOINT&lt;/span&gt;, sobretodo cuando se trabaja con dos escritorios, al hacer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;click&lt;/span&gt; en la palabra en azul &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;MORLOKLABS&lt;/span&gt; se ubica en la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;posición&lt;/span&gt; inicial sobre la ventana de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;SpotiJump&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;- Puede haber algún problema con las &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;notificaciones&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Windows&lt;/span&gt; , si tapan el final de la barra.&lt;br /&gt;&lt;br /&gt;El que quiera probar la nueva versión de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Spotijump&lt;/span&gt; aquí lo tiene, bajo su propia responsabilidad y solo con fines educativos.&lt;br /&gt;&lt;/div&gt;&lt;a href="https://sites.google.com/site/morlokstore/spotijump_05_a.zip"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/morlokstore/spotijump05_b.zip"&gt;http://sites.google.com/site/morlokstore/spotijump05_b.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-2764336066878885204?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/2764336066878885204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=2764336066878885204' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/2764336066878885204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/2764336066878885204'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2010/11/spotijump-nueva-version-disponible.html' title='Spotijump, nueva versión disponible.'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6YytO81YqE/TPDt_un55VI/AAAAAAAABD4/IpxliXrqv50/s72-c/capt_pantalla.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-5412323694534313727</id><published>2010-10-30T12:05:00.001-07:00</published><updated>2010-10-30T13:20:04.526-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LFI DAC LASER SHOW PARALLEL PORT'/><title type='text'>Modificación software LFI Laser Show para control por puerto paralelo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_h6YytO81YqE/TMx50avLTnI/AAAAAAAABDc/3pH1HdqUceQ/s1600/SpaceLas+PT-20K+Galvos.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 341px;" src="http://3.bp.blogspot.com/_h6YytO81YqE/TMx50avLTnI/AAAAAAAABDc/3pH1HdqUceQ/s400/SpaceLas+PT-20K+Galvos.jpg" alt="" id="BLOGGER_PHOTO_ID_5533931983568850546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;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 &lt;a href="http://sourceforge.net/projects/lfiplayer3d"&gt;LFI&lt;/a&gt; o&lt;a href="http://laserboy.org/"&gt; LASERBOY &lt;/a&gt;que son libres, o  utilizar el puerto paralelo y un circuito auxiliar (dos registros y DACs) ,  para lo cual se utiliza el software &lt;a href="http://www.popelscan.de/"&gt;POPELSCAN&lt;/a&gt; anterior a la versión 4.0 ya que  no tiene mas soporte para puerto paralelo.&lt;br /&gt;Me gusta mas el LFI, que tiene mas prestaciones, pero no tiene soporte para puerto paralelo, y como tengo ya hecho una tarjeta &lt;a href="https://sites.google.com/site/morlokstore/DAC.gif"&gt; DAC compatible&lt;/a&gt;  ,  preferí intentar  modificar las fuentes para poder controlar el laser con el PP.&lt;br /&gt;Para acceder al puerto he agregado la &lt;a href="http://logix4u.net/Legacy_Ports/Parallel_Port/How_Inpout32.dll_works_.html"&gt;DLL  inpout32&lt;/a&gt;, escalar los puntos de la imagen  a 8 bits y escribirlos en los registros de los DAC  según el protocolo usado en POPELSCAN.&lt;br /&gt;Aquí están por si alguien la necesita. El ejecutable y las fuentes , supone el PP esta en HEX 0378.&lt;br /&gt;&lt;br /&gt;Ejecutable para WIN 32bits&lt;br /&gt;&lt;a href="http://sites.google.com/site/morlokstore/lfi_DAC_PP_binary.rar"&gt;http://sites.google.com/site/morlokstore/lfi_DAC_PP_binary.rar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fuentes&lt;br /&gt;&lt;a href="http://sites.google.com/site/morlokstore/lfi_dacpp_source.rar"&gt;http://sites.google.com/site/morlokstore/lfi_dacpp_source.rar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-5412323694534313727?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/5412323694534313727/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=5412323694534313727' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/5412323694534313727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/5412323694534313727'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2010/10/show-laser-por-puerto-paralelo.html' title='Modificación software LFI Laser Show para control por puerto paralelo'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6YytO81YqE/TMx50avLTnI/AAAAAAAABDc/3pH1HdqUceQ/s72-c/SpaceLas+PT-20K+Galvos.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-7433099007091487180</id><published>2009-11-01T14:39:00.000-08:00</published><updated>2011-03-13T16:23:00.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spotify spotijump publicidad eliminar adblock'/><title type='text'>SpotiJump: Saltar publicidad de Spotify Free (prueba de concepto)</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;He reutilizado algo de mi código de un antiguo  proyecto de cuando trabaje en un software  lector de pantalla para ciegos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Limitaciones:&lt;br /&gt;- 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 )&lt;br /&gt;- La configuración inicial esta hecha para Win XP con pantalla de 1280 x 800 y la barra de programas visible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Como se usa?&lt;/span&gt;&lt;br /&gt;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)&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6YytO81YqE/Su4iozyCwoI/AAAAAAAAAg0/80nIrZSqmRc/s1600-h/spotijump.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 249px; height: 143px;" src="http://2.bp.blogspot.com/_h6YytO81YqE/Su4iozyCwoI/AAAAAAAAAg0/80nIrZSqmRc/s400/spotijump.jpg" alt="" id="BLOGGER_PHOTO_ID_5399291087754019458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El que  quiera probarlo aquí lo tiene, claro como siempre en estos casos  , bajo su propia responsabilidad y solo con fines educativos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/morlokstore/spotijump.rar"&gt;http://sites.google.com/site/morlokstore/spotijump.rar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hay una ultima version mejorada en esta otra entrada:&lt;br /&gt;&lt;a href="http://morloklabs.blogspot.com/2010/11/spotijump-nueva-version-disponible.html"&gt;http://morloklabs.blogspot.com/2010/11/spotijump-nueva-version-disponible.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-7433099007091487180?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/7433099007091487180/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=7433099007091487180' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/7433099007091487180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/7433099007091487180'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2009/11/spotijump-saltar-publicidad-de-spotify.html' title='SpotiJump: Saltar publicidad de Spotify Free (prueba de concepto)'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6YytO81YqE/Su4iozyCwoI/AAAAAAAAAg0/80nIrZSqmRc/s72-c/spotijump.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-3655254160065136019</id><published>2007-06-04T15:27:00.000-07:00</published><updated>2007-06-04T23:11:00.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot fonera linux fon'/><title type='text'>Fonera Robot</title><content type='html'>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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;fonera&lt;/span&gt; para algo que no era para lo que la regalaban los de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FON&lt;/span&gt;, en primer lugar si te regalan algo puedes hacer lo que te &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;plazca&lt;/span&gt;, segundo, indirectamente le hecho publicidad , al menos gente que no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;conocia&lt;/span&gt; la empresa ahora la conoce.&lt;br /&gt;Bueno no me extenderé sobre si &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Fon&lt;/span&gt; violo o no la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;GPL&lt;/span&gt; al distribuir el software capado y que no se podía compilar e instalar el software de manera independiente. Lo que si contare &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;rapidamente&lt;/span&gt; es que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Fon&lt;/span&gt; existe gracias a los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;hacker&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Seattle&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;wireless&lt;/span&gt; y su lucha contra Cisco , para que liberaran el software del &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Linksys&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;wrt&lt;/span&gt;54 (descubrieron tenia Linux internamente), gracias a eso se inicio el proyecto &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;OpenWrt&lt;/span&gt; , con que funciona el software de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Fon&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Bien centrándome en el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;FonBot&lt;/span&gt;, comentar que funciona con 2 motores paso a paso, que si bien no tienen velocidad , si precisión, que era para lo que originalmente &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;habia&lt;/span&gt; creado la base &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;movil&lt;/span&gt;, 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;MIT&lt;/span&gt; en robótica &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;movil&lt;/span&gt; y educativa de los años 60, con su tortuga &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;logo&lt;/span&gt;.&lt;br /&gt;Puede ser controlado manualmente desde su pagina &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;web&lt;/span&gt; o programar movimientos autónomos con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;scripts&lt;/span&gt; desde una consola &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;SSH&lt;/span&gt;. &lt;a name="Tareas_pendientes_con_FonBot"&gt;&lt;/a&gt;&lt;p&gt;Los comandos de movimiento del &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;FonBot&lt;/span&gt; son: &lt;/p&gt; &lt;dl&gt;&lt;dd&gt;Girar derecha     &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;GD&lt;/span&gt; [grados] &lt;/dd&gt;&lt;dd&gt;Girar izquierda   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;GI&lt;/span&gt; [grados] &lt;/dd&gt;&lt;dd&gt;Avanzar           &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;AV&lt;/span&gt; [cm] &lt;/dd&gt;&lt;dd&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Atras&lt;/span&gt;             &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;AT&lt;/span&gt; [cm] &lt;/dd&gt;&lt;dd&gt;Subir marcador    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;LAPIZ&lt;/span&gt; 1 &lt;/dd&gt;&lt;dd&gt;Bajar Marcador    &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;LAPIZ&lt;/span&gt; 0          &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt;He querido  respetar la esencia del lenguaje &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;LOGO&lt;/span&gt; &lt;a href="http://es.wikipedia.org/wiki/Logo_%28Lenguaje_de_programaci%C3%B3n%29" class="external autonumber" title="http://es.wikipedia.org/wiki/Logo_(Lenguaje_de_programaci%C3%B3n)" rel="nofollow"&gt;[1]&lt;/a&gt;. Deje la tarea &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;inconclusa&lt;/span&gt; de portar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;LOGO&lt;/span&gt; original al procesador MIPS de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;fonera&lt;/span&gt;,  y directamente implemente  algo básico  sólo el proceso de movimientos  y  un sistema de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;odometria&lt;/span&gt; , para que el bicho sepa  donde se encuentra.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Estos movimientos son pasados como parámetros a una aplicación que procesa estos (uso como compilador el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;GCC&lt;/span&gt; con el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;IDE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Anjuta&lt;/span&gt; desde &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Ubuntu&lt;/span&gt;, y luego compilo para la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;fonera&lt;/span&gt; por linea de comando, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_42"&gt;así&lt;/span&gt; me ahorra tiempo y dolores de cabeza ), la he llamado MOVER (ya se, muy original), &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_43"&gt;así&lt;/span&gt; escribiendo desde la consola  ./MOVER - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;GD&lt;/span&gt; 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 &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_45"&gt;leídos&lt;/span&gt; uno a uno de manera secuencial.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Otra manera de mover el robot de manera autónoma es utilizando la aplicación BUSCAR donde utilizo algoritmos de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;IA&lt;/span&gt; para &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_47"&gt;búsqueda&lt;/span&gt; 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;ocupable&lt;/span&gt; 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;IP&lt;/span&gt; tomar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;imagenes&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;zenitales&lt;/span&gt; y con la misma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;fonera&lt;/span&gt; leer la imagen e identificar donde esta, su ángulo, y generar el archivo de mapa según se detecten objetos en el suelo.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;En cuanto al sistema de control es por el puerto serie con la configuración original de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;fonera&lt;/span&gt; , 9600 baudios y sin desactivar el acceso a la consola por el puerto serie. He utilizado un 16f628,un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;uln&lt;/span&gt;2008 para los motores, y un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;TIP&lt;/span&gt; 29 para el solenoide del marcador. El &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;Pic&lt;/span&gt; esta programado en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;CCS&lt;/span&gt; , y aquí es donde viene lo original y que para nada es el método que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_58"&gt;debería&lt;/span&gt; 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 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;fonera&lt;/span&gt;, osea el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;PIC&lt;/span&gt; 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 )&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;&lt;/span&gt; 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.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Continuara...&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/150/396257109_36d102ad10.jpg?v=1171963399"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://farm1.static.flickr.com/150/396257109_36d102ad10.jpg?v=1171963399" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-3655254160065136019?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/3655254160065136019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=3655254160065136019' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/3655254160065136019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/3655254160065136019'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2007/06/fonera-robot.html' title='Fonera Robot'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-2401993605642465719</id><published>2007-05-29T16:40:00.000-07:00</published><updated>2007-05-30T05:07:10.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot kdd ubuntu hacklabs sevilla'/><title type='text'>Cabeza parlante de la KDD P2P</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_h6YytO81YqE/Rly7AYMInuI/AAAAAAAAAAU/_fzrdIYFkj0/s1600-h/PIC_0132.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_h6YytO81YqE/Rly7AYMInuI/AAAAAAAAAAU/_fzrdIYFkj0/s320/PIC_0132.JPG" alt="" id="BLOGGER_PHOTO_ID_5070132895680077538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;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 &lt;a href="http://www.ubuntu.org/"&gt;Ubuntu&lt;/a&gt;.&lt;br /&gt;Lo he llevado a la KDD P2P que organizamos con la gente del &lt;a href="http://sevilla.hacklabs.org/"&gt;Hackarena&lt;/a&gt; Hacklabs de Sevilla, algunas fotos que tomo un amigo pueden verlas &lt;a href="http://www.idabi.com/hackarena/Fotos.html"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-2401993605642465719?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/2401993605642465719/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=2401993605642465719' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/2401993605642465719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/2401993605642465719'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2007/05/cabeza-parlante-de-la-kdd-p2p.html' title='Cabeza parlante de la KDD P2P'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_h6YytO81YqE/Rly7AYMInuI/AAAAAAAAAAU/_fzrdIYFkj0/s72-c/PIC_0132.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8639809040559001780.post-1156439385217931463</id><published>2007-05-29T16:21:00.001-07:00</published><updated>2007-05-29T16:58:30.717-07:00</updated><title type='text'>Mi cueva</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_h6YytO81YqE/Rly2D4MIntI/AAAAAAAAAAM/Edteaxxe26k/s1600-h/PIC_0004.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_h6YytO81YqE/Rly2D4MIntI/AAAAAAAAAAM/Edteaxxe26k/s320/PIC_0004.JPG" alt="" id="BLOGGER_PHOTO_ID_5070127458251480786" border="0" /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div style="text-align: left; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_h6YytO81YqE/Rly2D4MIntI/AAAAAAAAAAM/Edteaxxe26k/s1600-h/PIC_0004.JPG"&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Esta  fo&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;to  es&lt;span style="color: rgb(51, 51, 51);"&gt;  de&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;  un  dia  qu&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;e estaba  bastante  ordenada,  ya  que  por lo general  esta  un poco  mas  caotica,  apesar  del  efecto  "anti-entropico"  de mi  mujer.&lt;/span&gt;&lt;/blockquote&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_h6YytO81YqE/Rly2D4MIntI/AAAAAAAAAAM/Edteaxxe26k/s1600-h/PIC_0004.JPG"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8639809040559001780-1156439385217931463?l=morloklabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://morloklabs.blogspot.com/feeds/1156439385217931463/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8639809040559001780&amp;postID=1156439385217931463' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/1156439385217931463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8639809040559001780/posts/default/1156439385217931463'/><link rel='alternate' type='text/html' href='http://morloklabs.blogspot.com/2007/05/mi-cueva.html' title='Mi cueva'/><author><name>Morlok</name><uri>http://www.blogger.com/profile/00613013757779140153</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_h6YytO81YqE/Rly2D4MIntI/AAAAAAAAAAM/Edteaxxe26k/s72-c/PIC_0004.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
