Book Image

Android Things Projects

By : Francesco Azzola
Book Image

Android Things Projects

By: Francesco Azzola

Overview of this book

Android Things makes developing connected embedded devices easy by providing the same Android development tools, best-in-class Android framework, and Google APIs that make developers successful on mobile. With this book, you will be able to take advantage of the new Android framework APIs to securely build projects using low-level components such as sensors, resistors, capacitors, and display controllers. This book will teach you all you need to know about working with Android Things through practical projects based on home automation, robotics, IoT, and so on. We’ll teach you to make the most of the Android Things and build enticing projects such as a smart greenhouse that controls the climate and environment automatically. You’ll also create an alarm system, integrate Android Things with IoT cloud platforms, and more. By the end of this book, you will know everything about Android Things, and you’ll have built some very cool projects using the latest technology that is driving the adoption of IoT. You will also have primed your mindset so that you can use your knowledge for profitable, practical projects.
Table of Contents (15 chapters)
Title Page
Credits
About the Author
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Putting it all together - acquiring data


It is time to put everything together and start acquiring data. By now, we have implemented:

  • Two sensor listeners to listen to the new values
  • The listener to know when the sensor is connected to the board

Let us glue all the pieces and make our app work. Open MainActivity.java again and in the onCreate method add the following lines:

callback = new BMX280Callback(); sensorManager.registerDynamicSensorCallback(callback); try {
  mySensorDriver =
  new Bmx280SensorDriver(BoardPins.getSDAPin());
  mySensorDriver.registerTemperatureSensor();
  mySensorDriver.registerPressureSensor();
}
catch(Throwable t) { t.printStackTrace();
}

Where mySensorDriver is an instance of Bmx280SensorDriver that handles the communication details to the BMP280/BME280. Notice that as we described in the previous chapter, to make the app independent from the board we did not directly use the SDA pin identification, but we have used a method to retrieve the pin name according to the...