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

Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
"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)Nanik Tolaram
 
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 HALOpersys inc.
 
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.
 
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 imagesChris Simmonds
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debuggingUtkarsh Mankad
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for LinuxYu-Hsin Hung
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh KhetanRajesh Khetan
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time OptimizationKan-Ru Chen
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introductionWilliam Liang
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)Siji Sunny
 

What's hot (20)

Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
"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)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
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
 
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
 
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...
 
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
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 

Similar to Android Things : Building Embedded Devices

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
 
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
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 

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

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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