Book Image

Android Things Quick Start Guide

By : Raul Portales
5 (1)
Book Image

Android Things Quick Start Guide

5 (1)
By: Raul Portales

Overview of this book

Android Things is the IoT platform made by Google, based on Android. It allows us to build smart devices in a simple and convenient way, leveraging on the Android ecosystem tools and libraries, while letting Google take care of security updates. This book takes you through the basics of IoT and smart devices. It will help you to interact with common IoT device components and learn the underlying protocols. For a simple setup, we will be using Rainbow HAT so that we don't need to do any wiring. In the first chapter, you will learn about the Android Things platform, the design concepts behind it, and how it relates to other IoT frameworks. We will look at the Developer Kits and learn how to install Android Things on them by creating a simple project. Later, we will explore the real power of Android Things, learning how to make a UI, designing and communicating with companion apps in different ways, showcasing a few libraries. We will demonstrate libraries and you will see how powerful the Android Things operating system is.
Table of Contents (10 chapters)

Alphanumeric display (Ht16k33)

The most prominent part of the Rainbow HAT is the four-digit, 15-segment alphanumeric display. It takes most of its surface and it is also very handy, since it can be used to display text.

contrib-drivers includes a class named AlphanumericDisplay, which extends from Ht16k33 (the controller chip) and it adds a few string manipulation utilities.

The simplest way to use the display is just five lines of code:

val alphanumericDisplay = RainbowHat.openDisplay()
alphanumericDisplay.setBrightness(Ht16k33.HT16K33_BRIGHTNESS_MAX)
alphanumericDisplay.setEnabled(true)
alphanumericDisplay.display("AHOY")
alphanumericDisplay.close()

As usual, we use the RainbowHat utility method to open the peripheral (in this case, RainbowHat.openDisplay), then we set the brightness (in our example, to the maximum value), and we also set it to enabled. Setting the display...