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)

Making the code work on any developer kit

As we mentioned before, the pin names of the Raspberry Pi and the iMX7D are different. You can take a look at the pinout diagrams in the Appendix, and I suggest that you print them out to have them at hand.

Have the pinout diagram of your developer kit at hand.

When we flipped the Rainbow HAT, we could see that the red LED was wired to BCM6, which is pin 31 of the board. While the pin position is the same, that pin on the iMX7D is called GPIO2_IO02.

However, if we look at the source code of the Rainbow HAT driver, which is in Java, we see that it is accessed using a function.

public static Gpio openLedRed() throws IOException {
return openLed(BOARD.getLedR());
}

This is a concept that is used frequently on examples when you want them to work on both devices. At the very minimum you should use a constant for the pin, so if someone has to...