domingo, 17 de marzo de 2013

Arduino, Raspberry Pi y una historia de cajas negras.

Existe una nueva tendencia en el mercado electrónico que abarca desde pequeños grupos de emprendedores, hasta las compañías de primera línea que incorporan, como elemento de trabajo, placas que traen los elementos necesarios para hacer funcionar un sistema que antes se construía (muchas veces) de manera anárquica. Es decir, cada investigador electrónico intentaba armar sus prototipos de la mejor forma que podía y no existía un patrón estructural. Con la llegada de Arduino y otros sistemas similares, este problema fue resuelto y el trabajo se centró en saber programar. El hardware comenzó a venir todo hecho, resuelto, económico y listo para ensamblar. Allí nace la gran pregunta: Saber programar, ¿Significa saber de electrónica? ¿Tú que opinas?

La llegada de Arduino al mundo de la Electrónica fue una vuelta de página respecto a la actividad tradicional que solía tener cualquier aficionado a la electrónica. Si bien antes tampoco era necesario saber soldar para poner en marcha un sistema basado en un microcontrolador sobre un protoboard, al menos había que saber ensamblar ese hardware y luego había que tener ciertos conocimientos de programación. Muchos, pocos o medios, eso no importaba y en definitiva, de eso dependería hasta dónde llegaría el realizador electrónico con su desarrollo. Cuando entra Arduino en escena, había mucha (pero mucha) gente que sabía programar (en diversos lenguajes) o en su defecto tenía grandes nociones de la actividad ya que en los diferentes niveles educativos, los lenguajes de programación comenzaron a ser una constante. En muchas ocasiones, los alumnos no entendían muy bien lo que estaban estudiando debido a que “eso” que armaban, partiendo de un diagrama de flujo, no lo podían “ver en acción” más que en algún emulador o simulador dentro del ordenador. En el mejor de los casos, la rutina terminaba en algún circuito hecho por otros, puesto a punto por otros y al que se tenía acceso sólo cuando se encontraban con esos “otros”, que terminaban siendo profesores, alumnos avanzados de la carrera o experimentadores solitarios (gente rara).

La Electrónica sobre un protoboard. Estructuras anárquicas que variaban de un electrónico a otro

Hasta que un día apareció una placa económica, con muchas “cositas”, que enarbolaba la bandera del Hardware y Software Libre, pero que para una inmensa mayoría no era más que una “caja negra” que funcionaba con sólo conectarla a un puerto USB del ordenador y por sólo 25 Dólares la podíamos llevar con nosotros, a cualquier lugar y en todo momento. No importaba que tenía dentro, lo que interesaba era que con ella se podía “dar vida útil” a las interminables horas de aburrida programación estudiantil. A partir de allí, todo jugó a favor. La onda expansiva se propagó por Internet como nunca podría haberlo hecho otro fenómeno por otro medio tan masivo y de comunicación realimentada en forma automática como fue la web. De este modo, llegó a personas que no sabían lo que era un FTDI o un ATMEGA y que además, “no les interesaba”. Para ellos, escribir cuatro líneas de código y lograr que un LED encienda y apague, era un acontecimiento único en su vida.

Arduino, el boleto de ida, para muchos, al mundo de la electrónica, partiendo desde un teclado

Hasta ese momento (llamémosle “antes”), había una comunidad de trabajadores de la electrónica del hardware, con sus dedos callosos por las quemaduras con el soldador (o cautín). Con sus ropas sucias de salpicaduras con ácido para hacer los PCB. Con los ojos pequeños de “enrutar” vías durante noches enteras hasta descubrir, al día siguiente, que el encapsulado de un capacitor era enorme y no entraba en el espacio que tenía reservado. Más noches escribiendo línea a línea un código en ASM donde la rutina debía saltar si el bit del registro estaba “seteado” o no y donde cada NOP podía significar la pérdida de toda una trama de datos, transmitidos en forma serial. Y más noches peleando con un dudoso programador de microcontroladores que nunca repetía dos veces un mismo mensaje de error y confundía más de lo que programaba.

Aquí, en este punto de la línea de los tiempos, cuando los microcontroladores ya existían e Internet no era más que un puñado de personas alrededor del mundo. Cuando el correo electrónico era toda una rareza. Cuando no existía el puerto USB en los ordenadores. Aquí, en este punto de la historia, ¿Tú crees que Arduino, o un sistema similar con tecnología acorde a sus tiempos, podría haber tenido éxito? En sus comienzos, sin la web, Arduino no hubiera sido más que una bonita placa, funcionando con pequeños ejemplos obtenidos desde un CD de alguna publicación impresa especializada. Pero no nos adelantemos, sigamos en la era del puerto paralelo y puerto serie.

Apertura de puertas y persianas automáticas con Arduino. No importa que el 90% sea otra cosa. 4 cables conectan a un Arduino

Hasta que en ese momento (llamémosle “presente”), aparece esta caja negra que sólo necesitaba un conector USB hacia un ordenador, algo de hardware periférico y genérico (motores, luces, sensores, llaves) y programación, sólo programación. Los primeros virtuosos del teclado que “vieron” el potencial que encerraba esta caja negra comenzaron a explotarlo, haciendo desde la aplicación más simple hasta la más compleja y combinada. Estructuras formadas por múltiples Arduinos trabajando como esclavos unos de otros y operando desde un simple juego de luces, hasta un robot volador completo. Todo se hacía con Arduino. Los titulares de los artículos eran redundantes. “Luces audio-rítmicas con Arduino”, “Indicador de LED con Arduino”, “Semáforo con Arduino”, “Regador automático con Arduino”, “Zapatófono con Arduino”, “No-sé-qué-cosa con Arduino” y lo más atrapante eran las “Impresoras 3D con Arduino”.

El público en general leía los titulares de las aplicaciones, pero cada tres o cuatro palabras encontraba una coincidencia: “Arduino”. A partir de allí la ola se generó sola. La gente comenzó a agruparse en páginas, foros, comunidades y la web (que ya disfrutaba del ADSL hacía varios años) fue la gran plataforma de lanzamiento de este sistema, que aún sigue tan vigente como al principio y que cada día suma más adeptos. Gente con una notable y admirable creatividad que produce realizaciones que, hasta hace pocos años, eran privativas para los más evolucionados electrónicos. Éstos, al ver esta nueva ventana al público consumidor, comenzó a diseñar y a elaborar lo que se conocen como “Shields” (Escudos) que facilitan la tarea de orientar la “caja negra” hacia aplicaciones específicas. Uno de los más claros ejemplos de esto es el que permite conectividad Ethernet. Sólo se trata de insertar un módulo, tomar ejemplos de código hechos por otros y se produce la magia: en pocas horas un programador puede jactarse de operar las luces de su casa vía web. Más aún si agrega el escudo WiFi. Sus amigos lo admirarán al ver que con su teléfono móvil, vía web y desde una mesa de café, controla las luces, la alarma de su casa y hasta le da de comer al gato. Todo con un Arduino. (“Este sí que de Electrónica sabe mucho…”)

El potente mbed, de NXP

Lo que Arduino despertó o generó (llamémosle “después”) fue una nueva generación de creativos electrónicos que evolucionó como un tsunami, en términos cronológicos, de la noche a la mañana. Con la misma velocidad aparecieron mbed, chipKIT, LPCXpresso, Amicus y muchas otras que ni siquiera fueron conocidas en forma masiva. Y allí no paró esa ola que inundó el mercado con placas que lo contenían todo, que lo hacían todo. La competencia se tornó cada vez más importante porque aprovechando las crecientes tecnologías de miniaturización comenzaron a realizarse arquitecturas diferentes, para realizaciones diferentes y objetivos ídem. Este es el caso del actual sistema Raspberry Pi, por citar un ejemplo. Como mencionamos antes, es otra cosa que nada tiene que ver con Arduino, pero permite el acceso a la gente para que ingrese al mundo electrónico, del diseño y del desarrollo desde el mismo lugar: la programación de una caja negra. Equipos muy económicos, que requieren poco hardware adicional (el poco que necesitan ya viene hecho) y que logra resultados sorprendentes. Como dijimos antes, quizás las arquitecturas y los conceptos no tengan nada que ver entre sí, pero lo digno de remarcar es la ventana que el comercio ha abierto a un nuevo segmento de "consumidores". Los nuevos genios de la electrónica sin soldadura y con la web de su lado, como herramienta base.

Las sorprendentes LPCXpresso de NXP

Sin embargo, en la mayoría de los casos y como suele ocurrirnos a casi todos los seres humanos, muchos de estos mismos desarrolladores que hace un año no sabían lo que era un transistor, hoy se enfrentan al reto de que la topología de su caja negra, “les queda chica”. Además, con el tiempo, fueron creciendo en el trabajo y ello los llevó a un aprendizaje autodidacta que les enseñó a avanzar más y más. Mañana quizás sean los creadores de nuevas “cajas negras versión 2.0” o comiencen a vivir la experiencia de salir hacia el mundo electrónico “hecho a medida”, desarrollado desde las entrañas de un circuito esquemático hasta cada vía de un PCB y cuando sean exitosos ingenieros realizados empresarialmente, recordarán con cariño aquellos años dorados de los inicios con Arduino.

El ordenador más pequeño y económico del mundo que te permite acceder a la electrónica en sólo unas horas

Visto en perspectiva, podríamos comparar la situación con aprender a conducir, comprar un automóvil y disfrutarlo. Salvando las distancias, los costos y los tamaños, la analogía del ejemplo puede ser válida. Hoy (y desde hace muchos años), la gente no se construye sus propios automóviles, pero el que deciden comprar, no será útil como vehículo de paseo familiar, como transporte de cargas y/o como un barco para 200 personas, es decir, para todas estas aplicaciones. En electrónica sucede algo similar, una solución, no es válida para todos los escenarios y muchas aplicaciones deben ser construidas a medida, porque una bocina en un avión o un timón en un auto, no quedarían muy elegantes y útiles. Regresando al área electrónica, para muchos, Arduino es lo más importante que les sucedió en la vida. Para otros, no es más que un oportunismo comercial que llegó al éxito y muchos están corriendo detrás de una parte del pastel. Es decir, aprovechar el negocio de los “programadores – electrónicos”. Tú, ¿En qué escala de valores lo ubicas? Para ti, saber programar, ¿Significa saber de electrónica?

1 comentario:

Byakuya30 dijo...

Saber programar no es lo mismo que saber electrónica, pero el saber programar me ha dado entrada al mundo de la electrónica, que era un enigma total para mí. Entiendo la postura de quien sabe de electrónica y ve como un muchacho de la nada toma una solución "all-in one" y la usa para hacer cosas que desarrollar sin la solución sería imposible para él y más si el muchachillo se jacta de genio cuando apenas tiene idea de cómo conectar la solución al PC. Yo no uso arduino ni tampoco raspberry Pi, yo uso microcontroladores PIC y lenguaje Pic Basic Pro. Soy Ingeniero Químico de profesión y el saber que puedes crear un sistema de control de procesos con solo unos pocos componentes usando microcontroladores es algo que te llama la atención instantáneamente, en cuanto vez al muchacho en un video en Youtube prendiendo y apagando un led desde su PC te empiezan a surgir ideas de todo el potencial que tiene usar una herramienta ya hecha. Años de saber programar para modelar reactores, intercambiadores de calor, balances de materia y energía y ahora puedes usar este conocimiento para controlar un proceso de la vida real es algo que jamás me hubiera imaginado y pues es una oportunidad que no se puede perder. Sé que a veces los que no tuvimos formación en regla sobre la electrónica podríamos ser un poco "pesados" al obviar muchas cosas y decir que "sabemos" cuando no tenemos el panorama completo. Yo uso Pic Basic Pro y es un compilador de alto nivel, nada de ASM, lo que programo lo escribo en 10 líneas cuando en ASM llegan a ser cientos, uso circuitos "básicos" que encuentro en libros o en la web y hago cálculos "sencillos" para poder dar con los componentes y características de los ensambles que se ajustan a lo que requiero. Pero es parte de lo que ha generado internet. Hoy día un muchacho aplicado a la web sabe más cosas prácticas que un ingeniero en sistemas titulado de una escuela patito. Eso es real. Yo he visto personas abriendo negocios de purificación y venta de agua embotellada cuando nunca tuvieron siquiera alguna formación en química, osmosis, buenas prácticas de manufactura o idea siquiera de cuanta presión necesita arrojar su bomba para que el filtrado sea bueno y sin embargo crean negocios de eso y los mantienen usando soluciones pre-fabricadas. El futuro pinta así, considero que llegara el día en el que las personas decidan no enviar a sus hijos a la escuela, simplemente darles una conexión a internet y que ellos en base a lo vean ahí aprendan y elijan en que quieren dedicar su tiempo y como quieren ganarse la vida. La información en la red está ahí, cualquiera puede tomarla y las empresas ven con buenos ojos la creación de cajas negras y soluciones prefabricadas, pero siempre será necesario quien tenga el conocimiento para crearlas, para hacerlas más eficientes y más compatibles, eso es un hecho, lo único que logra este fenómeno es empujar a los profesionistas a ser cada vez mejores y no conformarse con solo saber, ya que todo el mundo puede entenderlo pues está en la red, sino a salirse de la zona de confort para innovar y crear nuevas soluciones prefabricadas, cada vez mejores y más eficientes.