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)

PWM - Buzzers, Servos, and Analog Output

Pulse Width Modulation (PWM) is a one-wire, one-way communication protocol. Both Android Things developer kits have two PWM outputs -this is one case where Arduino has the upper hand- but we will see how to overcome that limitation in the next chapter. The Rainbow HAT uses one of them for the piezo buzzer and exposes the other via the pins on the HAT. We will take advantage of this setup by using some of the hardware of the Rainbow HAT for our examples.

Arduino has a lot more PWM outputs than Android Things. We'll see how to work around that in the next chapter.

And as usual, since we will be using peripherals, we need to make sure that the USE_PERIPHERAL_IO permission is being declared in our manifest:

<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO"/>

We will start by learning...