Brillo y Weave: Todo sobre plan de Google para dominar el Internet de las Cosas

google-brillo-google-weave

Vamos camino del mundo ultraconectado donde todo ocurra como y cuando lo necesitamos, termostatos que saben a que temperatura configurarse en cada momento como lavadoras que se ponen en marcha cuando el precio de la luz es bajo. Para lograr todo esto muchos de los productos del Internet de las cosas se conectan a nuestro móvil para que éste actúe como centro de control.

En la carrera por el sistema que unirá todos los productos ya hay varias empresas en marcha como Samsung con SmartThings o Google sobre el que vamos a hacer hincapié en este artículo pues su apuesta es fuerte con el sistema operativo Brillo basado en Android y la plataforma de comunicación Weave.

Google Brillo, un sistema operativo para el Internet de las Cosas

google-brillo-logo

Al igual que Raspbian o Windows 10 IoT, Google Brillo, anunciado en el Google I/O de 2015 es un sistema operativo pensado para funcionar en dispositivos del Internet de las cosas como puede ser una simple bombilla, está basado en Android y a su vez es Open-Source por lo que su código fuente está disponible para todos los desarrolladores que quieran echar un vistazo.

A su vez es compatible con arquitecturas ARM de la que disponen la mayoría de smartphones, Intel x86 que es la cual usan los ordenadores y MIPS. Está preparado para funcionar con unos requisitos de hardware mínimos como 64 megabytes de almacenamiento, 32 megabytes de memoria RAM, WiFi 802.11n y Bluetooth 4.0+, haciéndolo perfecto para su labor en pequeños objetos conectados.

El objetivo de Brillo es ofrecer un sistema operativo sencillo con todo lo necesario para que los desarrolladores se centren en lo verdaderamente importante de sus dispositivos, su funcionalidad, ofreciendo en el BSP (Board Support Package) el bootloader, el Linux Kernel y una capa de abstracción que adaptará el SO al Hardware.

google-brilloAl estar basado en Android comparte parte de su funcionamiento pero se deshace de todo lo relacionado con el entorno de Java como el Runtime y utiliza también partes de Chrome OS como algunos de los servicios nativos o el bootloader que permitirá actualizar el sistema sin que al reiniciarlo esté varios minutos instalando la actualización como ocurre en Android. La actualización se instala en una partición aparte y al reiniciar se cambia a la partición actualizada.

google-brillo-core-servicesLos fabricantes que usen Brillo contarán con un amplio Kit de desarrollo (Development kit) con consola de desarrollador y ADB (Android Debug Bridge). Entre los servicios que incluye el sistema se encuentra Weave para comunicarse con la nube y dispositivos móviles, actualizaciones vía OTA, estadísticas de uso y reportes de errores.

google-brillo-securityBrillo también está enfocado en la seguridad la cual asegura con el módulo de seguridad SELinux para el acceso al kernel que ya encontramos en Android, la comprobación de que las imágenes del sistema instaladas vienen firmadas por Google siendo este un requisito para arrancar el sistema y la posibilidad de volver a una versión anterior si una actualización falla.

google-brillo

Es curioso también ver como Brillo está pensado para evitar la fragmentación que tantos dolores de cabeza provoca en Android. Exactamente la solución se trata de separar todo lo relacionado con el producto, séase la parte que incluye el fabricante, de las entrañas de Brillo, así pueden actualizarse ambas partes por separado. En Android en cambio todo se encuentra unido.

brillo-1

Google tiene varios socios para llevar adelante este sistema operativo como Intel, Qualcomm, Marvell, Freescale e Imagination. Los dos primeros disponen de “development boards” sobre las cual se testea que Brillo funcione en buenas condiciones, por así decir, los Nexus de este campo. Éstas son la Intel Edison, Qualcomm Dragonboard 410c y Marvell Andromeda Box Edge.

Google Weave, la comunicación entre objetos del Internet de las Cosas

google-weave-logo

Google Weave es la plataforma/protocolo de comunicación de objetos del Internet de las Cosas entre sí, con dispositivos como smartphones y con la nube.

Se podría decir que es un protocolo común basado tanto en la cercanía (Bluetooth), redes (WiFi) como en la nube permitiendo que diferentes objetos del IoT puedan hacer cosas entre ellos como por ejemplo que la lavadora se active cuando la puerta se cierre o controlar éstos desde tu móvil estando fuera de casa a través de la nube.

google-weave

Weave dispone también de lo necesario para poder configurar tu nuevo dispositivo conectado desde tu móvil detectando automáticamente de éste el objeto e iniciando la configuración. Además, cuando su estado cambia (por ejemplo, si es una bombilla, se enciende), envía este estado a otros aparatos con Weave para poder encadenar acciones. El desarrollador no debe preocuparse por esta y otras cosas pues ya viene todo integrado en Weave.

google-brillo-ui

Imagen del Google I/O 2015 – The Verge

Está basado en JSON y es importante aclarar que no es exclusivo de Google Brillo del cual hemos hablado sino que sus librerías pueden instalarse y utilizarse en cualquier SO, de esta manera otros fabricantes que no apuesten por Brillo para la base de sus objetos conectados si que pueden apostar por Weave como plataforma para comunicarse con otros objetos para dar una mayor compatibilidad.

Google-Weave-security

La seguridad de Weave se basa en dos principales factores. La identificación de usuarios se realiza a través de cuentas de Google, estableciendo así que cuentas pueden acceder al dispositivo. Y por otra parte, todas las conexiones que envía y son enviadas a un dispositivo con Weave se encuentran encriptadas de principio a fin.

weave-1

Un gran ejemplo del uso de Weave nos lo da Nest, conocida por sus termostatos inteligentes y parte de Alphabet, la cual dejó claro que sus dispositivos pueden conectarse entre ellos para una mayor utilidad. Por otra parte ya vimos en el CES 2016 como hay fabricantes como LG, Asus o Marvell que están apostando ya con los primeros objetos con Weave (y Brillo)

Cómo está la cosa más allá de Google

IoT-internet-de-las-cosas

Por lo general todos los sistemas operativos realizan la misma labor aunque Windows 10 IoT Core está pensado para trabajar con las aplicaciones universales de Windows 10 en placas como Raspberry Pi o Arduino por lo que requiere mayores prestaciones de hardware mientras el resto a productos destinados al usuario final que se conecten o bien a un centro de operaciones (Hub) o a tu movil.

Samsung dispone con SmartThings un Hub que une aparatos de otros fabricantes a los suyos propios para que funcionen a la par, al igual que Apple y su HomeKit siendo el Apple TV el Hub y para la reciente Google Brillo existe Weave para tener compatibilidad con otros aparatos que adapten el protocolo aunque seguro que terminamos viendo a algún fabricante creando un Hub.

Google en busca de un trozo del pastel

eddystone-beacons

Google tiene más para el mundo conectado, como los Beacons con el formato abierto Eddystone con el cual puedes recibir en tu aplicación móvil dotada con la API Nearby información sobre objetos cercanos dotados con esta tecnología como podrían ser postes de autobús, parquímetros o hasta macetas y otros aparatos del Internet de las cosas. ¿Te imaginas que salgas al jardín con tu móvil y aparezcan los datos de agua de las plantas?

Con el Internet de las cosas en alza y con Google queriendo estar “en medio de todos los ajos” podríamos ver en este Google I/O de 2016 un mayor foco que en la pasada edición en Brillo y Weave, los cuales están todavía en pruebas y requieren invitación. ¿Te gustaría ver a Google dominando con Brillo y Weave la comunicación de las casas y oficinas del futuro?

Más información (Inglés) | Hello Brillo

La entrada Brillo y Weave: Todo sobre plan de Google para dominar el Internet de las Cosas aparece primero en El Androide Libre.