viernes, 13 de marzo de 2015

Cortemos por lo sano... (Buscando mi sitio, parte 3)

Vayamos por partes...
Finalmente, la epítome de la saga del dichoso equipo de GPS. Hoy me invade la nostalgia de no tener aqui a uno de los hijos de RaccoonTech que mas alto ha llegado...literalmente. Es viernes 13 y viendo como quedó de troceada la historia, pues la imagen del post no pudo ser otra mejor que esta. Aunque la frase ciertamente no pertenece al amplísimo y florido repertorio verborreico de Jason Voorhees (ahora que lo pienso, una vez creo que le escuché un gruñido) pues...que mas da!, es una buena imagen: los ojos viendo al futuro y dispuesto a sacar de en medio CUALQUIER cosa que se interponga en su camino...

Pero bueno, dejando de lado el sarcasmo y siguiendo la historia pues seguí con mi equipo. El bandido iba mejorando a medida que yo iba aprendiendo cosillas nuevas. Le puse una pantalla TFT de 1.8", un teclado matricial, una mini base de datos MySQL, lo convertí en un servidor web con Apache, hago consultas desde el navegador con PHP y le agregué lo justo y necesario para que sea tan polivalente como su procesador pueda permitirlo. Surgió una variante interesante: Router WiFi (con un dongle USB-WiFi, para poder acceder inalámbricamente al equipo y mostrar información en línea) y sucesivamente fue mutando, mejorando y así como Tony Stark mejoró gracias al lodoso "Extremis" fui mejorando junto con mi proyecto. El aprendizaje seguirá y mis equipos seguirán mejorando también. finalmente iba quedando así:
Destripado del proyecto, en plena producción

En caja de pruebas
 Pero bueno, entre otras cosas, retomo lo mencionado en las partes 1 y 2: el tiempo que uso para desarrollar me era insuficiente, no había mucho de desarrollo electrónico en la empresa y sentía que empezaba a atrofiarme en estos campos. Aunque lo bueno es que tenía tiempo de aprender cosas y afinarme poco a poco como programador mini junior. De ahi mi dilema de ser...o no ser... El asunto se agravó cuando llegó un indeseable compañero de trabajo (a quien apodaré "el chino") que, en varios aspectos todos los dias me estresaba, cargaba (y luego le quitaba la R a "cargaba"). Normalmente cuando evalúo algo suelo sumar lo bueno y restar lo malo, pero con el ya empezaba a meter multiplicaciones a esa ecuacion de buenos y malos que dió como resultado un motivo mas que atrayente para salir: mejorar. La idea se redondeó cuando conocí a alguien en una entrevista de trabajo, en la misma me di cuenta que estaba hablando con alguien que me entendía, y cuando estuve entre electrónicos nuevamente solo pensé "esta es mi manada, y debo volver".
 Lo pensé, lo volví a pensar, y nuevamente lo pensé hasta que ya no pude mas y recorté mi contrato de trabajo para dedicarme de lleno a mis temas electrónicos (y obtener un poco de paz). Aunque ciertamente estuve tentado a seguir aguantando la dictadura (por favor, ni que estuviéramos en los 90!) y tanta chinadera (y luego, le agrego una G a "chinadera") porque hay que sacar para los frijoles y para darles el fluído eléctrico a mis queridos hijos. Pero bueno, entre otras cosas recordé la historia de la vaca. Y al matar a mi cuadrúpedo (irónicamente, me gustan mucho las vacas) pues me hice unos buenos churrascos!: El pequeño taller RaccoonTech ya había crecido bastante para estos dias: la impresora 3D ya es conocida (ya le conseguí un amiguito que ya anda haciendo sus primeras travesuras por acá. Ya hablaré de el en otro momento porque aun tengo que integrar al yerno al taller antes de hacer su presentación en público). Hoy mas bien, hablaré al recién llegado al taller. Una máquina maquiavélica que aprendí a querer: una cortadora láser.

Los trabajitos que puedo hacer con este recién llegado aún están en investigación. Ciertamente es gratificante saber que el diseño gráfico 2D facilita plasmar las ideas en hojas de papel...y el diseño 3D en plástico u otros materiales...pero el caso del corte laser es interesante porque (al menos para mi) es un híbrido. Ya no me conformo con tener mis figuras en papel, sino tambien las puedo tener en madera, acrílico, plástico, etc... Diseños, piezas, ideas...en fin, mas posibilidades para el pequeño taller.


Prueba de corte

Y el equipo con GPS tuvo una mejor presentación y finalmente, quedó así:
Terminado
Ahora bueno, el hijo ya abandonó el nido. Recordaré cuando se gestó la idea, cuando se empezaron los esbozos, los paseos que tuve con el mientras le enseñaba el mundo y el me decía donde andaba y que tan rápido iba... (menos mal que no me dijo "no te parece que vamos muy rápido"??)  y luego de todo eso verlo ya en su cajita de acrílico veo toda su historia y mi historia con él. Y al final me hizo pensar mucho. No se si he llegado a mi sitio, seguramente no. Pero se que estoy apuntando hacia allá. Aunque sea de electrónico, diseñador, programador, lavaplatos o de lo que sea.

Muestra de los puntos obtenidos con el equipo sobre un mapa hecho con la API de Google Maps clasificado por velocidad (el equipo genera estos mapas para velocidad, altitud, temperatura y cantidad de satelites conectados)
Hoja resumen de la prueba
P.D. Ya se me pasó el luto por la despedida porque me compré un GPS para mí. De yapa me llegaron unas Raspberry Pi B+ hace algún tiempo (mas puertos, menos consumo y mas diversión) y dentro de poco llega la Pi 2. También ha llegado algo mas de chatarra fresca, entre otras cosas.
Alguien recuerda la bicicleta de los primeros post?...jejeje.

viernes, 13 de febrero de 2015

Desenfrenando el asunto (Buscando mi sitio, parte 2)

Bueno bueno, de nuevo por estos lares dispuesto a terminar de contar la historia, o al menos darle una continuación. No es que tenga ánimos de cineasta pero eso de dar segundas partes para luego anunciar una trilogía no suena tan mal para una historia que aun no tiene un final claro, pero que ya se vislumbra el desenlace...

Como contaba antes, la prueba se realizaría en un camión... la cuestión estaba interesante pero el tema era llevar un equipo adecuado y para ser sincero no había hecho pruebas de circuitos bajo esas condiciones. En fin, sea como sea sería algo digno de verse, probarse, medirse y desecharse para seguir con la clásica ley de ensayo y error que suelo tener en el taller. Todo sea por la mejora contínua...jajajaja.

Pero bueno, esta vez ya no quería usar mi equipo...quería probar mis límites, intentar cosas nuevas. Entonces, mientras huía de mis preocupaciones y meditaba cual Capitán Harlock en su silla (aunque entre piratas mas parezco Jack Sparrow...despues de almorzado por los caníbales) algo iluminó a un recién llegado...la Raspberry Pi.

Mas vale decir "aquí corrió" que "aquí murió"...pero al menos lo intentó
Pensar en sus 700 Mhz de puro y ARMado corazón, sus puertos USB y su puerto Ethernet me hicieron pensar de que no solo podría saciar esa necesidad con creces, sino también podría obtener un equipo que podría expanderse y hacerse mas completo sin alterar mucho el hardware...entonces me arriesgué a hacer un pedido extra: un GPS SKM53 y el registro se iba directamente a un archivo CSV. Para comenzar la travesura estuvo bien, la Raspberry se portó bien y de hecho registró casi todo excepto los túneles (obviamente, por la falta de señal). Originalmente se pensaba usar algún tipo de sensor de revoluciones (de hecho en el tren se utilizaría) pero el GPS trabajó excelentemente bien. Pero tocaba la prueba final: llevar el equipo hasta casi tocar el cielo y que sobreviviera o cayera en el intento...futura ley RaccoonTech.
Alimenté mi Raspberry con un banco de baterías con conector USB y mientras la acomodaba en mi mochila recordé mis viejos tiempos de colegial, donde se encendió la chispa electrónica en este humilde mortal. Quienes me conocen recordarán que por aquellos días le puse un sistema de sonido a mi mochila, junto con LEDs que encendían al ritmo de la música y un improvisado equipo de karaoke que con un simple interruptor le quitaba la voz a cualquier canción. Al final con el equipo instalado en la mochila yo me alucinaba como el Master Chief de Halo con la Cortana Pi a cuestas (mmm...Cortana solo de personaje. No quiero saber nada de Windows Phone hasta nuevo aviso), pero bueno, a mi Cortana aun le faltan varias cosas...y cirugías también. Acá la muestra
Instalando el equipo. De yapa me llevé el anterior módulo para probarlo

Y llegó la prueba consabida. Hubieron varios factores que nos jugaron en contra pero finalmente llegamos al paso de tren mas alto del mundo. La zona (¿turística?) de Ticlio nos dió la bienvenida con sus poco mas de 4800 msnm. El vehículo que usamos para esa prueba (que en realidad fue un reconocimiento de ruta para luego dar lugar a las pruebas) llegó contra todo pronóstico (incluido el mio. Hasta corrieron las apuestas). Los equipos que llevamos llegaron bien (se llevó otro equipo para medir la temperatura, en este caso fue un Pro-Face LT3300 que llegó, a pesar de mis dudas, a ser un equipo realmente bueno y de mi estima personal ya que funcionó bien en un vehículo a pesar de ser un equipo de uso estacionario). Incluso yo, que fui (repetidamente) advertido de la altura, el "soroche" (malestar ocasionado por el enrarecimiento del aire debido a la altura. En fin, hay cosas que me hacen doler la cabeza bastante y a nivel del mar...creo que ya estaba acostumbrado) y del frío...andaba tranquilo por aquellos lares ya que (como sabrán) soy amante del frío y (afortunadamente) la altura no tiene gran efecto en mí. De hecho fui ilusionado de ver la nieve que suele caer en este paso (creo que era el único ilusionado con esto, ya que normalmente se hace un despelote porque se atoran los carros y el viaje pasa de unas cuantas a muchas horas). Considero que es uno de los fenómenos naturales que, gracias a nuestro calentamiento global, se convertirá dentro de unos años en un privilegio mas raro de ver que yo con mi mochila en secundaria.

Reitero: me gusta el frío. Creo que haré mi casa de verano aquí o en un refrigerador

Pero regresando al tema del equipo, los datos fueron satisfactorios y no solo la Raspberry demostró su valía. Armado con su GPS no solo capturamos la velocidad, sino tambien la posición y la altitud con una resolución de 1 dato por segundo...El asunto no solo pintó bien, sino que además la Raspberry me demostró funcionar tan bien que ahora hacer desarrollos mas complejos se me haría tarea fácil. Con el pasar de los días el equipo fue mejorando al punto de que no solo registraba los datos del GPS, sino que también los filtraba, almacenaba y hasta también los ordenaba según el número de prueba. La mayor de las ventajas era que pasaba de usar algunos kB de memoria a unos cuantos GB de almacenamiento disponible...Finalmente, tenía el equipo ideal para estas pruebas. Yo: feliz, y tuve que adjuntarle una pequeña frambuesa rosada a mi bandera de ARM que ya flameaba junto a la de Microchip y ya empezaba a izar tambien la de ATMEL, que se unieron al repertorio y que queda asi: proyectos simples con PIC y ATMEL, cosas complejas con ARM y finalmente asuntos de procesamiento, comunicaciones y almacenamiento con Raspberry Pi. Paz para todos.

Pero bueno, luego de seguir con la ley de ensayo y error el equipo empezó a tomar mas forma aun. Una pantalla gráfica TFT y un teclado matricial fueron las últimas adiciones al dispositivo que cada vez empezaba a tener forma de algo...que explicaré en la tercera parte de la trilogía de búsquedas de sitios, porque si bien he hablado del equipo, aun no he llegado a decir a donde me llevó (ni mucho menos, de donde me trajo). Sólo adelanto que mi situación se puso color Sillao (salsa de soya de sabor salado y color muy muy oscuro...y con origen asiático). En fin, ni modo, Este equipo por lo menos me dice donde estoy, y es aqui: en RaccoonTech...jejeje...

miércoles, 21 de enero de 2015

Buscando mi sitio...

Bueno bueno, seguro que mas de uno dirá: "Está un poco descuidado tu blog, no?" (de hecho ya me lo dijeron, pero mas de uno habrá y tendrían razón), pero acá vengo a darle vuelta al rincón que anda (nuevamente) acumulando polvito digital. La idea de tener un rincón ya denota mi búsqueda de un sitio, la añorada tierra que le prometieron a Mapachés al comenzar este éxodo.


Para comenzar la historia de hoy quiero decir, antes que nada, que los proyectos que expongo aquí son cosas que desarrollo en el taller en mi tiempo libre...sin mencionar que los escribo desde mi pequeña laptop. Quienes me conocen sabrán que soy fanático de las laptop en formato pequeño (las llamadas "netbook") por su reducido tamaño y modesta capacidad de procesamiento. Mi pequeña ASUS 1225B se volvió el nexo entre este blog y yo, permitiéndome escribir en distintos sitios (de ahi que me interesa la portabilidad) y ya casi se ha vuelto una tradición encender esta máquina para travesear algo en linux o para documentar algun nuevo derrame cerebral. Aunque creo que tanta labor de parto literario terminó dañando el teclado de mi pequeña y tras un buen tiempo de búsqueda, finalmente me lo enviaron desde oriente y ahora puedo seguir buscando sitios no determinados para escribir...

Pero bueno, dejando explicaciones (innecesarias?) comentaré que últimamente el tema de desarrollo en el taller ha mermado bastante. Como mencionaba lineas arriba, mis proyectos usan mi (poco) tiempo libre y si a eso se le añade que en el trabajo no he desarrollado tanto como quisiera, pues llegué a un estado de sed electrónica que, en palabras de este servidor, me volvió mas Grinch de lo normal. Lo bueno es que en este periodo de letargo he aprendido varias cositas que mencionaré lineas abajo.
Necesito crear algo urgente...o terminaré así...

Pero en fin, ya lo dicen: Dios apreta pero no ahorca, y justo cuando empezaba a perder la cordura (y a ganar gordura) me hicieron un pedido interesante: registrar velocidad y temperatura de un tren. Un proyecto interesante contando mi necesidad de desarrollar algo con cables y cosillas así. Pero bueno, este proyecto tuvo 2 etapas que marcaron un antes y un despues en el desarrollo de proyectos aca en el pequeño taller RaccoonTech. Es mas que sabido que he programado siempre PIC, y como siempre desarrollé un modulito que me permitía hacer esta labor. Perfeccioné un poco mas un equipo multipropósito que estuve desarrollando un tiempo basado en un PIC18F452, uno que englobara todo y que me sirviera en todo. El Frankenstein resultante resultó tener un puerto serie, un puerto ethernet, un slot para tarjetas SD, salidas para relay y una pantallita LCD. Algo que le puse luego fue un amplificador para termocuplas y estaba funcionando bastante bien y tras varias pruebas empezaron a salir algunos detallitos que se fueron resolviendo uno a uno. Este equipo era capaz de tomar datos de sensores digitales y análogos e irlos grabando toda la información en una memoria SD...un pequeño datalogger mezclado con servidor Web.

Módulo de pruebas, con PIC18F452, Ethernet, Serie y tarjeta SD. La carcasa fue hecha en mi impresora 3D

Pero uno de los detalles que no me terminaron de gustar era la que el equipo no grababa tan rapido como quería. Llegué a registrar y grabar datos cada 3 segundos y estaba limitado a memorias de 2GB ya que utilizo FAT16 como sistema de archivos (FAT32 me resultó un poco mas lento pero aun trabajo en eso) hasta que empecé a usar nuevos juguetes, entre ellos una pequeña tarjetita de desarrollo basada en un microcontrolador STM32 de arquitectura ARM. mas pequeña pero muy interesante...un juguetito mas que potente comenzando por sus 72MHz de velocidad de reloj, instrucciones a 32 bits de 1 ciclo de reloj, conversores AD de 12 bits, una pantalla táctil y un puerto para tarjetas SD...nada mal para empezar con los ARM (sobretodo comparandolos con las instrucciones de 4 ciclos a 40 Mhz que tenía mi pequeño módulo). Aunque una pequeña desventaja que empezó a retrasar un poco mi trabajo es que los ARM trabajan con 3.3V y yo siempre lo hice con 5V. Pero bueno, la potencia valía la pena y es un problema que unos transistores pueden cargar muy bien.

Cuando empezaba a pensar que tendría poco tiempo para cambiar todo el proyecto a ARM (ya que si bien tenía mi módulo anterior listo para partir, la única fecha que teníamos era "la otra semana") un sentimiento empezó a indundarme. Una vez que probé la potencia de un ARM no lo quería soltar, solo quería aprender y aprender mas de esta plataforma pero aqui en Perusalén solo conseguía PIC. Hasta que conseguí otra tarjeta basada en otro micro ARM: un Mini2440 con pantalla táctil corriendo Windows CE 6.0 y ejecutar programas .NET 2.0... Y ahí empezó una nueva etapa en el taller.
Esta por mas decir que la 2440 era interesante, pero en windows se lenteaba bastante. El poder utilizar los pines GPIO de la tarjeta me llevó por una aventura de compilación algo larga, sin contar que al utilizar WinCE tenia que compilar el SO usando VisualStudio 2005...que rollazo!. intenté usar Qtopia con esta tarjeta pero mucho del software que utilizaba esta tarjeta estaba descontinuado e incompleto, y solo utilizarla a nivel de puerto USB y serie no me llamaba mucho la atención. Era interesante si, pero no me satisfacía. Llegamos a un momento en que la tarjetita dijo "hasta aqui nomas" y fue cuando simplemente dejó de funcionar.
Tarjetita de desarrollo Mini STM32, con touchscreen de 2.8"

Ahi fue cuando comenzó el debate: hacia donde estaba yendo yo? a solamente programar? a hacer circuitos? a que iba yo?. Estaba entrando a otra área mas informática y el camino por recorrer es largo...Y luego de un debate interno solo llegué a una conclusión, usar ARM para proyectos que me requieran mas potencia de procesamiento, y los PIC para cosillas mas sencillas. Y durante el 2012 y 2014 que estuve lejos de aquí, readopté linux y los micros ARM, llegó la impresora 3D, aprendí algo de diseño 3D y me volví un devoto de la tecnología a bajo nivel. Posteriormente empezaron a llegar cosas y juguetes nuevos. Aun tengo citas pendientes con mis PIC32, dsPIC30, unos PIC18F97J60 y unos prometedores MRF24WB0MA...al punto que tenía mas cosas pendientes de investigación que en producción (tampoco es que haya tenido pedidos...ni tiempo de desarrollar) pero la experiencia con la Mini2440 fue tan intensa que solo podía decir una cosa: así como fusioné mis proyectos y obtuve un módulo multipropósito para el taller, podría usar los PIC, los ARM y las computadoras SBC. Recomenzaron las investigaciones y fue ahí cuando un dia llegaron  a mis manos una Raspberry Pi y su módulo de cámara...
Recién llegadas...
Que voy a hacer, cada vez mas me gusta linux y seguiré migrando, puedo compilar directamente para mi micro ARM desde aqui y grabarlo sin mucho rollo (y a la fecha, sigo probando otras distros. Ahora ando con Linux Mint y Cinnamon y admito que Ubuntu ha mejorado mucho) pero cuando empezé a programar directamente en la Raspberry me sorprendió la potencia que hay dentro de esta pequeña tarjetita SBC. Ese fue el inicio de la reconciliación con los SBC (Esta bien, para quien se preguntó "que rayos es SBC": Single Board Computer, computadora de tarjeta simple o de dimensiones reducidas para aplicaciones simples. Incluso HP está usando esta tecnología para sus servidores MoonShot).

Pero bueno, regresando al tema del datalogger, ya la prueba del tren se había pospuesto bastantes semanas (meses en realidad) cuando ya le eché tierrita y me dediqué a aprender mas de ARM, cuando me hicieron otra propuesta. Hacer lo mismo con un camión...Y esto ya será motivo para una segunda parte de este post ya que estoy haciendo la historia muy larga y ya es hora de postear...jejeje.