SlideShare a Scribd company logo
Is it an app?
Is it a thing?
Kenneth Geisshirt
geisshirt@gmail.com
DroidDev CPH - April 2017
What to cover?
• What is IoT?
• How will Google get into it?
• Android Things - what’s included in Preview 3?
• Demo
About me
• Education
• B.Sc., computer science
• M.Sc. in chemistry
• Ph.D. in soft material science
• Studied at Univ. of Copenhagen, Prague Institute of Chemical Technology, Roskilde
University, Univ. of Colorado at Boulder
• Work
• bioinformatics, web development, credit card payments, 4GL modernisation, medical
imaging
• Currently member of Realm’s Android team
• Fun facts
• took guitar lessons as teenager: didn’t become a rock star
• bought a Commodore 64 as teenager: became a programmer
Internet of Things
(IoT)
• Home appliances are connected to the
Internet
• washing machine, refrigerator,
thermostat, weather station
• Embedded devices
• low energy consumption
• Transferring data is the corner-stone
• IoT is a distributed computing problem
Client A Client B
Gateway
Server
IoT frameworks
• MQTT (messaging protocol)
• runs on top of TCP/IP
• many client libraries
• openHAB (gateway)
• develop in Java
• Wind River Linux/Yocto project (operating system)
• primarily C/C++
• PlatformIO (IDE)
• mBED (ARM) and Arduino
IoT hardware
• Arduino
• development using a subset of C++
• many models, many add-ons (shields)
• Raspberry Pi
• fully fledged Linux
• Intel NUC
• Wind River Linux
• Microchip’s PIC
• development in C
• ESP32 (has WiFi)
• development in Arduino IDE
Why Google’s interest?
• Because of the hype? And Google is nerdy?
• Home appliances generate data
• Data can be analysed (hey TensorFlow)
• Google can help users to make decisions
• OR is it just an advertising network?
Privacy and security
• Who owns data from IoT devices?
• Merging data from different sources
• your refrigerator will not order bacon before your scale says your BMI < 25?
• your wine bottle opener orders a taxi as it has been used to many times this
evening?
• Monthly (weekly?) reports about security vulnerabilities
• sending data unencrypted (meter report 0 water consumption = family on vacation)
• Real example 1: Remotely control We-Vibe product
• https://www.theguardian.com/technology/2016/aug/10/vibrator-phone-app-we-
vibe-4-plus-bluetooth-hack
• Real example 2: Nest thermostats leak location
• http://gizmodo.com/nest-thermostats-leaked-user-data-but-dont-freak-out-
qu-1754123565
Android Things
• Current version: preview 3
• Based on Android 7.0
• Using known tools and technologies
• Android Studio, Java, Gradle, …
• Adds specialised APIs for IoT devices
• Buy a developer kit for get started
Not quite Android (API)
• Display is not required
• no status bar, no navigation
• Many Google services are supported
• Firebase, Location, Maps, Search, Sign-in, …
• Additional I/O
• General Purpose I/O (GPIO): binary value (motion detection, …)
• Pulse Width Modulation (PWM): motors, lights, …
• Serial communication (I2C, SPI, UART)
My device
• Raspberry Pi 3
• 8 GB SD card
• TTL/USB serial cable
• Rainbow HAT
• multicolour LEDs,
alphanumeric display,
temperature/pressure sensor
Setting up the device
• Connect RPi with wired Ethernet
• Connect TTL/USB cable (optional)
• black (GND), green (RX), white (TX)
• minicom is still great 🤓
• Download image and unzip
• Transfer to SD card:
sudo dd if=iot_rpi3.img of=/dev/sdb bs=4M
• Boot and find IP address (it is broadcasting hostname Android.local)
• Connect ADB over TCP
adb connect 192.168.1.178
Create an app
• You can’t create an app from Android Studio yet
• Download a project template
• https://github.com/androidthings/new-project-template
• Unzip and rename
• Rename packages
• Open in Android Studio
• RUN!!!!
Random links
• My demo app: https://drive.google.com/open?
id=0B6d4MYyxNNY5S1FMcWpRX1N6VTA
• Official site: https://developer.android.com/things/index.html
• Android Things community: https://plus.google.com/
communities/107507328426910012281
• Samples: https://github.com/androidthings
• How to use Arduino libraries with Android Things: https://
www.androidthings.rocks/2017/03/28/how-to-use-android-
libraries-with-android-things

More Related Content

Similar to Android things

EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
Chris Swan
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
Jim McKeeth
 
Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011
Brian LeRoux
 
[Webinar] Building a Product Security Incident Response Team: Learnings from ...
[Webinar] Building a Product Security Incident Response Team: Learnings from ...[Webinar] Building a Product Security Incident Response Team: Learnings from ...
[Webinar] Building a Product Security Incident Response Team: Learnings from ...
bugcrowd
 
Building a developer community around hardware + software
Building a developer community around hardware + softwareBuilding a developer community around hardware + software
Building a developer community around hardware + software
Amanda Whaley
 
Internet of Things - AMECSE
Internet of Things - AMECSEInternet of Things - AMECSE
Internet of Things - AMECSE
Ahmed Sayed
 
How to Leverage Mobile For Your Organization
How to Leverage Mobile For Your OrganizationHow to Leverage Mobile For Your Organization
How to Leverage Mobile For Your Organization
Mindgrub Technologies
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
Sarwan Singh
 
GDPR- The Buck Stops Here
GDPR-  The Buck Stops HereGDPR-  The Buck Stops Here
GDPR- The Buck Stops Here
Kellyn Pot'Vin-Gorman
 
Innovative Technologies and Tech Trends
Innovative Technologies and Tech TrendsInnovative Technologies and Tech Trends
Innovative Technologies and Tech Trends
Brian Pichman
 
Lumension Security - Adjusting our defenses for 2012
Lumension Security - Adjusting our defenses for 2012Lumension Security - Adjusting our defenses for 2012
Lumension Security - Adjusting our defenses for 2012
Andris Soroka
 
Creating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of ThingsCreating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of Things
CPqD
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
Sammy Fung
 
IoT-Week1-Day1-Lecture.pptx
IoT-Week1-Day1-Lecture.pptxIoT-Week1-Day1-Lecture.pptx
IoT-Week1-Day1-Lecture.pptx
afsheenfaiq2
 
Eyes of things
Eyes of thingsEyes of things
Eyes of things
Eyes of Things
 
Challenges EPs Face Going Mobile
Challenges EPs Face Going MobileChallenges EPs Face Going Mobile
Challenges EPs Face Going Mobile
EDR
 
Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)
Peter Wood
 
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing AppsInsights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
David Vogelpohl
 
The Dawn of a new era: Internet of Things
The Dawn of a new era: Internet of ThingsThe Dawn of a new era: Internet of Things
The Dawn of a new era: Internet of Things
Rustomjee Business School
 
33977_IoT_in_HighTech_11_03_14
33977_IoT_in_HighTech_11_03_1433977_IoT_in_HighTech_11_03_14
33977_IoT_in_HighTech_11_03_14
Alex Blanter
 

Similar to Android things (20)

EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
 
Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011
 
[Webinar] Building a Product Security Incident Response Team: Learnings from ...
[Webinar] Building a Product Security Incident Response Team: Learnings from ...[Webinar] Building a Product Security Incident Response Team: Learnings from ...
[Webinar] Building a Product Security Incident Response Team: Learnings from ...
 
Building a developer community around hardware + software
Building a developer community around hardware + softwareBuilding a developer community around hardware + software
Building a developer community around hardware + software
 
Internet of Things - AMECSE
Internet of Things - AMECSEInternet of Things - AMECSE
Internet of Things - AMECSE
 
How to Leverage Mobile For Your Organization
How to Leverage Mobile For Your OrganizationHow to Leverage Mobile For Your Organization
How to Leverage Mobile For Your Organization
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
GDPR- The Buck Stops Here
GDPR-  The Buck Stops HereGDPR-  The Buck Stops Here
GDPR- The Buck Stops Here
 
Innovative Technologies and Tech Trends
Innovative Technologies and Tech TrendsInnovative Technologies and Tech Trends
Innovative Technologies and Tech Trends
 
Lumension Security - Adjusting our defenses for 2012
Lumension Security - Adjusting our defenses for 2012Lumension Security - Adjusting our defenses for 2012
Lumension Security - Adjusting our defenses for 2012
 
Creating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of ThingsCreating Business Value By Enabling the Internet of Things
Creating Business Value By Enabling the Internet of Things
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 
IoT-Week1-Day1-Lecture.pptx
IoT-Week1-Day1-Lecture.pptxIoT-Week1-Day1-Lecture.pptx
IoT-Week1-Day1-Lecture.pptx
 
Eyes of things
Eyes of thingsEyes of things
Eyes of things
 
Challenges EPs Face Going Mobile
Challenges EPs Face Going MobileChallenges EPs Face Going Mobile
Challenges EPs Face Going Mobile
 
Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)
 
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing AppsInsights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
Insights from Glass Entrepreneur: Developing, Hacking, and Monetizing Apps
 
The Dawn of a new era: Internet of Things
The Dawn of a new era: Internet of ThingsThe Dawn of a new era: Internet of Things
The Dawn of a new era: Internet of Things
 
33977_IoT_in_HighTech_11_03_14
33977_IoT_in_HighTech_11_03_1433977_IoT_in_HighTech_11_03_14
33977_IoT_in_HighTech_11_03_14
 

More from Kenneth Geisshirt

Building parsers in JavaScript
Building parsers in JavaScriptBuilding parsers in JavaScript
Building parsers in JavaScript
Kenneth Geisshirt
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
Kenneth Geisshirt
 
Building mobile apps with Realm for React Native
Building mobile apps with Realm for React NativeBuilding mobile apps with Realm for React Native
Building mobile apps with Realm for React Native
Kenneth Geisshirt
 
micro:bit and JavaScript
micro:bit and JavaScriptmicro:bit and JavaScript
micro:bit and JavaScript
Kenneth Geisshirt
 
Tales from the dark side: developing SDKs at scale
Tales from the dark side: developing SDKs at scaleTales from the dark side: developing SDKs at scale
Tales from the dark side: developing SDKs at scale
Kenneth Geisshirt
 
Node.js extensions in C++
Node.js extensions in C++Node.js extensions in C++
Node.js extensions in C++
Kenneth Geisshirt
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
 
Tips and tricks for building high performance android apps using native code
Tips and tricks for building high performance android apps using native codeTips and tricks for building high performance android apps using native code
Tips and tricks for building high performance android apps using native code
Kenneth Geisshirt
 
Is the database a solved problem?
Is the database a solved problem?Is the database a solved problem?
Is the database a solved problem?
Kenneth Geisshirt
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
 
Extending Node.js using C++
Extending Node.js using C++Extending Node.js using C++
Extending Node.js using C++
Kenneth Geisshirt
 
Building High Performance Android Applications in Java and C++
Building High Performance Android Applications in Java and C++Building High Performance Android Applications in Java and C++
Building High Performance Android Applications in Java and C++
Kenneth Geisshirt
 
Sociale netværk
Sociale netværkSociale netværk
Sociale netværk
Kenneth Geisshirt
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
 
Naturvidenskabsfestival 2012
Naturvidenskabsfestival 2012Naturvidenskabsfestival 2012
Naturvidenskabsfestival 2012Kenneth Geisshirt
 
Hadoop - the data scientist's toolbox
Hadoop - the data scientist's toolboxHadoop - the data scientist's toolbox
Hadoop - the data scientist's toolbox
Kenneth Geisshirt
 
JavaScript/Emacs integration
JavaScript/Emacs integrationJavaScript/Emacs integration
JavaScript/Emacs integrationKenneth Geisshirt
 
Introduction to JavaScript for Modern Software Development
Introduction to JavaScript for Modern Software DevelopmentIntroduction to JavaScript for Modern Software Development
Introduction to JavaScript for Modern Software Development
Kenneth Geisshirt
 
Kendthed og vigtighed
Kendthed og vigtighedKendthed og vigtighed
Kendthed og vigtighed
Kenneth Geisshirt
 

More from Kenneth Geisshirt (19)

Building parsers in JavaScript
Building parsers in JavaScriptBuilding parsers in JavaScript
Building parsers in JavaScript
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
 
Building mobile apps with Realm for React Native
Building mobile apps with Realm for React NativeBuilding mobile apps with Realm for React Native
Building mobile apps with Realm for React Native
 
micro:bit and JavaScript
micro:bit and JavaScriptmicro:bit and JavaScript
micro:bit and JavaScript
 
Tales from the dark side: developing SDKs at scale
Tales from the dark side: developing SDKs at scaleTales from the dark side: developing SDKs at scale
Tales from the dark side: developing SDKs at scale
 
Node.js extensions in C++
Node.js extensions in C++Node.js extensions in C++
Node.js extensions in C++
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Tips and tricks for building high performance android apps using native code
Tips and tricks for building high performance android apps using native codeTips and tricks for building high performance android apps using native code
Tips and tricks for building high performance android apps using native code
 
Is the database a solved problem?
Is the database a solved problem?Is the database a solved problem?
Is the database a solved problem?
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Extending Node.js using C++
Extending Node.js using C++Extending Node.js using C++
Extending Node.js using C++
 
Building High Performance Android Applications in Java and C++
Building High Performance Android Applications in Java and C++Building High Performance Android Applications in Java and C++
Building High Performance Android Applications in Java and C++
 
Sociale netværk
Sociale netværkSociale netværk
Sociale netværk
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Naturvidenskabsfestival 2012
Naturvidenskabsfestival 2012Naturvidenskabsfestival 2012
Naturvidenskabsfestival 2012
 
Hadoop - the data scientist's toolbox
Hadoop - the data scientist's toolboxHadoop - the data scientist's toolbox
Hadoop - the data scientist's toolbox
 
JavaScript/Emacs integration
JavaScript/Emacs integrationJavaScript/Emacs integration
JavaScript/Emacs integration
 
Introduction to JavaScript for Modern Software Development
Introduction to JavaScript for Modern Software DevelopmentIntroduction to JavaScript for Modern Software Development
Introduction to JavaScript for Modern Software Development
 
Kendthed og vigtighed
Kendthed og vigtighedKendthed og vigtighed
Kendthed og vigtighed
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 

Android things

  • 1. Is it an app? Is it a thing? Kenneth Geisshirt geisshirt@gmail.com DroidDev CPH - April 2017
  • 2. What to cover? • What is IoT? • How will Google get into it? • Android Things - what’s included in Preview 3? • Demo
  • 3. About me • Education • B.Sc., computer science • M.Sc. in chemistry • Ph.D. in soft material science • Studied at Univ. of Copenhagen, Prague Institute of Chemical Technology, Roskilde University, Univ. of Colorado at Boulder • Work • bioinformatics, web development, credit card payments, 4GL modernisation, medical imaging • Currently member of Realm’s Android team • Fun facts • took guitar lessons as teenager: didn’t become a rock star • bought a Commodore 64 as teenager: became a programmer
  • 4. Internet of Things (IoT) • Home appliances are connected to the Internet • washing machine, refrigerator, thermostat, weather station • Embedded devices • low energy consumption • Transferring data is the corner-stone • IoT is a distributed computing problem Client A Client B Gateway Server
  • 5. IoT frameworks • MQTT (messaging protocol) • runs on top of TCP/IP • many client libraries • openHAB (gateway) • develop in Java • Wind River Linux/Yocto project (operating system) • primarily C/C++ • PlatformIO (IDE) • mBED (ARM) and Arduino
  • 6. IoT hardware • Arduino • development using a subset of C++ • many models, many add-ons (shields) • Raspberry Pi • fully fledged Linux • Intel NUC • Wind River Linux • Microchip’s PIC • development in C • ESP32 (has WiFi) • development in Arduino IDE
  • 7. Why Google’s interest? • Because of the hype? And Google is nerdy? • Home appliances generate data • Data can be analysed (hey TensorFlow) • Google can help users to make decisions • OR is it just an advertising network?
  • 8. Privacy and security • Who owns data from IoT devices? • Merging data from different sources • your refrigerator will not order bacon before your scale says your BMI < 25? • your wine bottle opener orders a taxi as it has been used to many times this evening? • Monthly (weekly?) reports about security vulnerabilities • sending data unencrypted (meter report 0 water consumption = family on vacation) • Real example 1: Remotely control We-Vibe product • https://www.theguardian.com/technology/2016/aug/10/vibrator-phone-app-we- vibe-4-plus-bluetooth-hack • Real example 2: Nest thermostats leak location • http://gizmodo.com/nest-thermostats-leaked-user-data-but-dont-freak-out- qu-1754123565
  • 9. Android Things • Current version: preview 3 • Based on Android 7.0 • Using known tools and technologies • Android Studio, Java, Gradle, … • Adds specialised APIs for IoT devices • Buy a developer kit for get started
  • 10. Not quite Android (API) • Display is not required • no status bar, no navigation • Many Google services are supported • Firebase, Location, Maps, Search, Sign-in, … • Additional I/O • General Purpose I/O (GPIO): binary value (motion detection, …) • Pulse Width Modulation (PWM): motors, lights, … • Serial communication (I2C, SPI, UART)
  • 11. My device • Raspberry Pi 3 • 8 GB SD card • TTL/USB serial cable • Rainbow HAT • multicolour LEDs, alphanumeric display, temperature/pressure sensor
  • 12. Setting up the device • Connect RPi with wired Ethernet • Connect TTL/USB cable (optional) • black (GND), green (RX), white (TX) • minicom is still great 🤓 • Download image and unzip • Transfer to SD card: sudo dd if=iot_rpi3.img of=/dev/sdb bs=4M • Boot and find IP address (it is broadcasting hostname Android.local) • Connect ADB over TCP adb connect 192.168.1.178
  • 13. Create an app • You can’t create an app from Android Studio yet • Download a project template • https://github.com/androidthings/new-project-template • Unzip and rename • Rename packages • Open in Android Studio • RUN!!!!
  • 14. Random links • My demo app: https://drive.google.com/open? id=0B6d4MYyxNNY5S1FMcWpRX1N6VTA • Official site: https://developer.android.com/things/index.html • Android Things community: https://plus.google.com/ communities/107507328426910012281 • Samples: https://github.com/androidthings • How to use Arduino libraries with Android Things: https:// www.androidthings.rocks/2017/03/28/how-to-use-android- libraries-with-android-things