Programando la computadora invisible
A finales del siglo pasado uno de los más importantes visionarios de las Ciencias de la Computación y de las Ciencias Cognitivas, Donald Norman, presentó el concepto de Computadora Invisible. Cada vez más las computadoras se encuentran formando parte de los dispositivos que utilizamos y dejamos de darnos cuenta de que están ahí, trabajando, en el automóvil, en la cocina, en la lavadora, etc.
El internet y los dispositivos de comunicación hacen posible que un sistema tenga en Don de la Ubicuidad: que se encuentre presente en varios lugares al mismo tiempo. A esto se le conoce como Cómputo Ubicuo (Ubiquitous Computing)o como Cómputo Pervasivo. El hacer posible que cualquier cosa, literalmente cualquier cosa, pueda estar conectada al internet e interactuar con otras es lo que denominamos el Internet de las Cosas (Internet of Things, IoT). Imagina que tu taza de café le avise a tu teléfono celular que se está enfriando, o que un sensor te avise que el nivel de glucosa de tu familiar acaba de llegar a un rango peligroso.
Hace apenas dos semanas, como parte de nuestro programa de Actualización Docente, un profesor visitante de la Universidad de Ciencias Aplicadas de Kiel, Alemania, nos dio un curso de introducción a la programación para Internet de las Cosas. En el curso programamos un micro controlador que funciona a 250 mega Hertz, usa 520 kilobytes de memoria, tiene conexión wifi, un micro display integrado y es del tamaño de una ficha de dominó. El bicho cuesta 10 dólares.
Recordé inmediatamente mi primer trabajo, en un grupo inmobiliario (donde mi jefe era el hijo de un expresidente). En ese entonces colaboraba con dos compañeros de la Universidad, desarrollando un sistema contable completo: desde la captura de ingresos y egresos hasta la impresión de cheques de nómina. El sistema corría en una computadora a una frecuencia de 2.5 mega Hertz. Usaba 64 kilobytes de memoria y llevaba la contabilidad de las empresas inmobiliarias del grupo. Y ahora me encontraba programando un procesador que corre diez veces más rápido que la computadora que usé en mi primer trabajo y tiene 8 veces la memoria de aquella.
Y entonces, francamente me entusiasmé. Si con una máquina con menos capacidad pude hacer cosas importantes y complejas… ¡imagínate con un procesador mucho más potente y de bajo costo, que te permita conectar al internet diversos tipos de sensores y mecanismos!
Afortunadamente contamos con equipo de Internet de las Cosas en nuestros laboratorios de Electrónica, en la Universidad, y en nuestros nuevos programas hemos incluido estos temas en sus planes de estudio.
Hace unos días he comprado mi primer micro controlador programable, y será mi compañero de aventuras estas vacaciones. ¿Por qué? Porque el programar, como debe ser, es una actividad divertida basada en descubrir y crear. No hay límite de edad para aprender a programar. Los únicos límites nos los ponemos nosotros mismos. Y después de todo, es mejor programar que ser programado por las redes sociales y por la televisión.
Acerca del autor: Dr. Gerardo Ayala San Martín, licenciatura en Ingeniería en Computación por la Universidad Nacional Autónoma de México (UNAM) emitida en 1985. Diplomado en Software Engineering impartido por el Center of the International Cooperation for Computerization (CICC) Tokio, Japón, en 1986. Maestría en Ingeniería en 1990 por el Muroran Institute of Technology en Japón. Doctorado en Ingeniería, en el área de Sistemas Inteligentes, en 1996 por The University of Tokushima, Japón, y Posdoctorado en la Universidad de Tokushima, Japón, en 2008.
Ha publicado más de 50 artículos de investigación en libros, revistas y Congresos Internacionales, en el área de educación asistida por computadora (e-learning). Fue profesor invitado para el Internet Science and Technology Academic Program de la University of Applied Sciences of Kiel, Alemania en el 2001. Dentro de la Universidad de las Américas Puebla, ha sido Decano de Investigación y Posgrado del 2002 al 2004. Vicerrector Asociado de Investigación, Posgrado y Extensión Académica del 2005 al 2006. Decano de la Escuela de Ingeniería de enero 2009 a enero 2012. Director de Investigación y Posgrado desde 1990 es profesor investigador de tiempo completo.
Por: Dr. Gerardo Ayala San Martín
Director Académico del Departamento de Computación, Electrónica y Mecatrónica, UDLAP.