♫ These are a few of my favourite (Android) Things ♫

♫ These are a few of my favourite (Android) Things ♫

Android Things lets you build professional, mass-market products on a trusted platform without previous knowledge of embedded systems. It is estimated that by 2020 there will be 50 billion connected things.

But what does it take to get started with Android Things and be able to say you’re truly working with the Internet of Things? How can you learn this platform and get ahead of the IoT revolution using your existing Android skills?

In this session, we will explore what Android Things is and how you can get started building IoT applications with your existing Android knowledge.

We will then build a real-life Android Things application using a Raspberry Pi 3 and Android Studio, the IDE you already use and love.

755c8de62a6b84adb347797f374670c9?s=128

Marcos Placona

October 27, 2017
Tweet

Transcript

  1. 1.
  2. 4.

    Cameras Gateways Smart Meters Point of Sale Inventory Control Interactive

    Ads Vending Machines HVAC Control Security Systems Smart Doorbells Routers Energy monitors Asset Tracking Fleet Management Driver Assist Predictive Service Ideal for powerful, intelligent devices on the edge that need to be secure.
  3. 7.

    Where does it run? • Intel® Atom™ • 500MHz dual-core

    x86 • 1GB RAM • ~ €55 Intel® Edison • Intel® Atom™ • 1.5GHz/1.7GHz quad- core x86 • 3GB/4GB RAM • ~ €200 Intel® Joule • NXP i.MX6Ultralite • 500MHz ARM Cortex A7 • 512MB RAM • ~ €35 NXP Pico i.MX6UL • Broadcom BCM2837 • 1.2GHz quad-core ARM Cortex A53 • 1GB RAM • ~ €35 Raspberry Pi 3
  4. 8.

    Where does did it run? • Intel® Atom™ • 500MHz

    dual-core x86 • 1GB RAM • ~ €55 Intel® Edison • Intel® Atom™ • 1.5GHz/1.7GHz quad- core x86 • 3GB/4GB RAM • ~ €200 Intel® Joule • NXP i.MX6Ultralite • 500MHz ARM Cortex A7 • 512MB RAM • ~ €35 NXP Pico i.MX6UL • Broadcom BCM2837 • 1.2GHz quad-core ARM Cortex A53 • 1GB RAM • ~ €35 Raspberry Pi 3
  5. 10.

    Where does it run now? • NXP i.MX6Ultralite • 500MHz

    ARM Cortex A7 • 512MB RAM • ~ €65 PICO-PI-IMX6UL • Broadcom BCM2837 • 1.2GHz quad-core ARM Cortex A53 • 1GB RAM • ~ €35 Raspberry Pi 3 • NXP i.MX6Ultralite • 500MHz ARM Cortex A7 • 512MB RAM • ~ €35 NXP Pico i.MX6UL • NXP I.MX7 • 1 Ghz ARM Cortex A7 • 512MB RAM • ~ €55 NXP PICO-IMX7D
  6. 17.
  7. 18.
  8. 22.

    Components Construction base for prototyping. Easy to fix mistakes Breadboard

    Used to connect our Raspberry Pi to our components on the breadboard Jumper Wires Help us with reducing the flow of current through our circuits Resistors Make things bright and shiny when current passes through it. LEDs
  9. 24.
  10. 25.

    Code package rocks.androidthings.iotdroidcon import android.app.* import android.os.* import android.util.* import

    com.google.android.things.pio.* import com.google.android.things.contrib.driver.button.* class MainActivity : Activity(), AutoCloseable { private val TAG = "MainActivity" lateinit var button: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val service = PeripheralManagerService() button = Button("BCM6", Button.LogicState.PRESSED_WHEN_LOW) button.setOnButtonEventListener { _, _ -> Log.d(TAG, "GPIO:${service.gpioList}") } } override fun close() { button.close() } } @marcos_placona
  11. 26.

    Code package rocks.androidthings.iotdroidcon import android.app.* import android.os.* import android.util.* import

    com.google.android.things.pio.* import com.google.android.things.contrib.driver.button.* class MainActivity : Activity(), AutoCloseable { private val TAG = "MainActivity" lateinit var button: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val service = PeripheralManagerService() button = Button("BCM6", Button.LogicState.PRESSED_WHEN_LOW) button.setOnButtonEventListener { _, _ -> Log.d(TAG, "GPIO:${service.gpioList}") } } override fun close() { button.close() } } @marcos_placona