Distribuciones Linux para IoT Cuál es Mejor
Distribuciones Linux para IoT Cuál es Mejor

Distribuciones Linux para IoT ¿Cuál es la Mejor para Ti?

Mucha gente está viendo el potencial del Internet de las Cosas (IoT) y está buscando maneras de ponerlo en práctica en sus negocios. Sin embargo, con tantas opciones diferentes en el mercado, es difícil decidirse por la distribución de Linux adecuada para utilizar en tus dispositivos IoT.

Hay muchas distribuciones de Linux creadas para el IoT. Estas distribuciones están personalizadas para adaptarse a los requisitos de los dispositivos de IoT. Algunas distribuciones son intuitivas, mientras que otras son complejas.

Este artículo enumerará las principales distribuciones de Linux para el IoT y te ayudará a decidir cuál utilizar.

¿Qué son las Distribuciones Linux de IoT?

Para aquellos que están familiarizados con Linux, probablemente saben que hay muchas distribuciones de Linux diferentes (o distros de Linux). Y, si resulta que eres un desarrollador de IoT, es posible que también sepas que hay muchas distribuciones de Linux diferentes para IoT.

Un sistema operativo Linux típico integra herramientas y paquetes de numerosos desarrolladores y organizaciones (por ejemplo, herramientas y bibliotecas GNU) para crear un sistema operativo funcional para un dispositivo. Afortunadamente, dado que el kernel de Linux es de código abierto, su código fuente puede modificarse y reutilizarse para su redistribución, lo que ha propiciado la aparición de varias distribuciones Linux estándar para dispositivos IoT en el mercado.

La principal diferencia entre las distribuciones tradicionales de Linux para ordenadores de sobremesa y las distribuciones de Linux integradas es que estas últimas sólo incluyen los controladores y las bibliotecas necesarias para funcionar en el procesador de destino, y requieren tan sólo 100 KB de espacio. Esto hace que sean adecuadas incluso para dispositivos IoT de bajo perfil y con una sola función, que a menudo sólo tienen 64 MB de RAM y 32 MB de espacio de almacenamiento.

Aquí se describen algunas de las distribuciones Linux más populares para el IoT.

Ubuntu Core

Ubuntu Core está construido para dispositivos embebidos, y utiliza una versión ligeramente modificada del kernel de Linux. El menor tamaño y potencia de Ubuntu Core facilita la integración de todos los requisitos de los dispositivos IoT, por lo que te resultará útil para dispositivos de navegación, tablets, routers inalámbricos, etc.

Se trata de un sistema operativo gratuito y de código abierto que cuenta con el apoyo de una gran comunidad y muchos recursos que contribuyen a su desarrollo. Se puede personalizar para incluir sólo los paquetes y binarios necesarios para alimentar sus dispositivos IoT de un solo propósito y una sola función.

Construido sobre snaps, ocupa apenas 100kb de espacio de memoria, lo que lo hace rápido y dinámico, y además ofrece un nivel de configuración sin igual en el panorama de los SO de IoT.

Ubuntu Core soporta actualmente tiempos de ejecución de contenedores y orquestadores como snapd, Docker, LXD, AWS Greengrass, Azure IoT Edge y Kubernetes.

Sin embargo, los requisitos mínimos de Ubuntu Core incluyen un procesador de un solo núcleo a 500Mhz, 256MB de RAM y 512MB de almacenamiento, lo que lo convierte en una opción inviable para dispositivos IoT de bajas especificaciones con severas limitaciones de hardware.

Yocto

El Proyecto Yocto no se anuncia como una distro de Linux embebido, sino como un proyecto de colaboración de código abierto que puede ayudarte a crear tu propia distro personalizada. Yocto ofrece herramientas flexibles y un espacio para que los desarrolladores de sistemas integrados aprovechen las configuraciones compartidas, las pilas de software y las mejores prácticas para personalizar su arquitectura basada en Linux para dispositivos integrados de todo tipo.

Manuales de Yocto Project
Manuales de Yocto Project

Yocto se basa en el proyecto OpenEmbedded y emplea un modelo de desarrollo denominado “Layer Model“. Una capa en Yocto es un repositorio que contiene conjuntos de instrucciones relacionadas que indican al sistema de compilación lo que debe hacer. Las capas pueden anular configuraciones o instrucciones anteriores, lo que permite reutilizar las capas creadas por la comunidad para tus propios sistemas integrados. Al separar una compilación en capas modulares, Yocto también te facilita la reutilización del código y la adición de futuras personalizaciones a tu distribución. Las versiones de Yocto se publican cada seis meses con una documentación exhaustiva.

Tal vez el mayor inconveniente de Yocto es la cantidad de tiempo que los desarrolladores tienen que dedicar a familiarizarse con el proyecto y aprender a usarlo antes de poder crear su primera compilación. Puede suponer todo un reto para los desarrolladores que aún no tienen experiencia.

Buildroot

Buildroot es como Yocto en el sentido de que no es una distro Linux embebida en sí misma, sino más bien una herramienta para simplificar y automatizar el proceso de generación de una distro Linux embebida utilizando la compilación cruzada. Buildroot puede ser utilizado para generar un sistema de archivos raíz, una imagen del kernel de Linux, un cargador de arranque, y una cadena de herramientas de compilación cruzada en cualquier combinación requerida para tu dispositivo embebido. Buildroot viene con soporte para varios procesadores y placas estándar como Raspberry Pi, Cubieboard, y SheevaPlug.

Web oficial de Buildroot
Web oficial de Buildroot

Buildroot puede generar distros extremadamente ligeras para dispositivos embebidos en el extremo más bajo. Además, en contraste con Yocto, Buildroot es fácil de dominar y utilizar. El único inconveniente importante es que su enfoque minimalista hace que sea difícil de personalizar.

Raspberry Pi OS (antes Raspbian)

Raspberry Pi OS es un sistema operativo libre, basado en Debian, que fue desarrollado inicialmente por fans del hardware Raspberry Pi y la Fundación Raspberry Pi, convirtiéndose rápidamente en el software oficial para los dispositivos Raspberry Pi. Los objetivos iniciales del proyecto Raspberry Pi eran hacer más asequible y accesible la enseñanza de la informática. Pero, el dispositivo se ha hecho rápidamente popular en diversos campos y entre los aficionados como ordenador de placa única modular, de bajo coste y diseño abierto, abriéndose paso incluso en el mercado del IoT.

Documentación de Raspberry Pi OS
Documentación de Raspberry Pi OS

El sistema operativo Raspberry Pi se ha utilizado para alimentar una serie de proyectos basados en Raspberry Pi que van desde cámaras digitales hasta ventiladores para pacientes con COVID-19. Poco a poco se está utilizando en proyectos de IoT de automatización doméstica e industrial.

Por desgracia, dado que el sistema operativo se ha desarrollado casi exclusivamente para el hardware de Raspberry Pi, su uso en otros dispositivos de hardware de consumo está muy limitado, lo que restringe su difusión en el mercado de los dispositivos integrados.

Acerca de Android Things

Android Things fue una de las primeras distribuciones basadas en Android para dispositivos IoT de bajas especificaciones. Pero, el proyecto Android Things se cerrará en enero de 2022. Anunciado inicialmente por Google en 2015 como una distribución basada en Android para dispositivos IoT de bajas especificaciones, el proyecto ofrecía funcionalidades clave para dispositivos IoT con un mínimo de 32 a 64 MB de RAM. Además de proporcionar un sistema operativo básico para dispositivos IoT de baja potencia y con poca memoria, Android Things también pretendía permitir la conectividad en la nube con una consola de gestión incorporada para la entrega de actualizaciones y el aprovisionamiento de dispositivos, con soporte para WiFi, Bluetooth y el protocolo Weave.

Interfaz de Consola de Android Things
Interfaz de Consola de Android Things

En su lanzamiento inicial en 2018, Android Things alimentó dispositivos de hogar inteligente que soportaban Google Assistant, especialmente altavoces y pantallas inteligentes. Sin embargo, en 2019, Android Things dejó de ser compatible con el hardware de baja especificación y, en su lugar, se centró en los dispositivos de tipo smartphone. En diciembre de 2020, se anunció que el proyecto se cerraría y que todos los datos del proyecto se eliminarían en enero de 2022. A pesar de su fracaso, Android Things sigue siendo un hito importante a la hora de maximizar las capacidades de los dispositivos con limitaciones extremas de hardware.

¿Cómo Elegir la Distro de Linux Adecuada?

La elección de la distro Linux perfecta para tu proyecto embebido depende de varios factores:

  • RAM y almacenamiento del dispositivo: Ubuntu Core queda inmediatamente fuera de juego cuando se trata de dispositivos IoT de bajas especificaciones, ya que requiere al menos 256MB de RAM y 512MB de espacio de almacenamiento. Yocto y Buildroot pueden ser más útiles cuando se busca construir distros ligeras en el extremo inferior.
  • Tiempo de comercialización: Un tiempo de comercialización más corto significa que una distro Linux estándar y fácilmente disponible, como Ubuntu Core, puede ser la mejor opción. Yocto puede ser más apropiado para los desarrolladores que tienen el tiempo y el ocio para experimentar con la construcción y las pruebas de sus propias distros personalizadas.
  • Requisitos del proyecto embebido: Puede que Raspberry Pi OS no sea la distro más popular entre los fabricantes, pero ha encontrado un nicho que llenar entre los aficionados. Los dispositivos embebidos que no pueden ser brickeados bajo ninguna circunstancia (por ejemplo, las máquinas de soporte vital) pueden requerir actualizaciones frecuentes y atómicas y una seguridad estelar, por lo que una distro modular y en contenedores como Ubuntu Core puede ser más apropiada.

Para proyectos simples que requieren una distro minimalista, ligera y monolítica, Buildroot podría ayudar. Yocto es ideal para proyectos integrados que requieren personalización, ya que permite a los desarrolladores eliminar cualquier componente que sea irrelevante para la función y el propósito de un dispositivo.

En conclusión, esto es algo muy subjetivo dependiendo de lo que necesites ejecutar. Con el software adecuado, casi cualquier distribución de Linux funcionará en casi cualquier dispositivo IoT. Si buscas algo más fácil de gestionar, Ubuntu Core podría ser mejor.

Cada proyecto puede requerir un enfoque diferente y una distro Linux IoT que se ajuste a ese enfoque. Varios desarrolladores pueden ir “saltando de distro” antes de establecerse en una distribución ideal, y hay varias herramientas para ayudarte a probar y elegir la mejor distro.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda