SlideShare a Scribd company logo
1 of 36
Download to read offline
Android Things:
Building Embedded Devices – An Introduction
Mubeen Jukaku
Emertxe
4-March „17
EFY Conference
Agenda
 Bit of History
 What is Android Things
 Architecture
 Summary
 Q & A
A bit of History
Embedded Linux
Android
Brillo
Embedded Linux
 A set of ad-hoc methods to package the Linux kernel with a
 (minimal) filesystem.
 FS content “to be determined” case-by-case
 APIs are specific to each device/build
 “Core software”:
• BusyBox
• U-Boot
• GNU Toolchain
 Your flavor of:
• glibc or uClibc or eglibc
• yocto or buildroot or eldk or ltib or ptxdist or ...
 No serious UX framework
Embedded Linux
Architecture
Android
 ... apart from its ubiquitous UX ...
 Fully-integrated IDE: Android Studio
 SDK/NDK
 ADB
 Fastboot
 Published, well-known, and very rich APIs
 A large and growing developer community
 And still we can use “embedded Linux” components:
• GNU toolchain, BusyBox, u-boot, …
 An actual standardized dev. env. across all product
lines
Android Stack
Embedded Android
Project Brillo
Initial Google platform for IoT
Based on Android
Announced at Google I/O 2015
Never officially released
Remained in “developer preview” mode
Needed to sign up for developer preview on
https://developers.google.com/brillo/
Sources available from
android.googlesource.com
“Apps” talk straight to HALs
Brillo Architecture
Android Things - Overview
Why Android Things?
IOT challenges
Complex technologies
Interoperability
Security
Scalability
What is Android Things
What is Android Things…
“Reboot” of Google's Android IoT strategy
Reinstates full Android environment
Developers use existing Android dev tools
C/C++ available through NDK
Extended APIs for IoT
Currently at Developer Preview 2
Features Status
Features Status
Memory Footprint < 500 MB
Public Availability Developers Preview 1- Dec ’16
Developers Preview 2 - Feb ’17
Android SDK, Runtime, APIs Developers Preview 1
TensorFlow (ML library) Supported
Device Usage Metrics Future Release
Security Future Release
OTA Updates Future Release
Weave Future Release
What is Android Things…
Turnkey Hardware Solutions
Device production for all
Certified Integrated Hardware Google BSPs
SoMs integrate the SoC, RAM, Flash
Storage, WiFi, Bluetooth and other
components onto a single board
•The Board Support Package (BSP) is
managed by Google.
•SoM vendors may provide the BSPs.
•OEMs provide HAL for sensors and
actuators as APKs.
Comes with FCC certifications Trusted platform to develop on with
standard updates and fixes from
Google.
You can optimize your board design by flattening existing modules
onto a PCB to save costs and space.
Supported Platforms
Weave
Open Communication Platform
 Devices can connect and interact
with one another, the internet,
and your phone
 Ensures that access to your
device and user data is secure
and private.
 Transports: 802.15.4 (zigbee,
threads), BLE, WiFi, Ethernet,
Others possible
Trust & Security
Long Term Support
Security…
Security Requirements from Google* are
largely the same as Android:
SE-Linux Enforcement
Android Verified Boot, Cryptographic
Chain of trust
Google Android Trusty
HW Keymaster 2.0
No Gatekeeper
Android Things Architecture
Android Things
Architecture
Android Things
Architecture
Java API framework
Google Services
API Level 7.0 ( Nougat )
Graphics optional
Things Support Library
OTAs received directly from Google
Behavior Changes
Standard system apps and content providers
absent
Missing core packages (ContactsContract,
MediaStore, Settings etc.)
Subset of Google Play Services available
No runtime permissions (Install time)
No notifications, no system-wide status bar
Behavior Changes…
Displays are optional
Supports graphical user toolkit
Does not include the system status bar or
navigation buttons.
Even without display, activities are still a
primary component of your app
Behavior Changes…
Home activity support
 Home launcher replaced by
IOT_LAUNCHER
Android Things expects one application to
expose a "home activity“ in manifest file
System launches application on boot
Things support Library
Peripheral IO APIs (PIO)
• Enables Apps to talk to sensors and actuators
• Supports GPIO, I2C, UART, PWM, SPI
User driver API
• Extend existing Android framework services
• Allow apps to inject hardware events into
framework that other apps can use.
Things Support Library…
User Space Drivers
Summary
Android Things is Google‟s IoT OS
Certified (but limited) Hardware SoM
support (current)
Developers use existing Android dev tools
Addresses most of the IoT challenges
Extended APIs for IoT (Things API)
Q & A
THANK YOU
Appendix
References
https://developer.android.com/things
https://developers.google.com/weave/
Contact Details
Mubeen Jukaku
Email: mubeenj@emertxe.com
URL: http://www.emertxe.com
https://www.facebook.com/Emertxe https://twitter.com/EmertxeTweet https://www.slideshare.net/EmertxeSlides

More Related Content

What's hot

Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Opersys inc.
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Opersys inc.
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
Kan-Ru Chen
 

What's hot (20)

Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
Binder: Android IPC
Binder: Android IPCBinder: Android IPC
Binder: Android IPC
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Low Level View of Android System Architecture
Low Level View of Android System ArchitectureLow Level View of Android System Architecture
Low Level View of Android System Architecture
 

Similar to Android Things : Building Embedded Devices

Chapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt plChapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt pl
ENBAKOMZAWUGA
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
Vladimir Kotov
 

Similar to Android Things : Building Embedded Devices (20)

Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android understanding
Android understandingAndroid understanding
Android understanding
 
Introduction to Andriod
Introduction to AndriodIntroduction to Andriod
Introduction to Andriod
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
 
PPT on Android
PPT on AndroidPPT on Android
PPT on Android
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
 
Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In Android
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android overview
Android overviewAndroid overview
Android overview
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
Android
AndroidAndroid
Android
 
Android 1
Android 1 Android 1
Android 1
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
 
Chapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt plChapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt pl
 
Android By Vipin
Android By VipinAndroid By Vipin
Android By Vipin
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
 
Android
Android Android
Android
 
Android 1
Android 1 Android 1
Android 1
 

More from Emertxe Information Technologies Pvt Ltd

More from Emertxe Information Technologies Pvt Ltd (20)

premium post (1).pdf
premium post (1).pdfpremium post (1).pdf
premium post (1).pdf
 
Career Transition (1).pdf
Career Transition (1).pdfCareer Transition (1).pdf
Career Transition (1).pdf
 
10_isxdigit.pdf
10_isxdigit.pdf10_isxdigit.pdf
10_isxdigit.pdf
 
01_student_record.pdf
01_student_record.pdf01_student_record.pdf
01_student_record.pdf
 
02_swap.pdf
02_swap.pdf02_swap.pdf
02_swap.pdf
 
01_sizeof.pdf
01_sizeof.pdf01_sizeof.pdf
01_sizeof.pdf
 
07_product_matrix.pdf
07_product_matrix.pdf07_product_matrix.pdf
07_product_matrix.pdf
 
06_sort_names.pdf
06_sort_names.pdf06_sort_names.pdf
06_sort_names.pdf
 
05_fragments.pdf
05_fragments.pdf05_fragments.pdf
05_fragments.pdf
 
04_magic_square.pdf
04_magic_square.pdf04_magic_square.pdf
04_magic_square.pdf
 
03_endianess.pdf
03_endianess.pdf03_endianess.pdf
03_endianess.pdf
 
02_variance.pdf
02_variance.pdf02_variance.pdf
02_variance.pdf
 
01_memory_manager.pdf
01_memory_manager.pdf01_memory_manager.pdf
01_memory_manager.pdf
 
09_nrps.pdf
09_nrps.pdf09_nrps.pdf
09_nrps.pdf
 
11_pangram.pdf
11_pangram.pdf11_pangram.pdf
11_pangram.pdf
 
10_combinations.pdf
10_combinations.pdf10_combinations.pdf
10_combinations.pdf
 
08_squeeze.pdf
08_squeeze.pdf08_squeeze.pdf
08_squeeze.pdf
 
07_strtok.pdf
07_strtok.pdf07_strtok.pdf
07_strtok.pdf
 
06_reverserec.pdf
06_reverserec.pdf06_reverserec.pdf
06_reverserec.pdf
 
05_reverseiter.pdf
05_reverseiter.pdf05_reverseiter.pdf
05_reverseiter.pdf
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Android Things : Building Embedded Devices

  • 1. Android Things: Building Embedded Devices – An Introduction Mubeen Jukaku Emertxe 4-March „17 EFY Conference
  • 2. Agenda  Bit of History  What is Android Things  Architecture  Summary  Q & A
  • 3. A bit of History Embedded Linux Android Brillo
  • 4. Embedded Linux  A set of ad-hoc methods to package the Linux kernel with a  (minimal) filesystem.  FS content “to be determined” case-by-case  APIs are specific to each device/build  “Core software”: • BusyBox • U-Boot • GNU Toolchain  Your flavor of: • glibc or uClibc or eglibc • yocto or buildroot or eldk or ltib or ptxdist or ...  No serious UX framework
  • 6. Android  ... apart from its ubiquitous UX ...  Fully-integrated IDE: Android Studio  SDK/NDK  ADB  Fastboot  Published, well-known, and very rich APIs  A large and growing developer community  And still we can use “embedded Linux” components: • GNU toolchain, BusyBox, u-boot, …  An actual standardized dev. env. across all product lines
  • 9. Project Brillo Initial Google platform for IoT Based on Android Announced at Google I/O 2015 Never officially released Remained in “developer preview” mode Needed to sign up for developer preview on https://developers.google.com/brillo/ Sources available from android.googlesource.com “Apps” talk straight to HALs
  • 11. Android Things - Overview
  • 12. Why Android Things? IOT challenges Complex technologies Interoperability Security Scalability
  • 13. What is Android Things
  • 14. What is Android Things… “Reboot” of Google's Android IoT strategy Reinstates full Android environment Developers use existing Android dev tools C/C++ available through NDK Extended APIs for IoT Currently at Developer Preview 2
  • 15. Features Status Features Status Memory Footprint < 500 MB Public Availability Developers Preview 1- Dec ’16 Developers Preview 2 - Feb ’17 Android SDK, Runtime, APIs Developers Preview 1 TensorFlow (ML library) Supported Device Usage Metrics Future Release Security Future Release OTA Updates Future Release Weave Future Release
  • 16. What is Android Things…
  • 17. Turnkey Hardware Solutions Device production for all Certified Integrated Hardware Google BSPs SoMs integrate the SoC, RAM, Flash Storage, WiFi, Bluetooth and other components onto a single board •The Board Support Package (BSP) is managed by Google. •SoM vendors may provide the BSPs. •OEMs provide HAL for sensors and actuators as APKs. Comes with FCC certifications Trusted platform to develop on with standard updates and fixes from Google. You can optimize your board design by flattening existing modules onto a PCB to save costs and space.
  • 19. Weave Open Communication Platform  Devices can connect and interact with one another, the internet, and your phone  Ensures that access to your device and user data is secure and private.  Transports: 802.15.4 (zigbee, threads), BLE, WiFi, Ethernet, Others possible
  • 20. Trust & Security Long Term Support
  • 21. Security… Security Requirements from Google* are largely the same as Android: SE-Linux Enforcement Android Verified Boot, Cryptographic Chain of trust Google Android Trusty HW Keymaster 2.0 No Gatekeeper
  • 24. Android Things Architecture Java API framework Google Services API Level 7.0 ( Nougat ) Graphics optional Things Support Library OTAs received directly from Google
  • 25. Behavior Changes Standard system apps and content providers absent Missing core packages (ContactsContract, MediaStore, Settings etc.) Subset of Google Play Services available No runtime permissions (Install time) No notifications, no system-wide status bar
  • 26. Behavior Changes… Displays are optional Supports graphical user toolkit Does not include the system status bar or navigation buttons. Even without display, activities are still a primary component of your app
  • 27. Behavior Changes… Home activity support  Home launcher replaced by IOT_LAUNCHER Android Things expects one application to expose a "home activity“ in manifest file System launches application on boot
  • 28. Things support Library Peripheral IO APIs (PIO) • Enables Apps to talk to sensors and actuators • Supports GPIO, I2C, UART, PWM, SPI User driver API • Extend existing Android framework services • Allow apps to inject hardware events into framework that other apps can use.
  • 31. Summary Android Things is Google‟s IoT OS Certified (but limited) Hardware SoM support (current) Developers use existing Android dev tools Addresses most of the IoT challenges Extended APIs for IoT (Things API)
  • 32. Q & A
  • 36. Contact Details Mubeen Jukaku Email: mubeenj@emertxe.com URL: http://www.emertxe.com https://www.facebook.com/Emertxe https://twitter.com/EmertxeTweet https://www.slideshare.net/EmertxeSlides