Arvind Padmanabhan
13-Jan-2018
Flavours of Android
Android
Things
for IoT &
embedded devices
What Google Has to Offer
Android Things certified SoMs
Board Support Package (BSP)
SDK
Android Things Console
Android Framework & Tools
Things Support Library API
Google Services
Architecture
Android vs Android Things
- Flexible access to hardware
- No system apps (such as Contacts, Calendar, Telephony, Settings ...)
- Only one app exposed to user: there can be background apps
- App started automatically
- Full-screen display: no status bar or navigation buttons
- Display is optional
- Peripheral I/O API: GPIO, PWM, I2C, SPI, UART
- User Driver API: extend framework, inject HW events
- Cloud IoT Core: easy integration to Google Cloud
Google Play Services
Google Play Store
Firebase, Fit, Location, Maps ...
API
LoWPAN Support
- Support for Thread protocol
- Needs IEEE 15.4 radio
- Direct device-to-device comms
- IPv6 mesh networking
- APIs
- Scan for and join a network
- Create a new network
- Tools
- OpenThread on nRF52840-PDK
- CLI for dev and debugging: lowpanctl
Supported HW
NXP Pico i.MX7D Block Diagram
System-on-module (SoM)
System-on-chip (SoC)
Hardware Specs
PICO-IMX7-AT $64
PICO-PI-IMX7 $79
Starter kit $169
@ technexion.com
SoC NXP i.MX7D Block Diagram
Does my toaster need quad-core-GHz processing
with 512 MB RAM and multitasking?
Potential Applications
- Where image/video/audio are involved
- Where local processing is needed, possibly with AI/ML
- Home appliances: washing machine, refrigerator, dishwasher ...
- Smart metering
- Point-of-Sale (POS) reader
- Vending machines
- Interactive ads
- Access control, camera monitoring, security systems
- Gateways, routers
- Asset tracking, predictive maintenance
CES 2018, Las Vegas, 9-12 Jan
Lenovo, LG, JBL, Qualcomm, MediaTek, NXP, Rockchip, iHome, Goertek, and Tymphany
- Google Assistant: smart speakers
- Google Cast: smart displays
Demo #1
1. Take picture
2. Store in DB
3. Send image to Vision API
4. Respond with labels
5. Store labels
Source: Doorbell code sample
Resources
- Android Studio command line (CL) tools: adb, apkanalyzer, dumpsys, logcat ...
- android-things-setup-utility: CL tool to flash image
- Android Things Console: manage images and push updates to devices
- pio: access Peripheral I/O via adb shell (dev/debug)
- lowpanctl: access LoWPAN via adb shell (dev/debug)
- Android Things native library: access Peripheral I/O natively in C/C++
- Main site and docs
- Code samples
- Peripheral Driver Library
- Google's IoT Developers Community: on Google+
- hackster.io/google: get inspired by community projects
Introduction to Android Things
By Arvind Padmanabhan
Introduction to Android Things
Features, supported HW, resources ...
- 1,957