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.

No hay comentarios.:

Publicar un comentario

Puedes comentar lo que gustes de este post.