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)

Small displays

Another typical component for IoT projects are simple displays. We have already used two different LED segment-based displays, but there are other models that offer more functionality and versatility while still being cheap, such as LCD displays and OLED screens.

Both the LCD screen and the OLED screen drivers work by giving us access to the pixels on the screen, including some utility methods to draw text or even bitmaps depending on the case. The main difference is that on the LCD screen, the pixels are grouped into separated characters (5 by 8 pixels each), arranged in rows and columns (typically, two rows of 16 characters), while the OLED is a continuous screen, typically monochrome.

To use an LCD screen, we need to add the following driver by Gautier Mechling:

dependencies {
[...]
implementation 'com.nilhcem.androidthings:driver-lcd-pcf8574:+&apos...