Primeros pasos con IoT: Hardware libre

Spread the love

De acuerdo con el diccionario de la real academia española, se denomina hardwareal conjunto de elementos que forman el soporte físico de una computadora, esto es las partes físicas, tangibles, de un sistema informático, lo cual incluye sus componentes eléctricos, electrónicos, electromecánicos y mecánicos, así como cualquier otro elemento físico necesario para el funcionamiento del mismo.

En tanto que, se conoce como Software al conjunto de instrucciones y reglas informáticas escritos para ejecutar ciertas tareas en una computadora, formando lo que se conoce como programa.

Con la miniaturización de microprocesadores, microcontroladores y sensores, la electrónica para implementar un proyecto de IoT se ha vuelto mucho más económica, pero a la vez el proceso de diseñar el hardware y en particular de manipular y ensamblar los diminutos componentes necesarios para construir cualquier prototipo, también es ahora mucho más complejo.

Además, conforme avanza la tecnología, el proceso de diseñar hardware se vuelve una tarea que requiere de una especialización cada mayor, mientras por otra parte, la escritura de Software se vuelve cada vez más simple e intuitiva.

Estas son algunas de las razones por las que existe una tendencia cada vez mayor a crear proyectos de hardware y software libre, también conocidos como “open-source”, donde un grupo diseña una variante de hardware, lo vende a bajo costo y comparte las herramientas para crear aplicaciones de software con el público en general, lo cual atrae a numerosos usuarios, que muchas veces están más interesados en emplear este hardware y ahorrarse todos los inconvenientes de crear uno propio, enfocando sus esfuerzos principalmente en usarlo para programar y resolver problemas específicos.

Haciendo una analogía, sería algo similar a una compañía que diseñe un auto y además de compartir los planos de diseño con el público, lo venda a un precio tan accesible que el consumidor final, que muchas veces no entiende o no le interesa la parte mecánica, prefiera simplemente comprarlo y concentrarse en conducir.

Precisamente esa es la principal ventaja que trajo consigo el desarrollo de las tecnologías modulares con hardware y software libre, donde Arduino y Raspberry PI, que aunque no son las únicas en este ambiente, son dos de las más conocidas que se han vuelto tan populares y accesibles, que hoy en día se pueden encontrar en multitud de aplicaciones y que pueden además emplearse tanto para simplificar el proceso de aprendizaje, como también la velocidad de desarrollo en proyectos de IoT.

Siendo ambos módulos, como mencionábamos, dos de las opciones más comunes para dar los primeros pasos en el mundo de IoT, son bastante socorridos tanto por usuarios nuevos como experimentados en este medio, aunque cabe aclarar que es necesario tener conocimientos básicos sobre electrónica para trabajar en nuestro primer proyecto.

En el caso de Arduino, tenemos una placa que incluye microcontrolador, oscilador y el resto de los componentes periféricos necesarios para integrar una aplicación completamente funcional, sin embargo lo más interesante es que todo el proyecto se realiza con hardware (HW) y software (SW) libre, conocidos comúnmente como “open-source”, lo cual implica que hay una abundante cantidad de ejemplos y librerías bien documentadas por la comunidad de desarrolladores.

Por otra parte, Raspberry-PI, utiliza un procesador con periféricos integrados, lo cual da forma a una pequeña computadora completa, que puede soportar muchos de los programas escritos para computadoras más grandes, tal como puede ser las aplicaciones que corren sobre Linux e incluso alguna variante de Windows.

Estrictamente hablando, el hardware de Raspberry-PI no es completamente open-source, ya que la compañía que la produce solo comparte la información básica sobre este modulo y sus interfaces de entrada/salida, sin embargo el software si es open-source y la comunidad de desarrolladores es bastante amplia, por lo que existe muchísima información en foros abiertos para aprender fácilmente sobre su uso y programación.

Como en todos los ambientes de desarrollo donde exista más de una opción, siempre habrá quien prefiera uno sobre el otro, sin embargo ambos tienen nichos de aplicación donde son más eficientes, sobre todo por la relación costo\beneficio.

Desde el punto de vista de simplicidad para iniciarse en el mundo de IoT, Arduino es un poco más sencillo para comenzar y Raspberry sería más apropiado para aplicaciones un poco más complejas, sin embargo, en ambos casos la información disponible es abundante y muchas veces el trabajar con uno u el otro depende más de preferencias personales o de las necesidades particulares de la aplicación a desarrollar.

En las imágenes a continuación, se muestran ejemplos de variantes comunes, tanto de Arduino como de Raspberry-PI y aunque quizá a simple vista no sea muy notorio, sin embargo aun siendo de tamaño similar, debido al tipo de tecnología empleada, el hardware de Raspberry-Pi, suele ser bastante más complejo que el de Arduino.

Arduino Uno (tecnología de microcontrolador)
Raspberry Pi Zero W (tecnología de microprocesador)