Compartir
Publicidad

Cómo Android podría ser el sistema operativo de todos tus cacharros del futuro

Cómo Android podría ser el sistema operativo de todos tus cacharros del futuro
Guardar
7 Comentarios
Publicidad
Publicidad

Los sistemas operativos no solo tienen relevancia en el contexto de los móviles, los PC o los portátiles. A todos nos suena, más o menos, que estos dispositivos funcionan gracias a la presencia de un SO que permite instalar aplicaciones y controlar los elementos de hardware, pero en nuestro día a día nos cruzamos con muchos más dispositivos que, sin ser ordenadores o móviles, también usan su propio sistema operativo para funcionar.

Cuando usamos un cajero o un sistema de entretenimiento a bordo, por detrás también tenemos un sistema operativo sobre el que se ejecuta la app de entretenimiento o la de gestión de las operaciones financieras. Eso se puede ver, en ocasiones, cuando el sistema se reinicia debido a un error u operaciones de mantenimiento e identificamos, por ejemplo, un logotipo de Windows en pantalla o mensajes propios de Linux.

En general, en estos sistemas “embebidos” (así se denomina a los sistemas electrónicos diseñados para dotar de funcionalidad a equipos como los de los cajeros o los sistemas de entretenimiento a bordo) se usan versiones simplificadas de los sistemas operativos “completos” para adaptarlos a la electrónica específica de estas máquinas y equipos.

Bankomaty Na Dworcu Poznan Glowny 01

Las máquinas de vending, los postes de los servicios de bicicleta compartida, las cajas registradoras de los supermercados, algunos modelos de televisiones Smart, vehículos, robots, etcétera, están gestionados, en última instancia por un sistema operativo sobre el que los programadores desarrollan el software que hace que estos dispositivos cumplan con su cometido.

Además de los sistemas operativos, también podemos encontrar soluciones propietarias, donde el software que controla la electrónica está desarrollado “ad hoc”. En este caso, en vez de hablar de sistema operativo, usamos el término “firmware” para designarlo. Desarrollar un firmware para un sistema dado, tiene ventajas como la de estar hecho a medida, por lo que funcionará más rápido y de modo más estable. Pero si hay que hacer modificaciones para añadir más funcionalidades o se tiene que modificar la electrónica, las ventajas se convierten en inconvenientes.

Android, un sistema operativo versátil pero exigente

Entre otros sistemas operativos usados en estos sistemas “embebidos”, tenemos versiones especiales de Windows, Linux o QNX, por poner varios ejemplos. Y, por supuesto, también está Android como opción.

Android es más conocido por ser un sistema operativo de teléfonos móviles y tabletas, pero en última instancia está emparentado con Linux, muy usado en sistemas embebidos. El kernel, el componente fundamental y esencial del sistema por encima del cual se implementan las funcionalidades propias de cada dispositivo, es esencialmente el mismo para un móvil con Android o un PC con Ubuntu que para una máquina de vender refrescos.

La diferencia estriba en que Android se diseñó para ofrecer un conjunto de funcionalidades lo más amplio posible, un ecosistema de desarrollo sumamente abierto y la posibilidad de instalar aplicaciones, mientras que los sistemas embebidos están pensados para ofrecer únicamente las funcionalidades mínimas imprescindibles para que funcione la máquina de vending, la caja registradora, o el sistema de que se trate.

Sistema Embebido

Usar Android en sistemas embebidos, por atractiva que pudiera parecer la idea, no es una tarea fácil. Sería genial, ciertamente: Android se usa en millones de dispositivos, hay infinidad de código escrito que se puede reutilizar y adaptar, documentación en abundancia y miles de aplicaciones. Pero en la práctica hay obstáculos que han hecho que esta adopción sea más complicada de lo que pudiera parecer.

Una de las razones para ello radica en las limitaciones en cuanto a rendimiento y conectividad de los sistemas embebidos comparados con los smartphones. Instalar un sistema Android en una placa de desarrollo como las que se usan en, digamos, una máquina de venta de latas, no es viable en general. Son sistemas dimensionados con el mínimo hardware posible y un rendimiento apropiado para su función específica, pero insuficiente para mover un sistema tan ambicioso como Android.

Fox Red Hires

Otra de las razones estriba en la forma en la que se diseñan las placas de desarrollo en las que se basa la electrónica de los sistemas embebidos, con conectividad y componentes donde la estandarización brilla por su ausencia, y sin esa estandarización, Android no funciona.

A día de hoy, en un mercado muy fragmentado, Android está entre los sistemas preferidos por los diseñadores de sistemas embebidos. El estudio "2015 Embedded Markets Study" así lo muestra, aunque más que las cifras de uso actuales, el dato más interesante es el del interés mostrado por los desarrolladores por Android para sus próximos proyectos.

2015 Estudio Embedded

FreeRTOS sigue estando por delante, aunque Android tiene un as en la manga: Brillo, una versión de Android especialmente diseñada para sistemas embebidos y el IoT que, actualmente se encuentra en una fase de desarrollo temprana a la que se accede únicamente por invitación. Cuando esté finalizado, la cuota de mercado de Android en conjunto podría superar la de otros sistemas operativos.

Brillo, una versión "reducida" y optimizada de Android, ataca un campo donde Android ahora mismo no es fuerte: dispositivos de muy bajo consumo para IoT y RTOS (Real Time OS) y complementa a las versiones convencionales de Android, cubriendo un espectro de aplicaciones muy amplio.

La nueva generación de placas de desarrollo: potencia y estandarización

Los sistemas embebidos encuentran en los procesadores con arquitectura ARM su mejor aliada para el desarrollo de soluciones. A diferencia de los PC de sobremesa y portátiles con Windows y los Mac, que usan procesadores con arquitectura x86, la “inteligencia” de estos sistemas y de los dispositivos móviles dependen de procesadores con arquitectura ARM, capaces de consumir muy poca energía y ofrecer un rendimiento óptimo.

Alrededor de estos procesadores ARM, han ido apareciendo placas de desarrollo compatibles con sistemas operativos como Linux o Android de la mano de organizaciones como Linaro centradas en el trabajo con soluciones de código abierto. Linaro, sin ir más lejos, comenzó su andadura a mediados de 2010. A esta organización se han ido sumando empresas como IBM, Samsung, HiSilicon, LG, Texas Instruments, ARM o MediaTek entre otras.

96boards Callout Front

En 2015, Linaro anunció la iniciativa 96Boards, con el objetivo de crear una especificación abierta de hardware para placas de desarrollo donde tuvieran cabida estándares que facilitaran el trabajo de las comunidades de makers y profesionales del diseño electrónico. Dentro de 96Boards hay varias especificaciones, una de las cuales es la CE (Consumer Edition), enfocada en placas de desarrollo de bajo coste para sistemas embebidos, hogar digital, Internet de las Cosas o movilidad.

MediaTek Helio X20, la placa de desarrollo más potente y estándar

MediaTek se unió a Linaro en 2014. Este fabricante taiwanés de semiconductores ha ido especializándose en la fabricación de SoCs (System on a Chip) hasta conseguir desarrollar procesadores para movilidad y sistemas embebidos de gran potencia y bajo consumo.

El procesador Helio X20, con un diseño tri-cluster y diez núcleos, combina eficiencia energética y potencia, y alrededor del mismo, MediaTek ha puesto a disposición de los desarrolladores, makers y departamentos de I+D la placa de desarrollo Helio X20, compatible con la especificación 96Boards Consumer Edition y con sistema operativo Android 6.0.

Pic1

De este modo, se pone en manos de la comunidad de desarrollo de Android, una herramienta de gran valor para trasladar su conocimiento del ecosistema Android para movilidad a áreas como el IoT, el hogar digital, la robótica o los sistemas embebidos usando una solución de bajo coste pero con una potencia excepcional.

Al ser compatible con 96Boards, se pueden reutilizar elementos de otros desarrolladores y proyectos para añadirlos a los nuestros o para modificarlos de acuerdo con nuestras necesidades, sin renunciar al uso de una plataforma de desarrollo mundialmente aceptada como es Android en su versión 6.0.

La adopción de la versión 6.0 de Android tiene implicaciones notables en campos como la seguridad, al haber integrado mejoras en aspectos como el arranque, con técnicas criptográficas de verificación, o la gestión de permisos en tiempo de ejecución entre otras.

Potencia concentrada

Helio X20 es una placa de desarrollo en la que no falta apenas nada: cuenta con el procesador Helio X20 deca core, procesador gráfico Mali T880, GPS, 2 GB de memoria DDR2, 8 GB de almacenamiento, WiFi y Bluetooth, ranura Micro SD, HDMI, así como puertos de expansión de 40 y 60 pines y otro analógico de 16 pines.

Helio X20

Con el repertorio de habilidades de la placa MediaTek Helio X20, la compatibilidad con una plataforma de hardware abierto como 96Boards y un precio comedido, estamos ante una propuesta todo terreno para desarrollar sobre Android sin las limitaciones de potencia de procesamiento de otras placas de desarrollo, y con la ventaja de la estandarización de 96Boards.

De este modo, Android da otro paso más en la dirección de convertirse en un sistema operativo adoptado de forma generalizada en el hogar digital, el Internet de las Cosas, la robótica o los sistemas embebidos tradicionales, especialmente ahora, cuando se busca que los dispositivos sean capaces de estar permanentemente conectados y permitan manejar y procesar datos en aplicaciones de Big Data o incluso procesamiento de imágenes y voz gracias a su compatibilidad con aplicaciones de computación heterogénea (HSA).

Imagen | Wikipedia

Publicidad
Publicidad
Publicidad

Ver más artículos