Brillo supports the Java language

We introduce Brillo and Weave

Although announced at the 2015 Google I / O Conference, Brillo and Weave are two new technologies from Google that remain a mystery to the general developer community. Fortunately, Google took a closer look at these two technologies during the Ubiquity conference in January 2016. In this article, I want to give you an overview of Brillo and Weave so that you can become familiar with the latest Google Internet of Things projects.

What are Brillo and Weave?

Before we can dive into Brillo and Weave, you probably have a very important question, "What exactly are Brillo and Weave?"

Brillo is a new operating system from Google that can run on Internet of Things (IoT) devices and embedded systems. Brillo is based on the Android software stack, but it's important to know that Brillo is not Android. Essentially, Google took advantage of the lower components of the Android operating system as well as some parts of Chrome OS to create a new, lightweight operating system for IoT devices.

Weave is a new device-to-device communication protocol. Weave is activated by default in the Brillo operating system and is available as a library for other microcontrollers or platforms (Android, iOS, web). In the context of IoT devices, Weave is used to send commands, update devices, and perform the initial setup of new devices.

Getting started with Brillo

Although Brillo is based on the Android software stack, it is not Android. In order to keep the operating system as small as possible, there are no core applications or application frameworks (such as Java support). Runtime and native services that are only available on Android to support applications have also been removed.

Brillo offers a number of core services that developers can use to improve their devices, including built-in Weave support, metrics, crash reports, and wireless updates. Brillo also offers several features around security as this is one of the most important considerations when designing and building for the Internet of Things.

You may be wondering how to get started with Brillo. Currently, Brillo is buildable from the Android Open Source Project (AOSP), or you can request an invite for the currently closed beta to view the documentation and download the pre-built Brillo Development Kit (BDK).

Once you've installed the BDK, you can start developing from a computer running Ubuntu 14.04 or later. Since Brillo does not support the JVM, all development is done in the C and C ++ languages.

You will also need hardware that Brillo supports. The two prototyping boards mentioned and used at the Ubiquity conference are the Dragon Board 410 and the Intel Edison Board.

After you've created an image for your device, you can use Fastboot and the adb tools to transfer it to the hardware. For details, see the official Brillo documentation available on the Brillo Beta website.

Get started with Weave

The other addition to Google's IoT offerings is the Weave protocol. As mentioned earlier, although Brillo supports Weave, Weave is not exclusive to the Brillo operating system. Although Weave can perform many different tasks, the protocol is widely used for communication between devices.

With Weave you can discover new devices and set them up on a network, assign them to a Google account for authentication or simply send commands to control a device.

Although Weave is enabled by default in Brillo, developers want to use it in other applications. To support this, Google has already developed Weave libraries for iOS, Android, Java and Python so that your web or mobile apps can easily communicate between devices. You can request access to these libraries and related documentation through Google's Weave beta program.

Conclusion

With the Internet of Things still in its infancy, the Brillo Operating System and the Weave Protocol are two welcome tools that will make development for the connected world faster and easier. While both are still new and in development, what is available seems promising and will improve over time. With the projected growth of the IoT industry, it's a good time to add these two cutting-edge technologies to your repertoire.