SlideShare ist ein Scribd-Unternehmen logo
Niemals nach Mitternacht füttern! 
Grüne Roboter überall! 
Christian Meder 
Dominik Helleberg
Speaker 
Dominik Helleberg 
Mobile Development 
Android / Embedded 
Tools 
http://dominik-helleberg.de/+
Speaker 
Christian Meder 
Free Software / OpenSource 
Linux 
Web 
Java 
Android 
Christian Meder
Android Embedded (2013) 
Android: Nummer eins der mobilen Betriebssysteme 
1.5 Millionen Aktivierungen täglich (Larry Page, 17.10.2013) 
1 Milliarde aktivierte Geräte (Sundar Pichai, 03.09.2013)
Android Embedded (2014) 
Android: Nummer eins der mobilen Betriebssysteme 
1 billion active Android users per month (Pichai, 06/2014) 
Google Devices http://developer.android.com/design/devices.html 
Android Auto http://developer.android.com/design/auto/index.html
Android Embedded 
Android: Nummer eins der mobilen Betriebssysteme (Smartphones)
Android Embedded 
Android ist modern und “anders” 
https://twitter.com/Arubin/status/27808662429
Android Embedded 
Tablets 
Amazon http://www.amazon.de/Kindle-Fire-Zoll-HDX-Display-WLAN/dp/B00D695H6O
Android Embedded 
Kameras 
Nikon http://www.nikon.de/de_DE/product/digital-cameras/coolpix/style/coolpix-s800c 
Samsung http://www.samsung.com/de/promotions/galaxycamera/
Android Embedded 
Glasses 
Google Glass http://www.google.com/glass/start/ 
Recon Instruments Snow2 http://www.reconinstruments.com/products/snow2/
Android Embedded 
Smartwatches / Wear 
Samsung Gear Live https://play.google.com/store/devices/details?id=samsung_gear_live_black 
Neptune Pine http://www.neptunepine.com/ 
LG-G Watch https://play.google.com/store/devices/details?id=lg_g_watch_black
Android Embedded 
Mobility 
Android Auto http://www.android.com/auto/ 
Renault R-Link http://www.renault.de/renault-modellpalette/multimedia/r-link-wall/ 
Boing 787 http://www.boeing.com/boeing/commercial/787family/
Android Embedded 
Home 
LG Kühlschrank http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigerator 
Ouya http://ouya.tv 
AndroidTV http://developer.android.com/tv/index.html 
Amazon Fire TV http://www.amazon.com/Fire-TV-streaming-media-player/dp/B00CX5P8FC
Android Embedded 
Industry 
ADLink IMX-2000 http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1229 
Honeywell http://goo.gl/hyJXWf 
Casio EPOS http://goo.gl/k9L3V6 
Motorola MC3200 http://goo.gl/5dOVL7
Android Embedded 
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Android Embedded 
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Android Embedded 
Gedankenexperiment: Google Device 
Walkman in grass (CC BY 2.0) https://www.flickr.com/photos/shoutsfromtheabyss/4605407018/
Android Embedded 
Device für Google Suche, Maps, YouTube 
● mobil 
● handlich 
● vernetzt 
● sicher 
● batterieoptimiert
Android Embedded 
Device für Google Suche, Maps, YouTube 
● UI vs physikalische HW (flexible UI) 
● Touch UI 
● einfach updatebar 
● Trennung von Plattform und App 
● Plattform freigeben wg HW Herstellung
Embedded Touch-UI 
Die “Konkurrenz” 
http://www.broadbandtvnews.com/2012/04/03/curzon-cinemas-launch-smart-tv-on-demand/
Embedded Touch-UI 
Die “Konkurrenz”
Embedded Touch-UI 
Die “Konkurrenz”
Embedded Touch-UI 
Die “Konkurrenz”
Embedded Touch-UI 
Die “Konkurrenz”
Embedded Touch-UI 
Die “Konkurrenz” 
http://commons.wikimedia.org/wiki/File:Helvar_Touchscreen_924.jpg
Embedded Touch-UI 
Die “Konkurrenz”
Embedded Touch-UI 
Die “Konkurrenz”
Android Embedded 
Vorteile 
User Interface
Android Embedded 
Vorteile 
Powered by Google 
http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/
Android Embedded 
Vorteile 
http://goo.gl/B5vz8V 
Powered by Google / Android L
Android Embedded 
Vorteile 
Powered by Google / Android L 
http://www.curious-creature.org/
Android Embedded 
Vorteile 
Hardware Acceleration “builtin” 
Canvas API 
Views 
Application 
libHWUI SKIA 
OpenGL ES 
SurfaceFlinger
Android Embedded 
Vorteile - HAL 
Application locationManager = (LocationManager) 
SystemService 
this.getSystemService(Context.LOCATION_SERVICE); 
private final ILocationManager mService; 
Manager 
Interface 
void requestLocationUpdates( in LocationRequest request, 
in ILocationListener listener, 
in PendingIntent intent, 
String packageName); 
Manager 
Service 
HAL / native 
private native boolean native_start(); 
typedef struct { 
/** Starts navigating. */ 
int (*start)( void ); }
Android Embedded 
Vorteile 
Getrennte Embedded / App Entwicklung 
App / Frontend / Business Logik 
(Java) 
Android Framework 
Java / C / C++ 
Native / Treiber 
Kernel 
C / C++
Android Embedded 
Android Embedded 
Vorteile 
+ 
Herausforderungen
Android Embedded 
Vorteile: Android Plattform 
● klare Lizenzierung (Apache V2, GPL V3) 
● bestehendes KnowHow (Android / Linux / Java) 
● große Entwickler-Community (Custom ROMs) 
● Applikations & GUI Entwicklung in Java 
● zunehmende Auswahl an günstiger, touch-basierter 
Hardware 
● industry proven 
● responsive UI “builtin”
Android Embedded 
Vorteile: Kernel 
● ARM SoCs Hersteller fokussiert auf Android 
● sehr große Entwickler Community 
● Treiber mit externen Abhängigkeiten möglich 
● Android kernel ist Standard für ARM BSPs 
● Zusammenarbeit Android/Linux kernel community 
● Auch Nicht-Android Plattformen arbeiten mit dem Android 
kernel: WebOS, FirefoxOS, Ubuntu Phone
Android Embedded 
Herausforderungen Plattform 
● auf smart Devices optimiert (Ethernet Treiber?) 
● Dokumentation dürftig 
● Abweichungen vom "Vanilla" Embedded Linux (Bionic, 
Kernel, Filesystem Layout, etc.) 
● Build (Modularität, Zeit, etc.) 
● Hohe Innovationsrate -> schnelle Releases, keine Roadmap 
● Google Plattform
Android Embedded 
Herausforderungen Plattform / App 
● hohe Hardwareanforderungen 
● UI zentrisch 
● headless Android vs Linux embedded ? 
● Realtime ? 
● Verifikation / Nachweisbarkeit ? 
● Robustheit: uptime, watchdog, etc. 
● kein Store, keine Play Services 
● UI Entwicklung ist nicht Enterprise Java 
● Ansprüche an UI und UX sind hoch
Android Embedded 
Herausforderungen - Hardware 
● ARM, x86, MIPS min. 500 MHz besser (1 GHz 
recommended) 
● min. 340 MB RAM / 1GB recommended 
● OpenGL-ES GPU 
● 426 x 320 dp Display
Android Open Source Projekt 
Architektur 
Stock Apps 
Framework / API 
User Apps 
Java 
System Services 
Dalvik / Runtime / Zygote 
Libs HAL Init 
Kernel
Android Open Source Projekt 
Architektur - Source 
Stock Apps 
Framework / API 
User Apps 
Java 
System Services 
Dalvik / Runtime / Zygote 
Libs HAL Init 
Kernel 
https://android.googlesource.com/
Android Embedded 
Tolino Shine 
● eInk Reader ("Kindle alike") der 
großen deutschen Verlage und der 
Telekom 
● Shop + eReader 
● Offene Formate und Standards 
● 7 Wochen Akku Laufzeit
Android Embedded 
Tolino Shine 
● Basis: Android 2.3.3 
● Wiederverwendung von 
bestehendem Android (PagePlace 
App) und Java Code (WISPr) 
● Einfache Skalierung des 
Entwicklungsteams (Android 
Entwickler) 
● Android Test- und 
Entwicklungstools
Android Embedded 
Tolino Shine 
● Freescale BSP 
● 7 GB Source 
● Compile Time ~ 45 minutes 
● „Deployment Time“ ~ 5-10 minutes 
● Dependencies usually fail at 
runtime 
● You can change everything... 
Maybe you shouldn‘t ;)
Android Embedded 
Tolino Shine 
● Bootzeit-Optimierung: 200% 
● Batterielaufzeit (Wakelocks) 
● Single-App-Optimierung (Heap-Size 
& OOM) 
● Keyboard (für eInk optimiert) 
● Recovery Funktion eInk Steuerung 
● System updates 
● Multiple SD-Cards (internal / 
external) 
● SD-Card Partitionen
Embedded Android 
Getting Started
Embedded Android 
Getting Started 
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 
$ chmod a+x ~/bin/repo 
$ repo init -u https://android.googlesource.com/platform/manifest 
$ repo sync 
Check: http://source.android.com 
Sources: approx. 18-40 GB
Embedded Android 
Getting Started 
Compile…. 
You need: 
• Ubuntu LTS (10.04 or 12.04) or Mac OS X (kind of) 
• A bunch of tools 
• HDD space (~ 60 GB) 
• Time (Hours - depending on your HW)
Embedded Android 
Getting Started 
Compile…. 
$ source build/envsetup.sh 
including device/generic/armv7-a-neon/vendorsetup.sh 
including device/generic/armv7-a/vendorsetup.sh 
....
Embedded Android 
Getting Started 
Compile…. 
$ lunch 
You're building on Linux 
Lunch menu... pick a combo: 
1. full-eng 
2. full_x86-eng 
3. vbox_x86-eng 
4. full_mips-eng 
5. full_grouper-userdebug 
... 
Which would you like? [full-eng]
Embedded Android 
Getting Started 
zzzzzZZZZZZzzzzzz
Embedded Android 
Getting Started 
zzzzzZZZZZZzzzzzz 
$ emulator &
Android Embedded 
Praxis 
● Build-Prozess 
● Release Prozess 
● Delta-Upates 
● CI-Server (Hardware!) 
● OEM
Android Embedded 
Realtime? 
● RT-Linux + Android != Fun 
● Hardware-Trennung 
● FPGA Board + HMI Board
Embedded Android 
Devel Getting Board 
Started 
http://www.oreilly.de/catalog/9781449308292/index.html
Embedded Android + IoT 
https://entwickler.de/IoT-Mag 
+
Danke! 
Danke!

Weitere ähnliche Inhalte

Andere mochten auch

Pulp - Software Repository Management - a brief introduction
Pulp - Software Repository Management - a brief introductionPulp - Software Repository Management - a brief introduction
Pulp - Software Repository Management - a brief introduction
inovex GmbH
 
Configuration Management with Saltstack
Configuration Management with SaltstackConfiguration Management with Saltstack
Configuration Management with Saltstack
inovex GmbH
 
repositor.io - Simple Repository Management
repositor.io - Simple Repository Managementrepositor.io - Simple Repository Management
repositor.io - Simple Repository Management
inovex GmbH
 
Bootstrapping a virtual infrastructure using OpenNebula from scratch
Bootstrapping a virtual infrastructure using OpenNebula from scratchBootstrapping a virtual infrastructure using OpenNebula from scratch
Bootstrapping a virtual infrastructure using OpenNebula from scratch
inovex GmbH
 
Open Source im Unternehmenseinsatz
Open Source im UnternehmenseinsatzOpen Source im Unternehmenseinsatz
Open Source im Unternehmenseinsatz
inovex GmbH
 
Data Center Automation for the Cloud
Data Center Automation for the CloudData Center Automation for the Cloud
Data Center Automation for the Cloud
inovex GmbH
 
oVirt 3.5 - Einführung und Evaluierungsergebnisse
oVirt 3.5 - Einführung und EvaluierungsergebnisseoVirt 3.5 - Einführung und Evaluierungsergebnisse
oVirt 3.5 - Einführung und Evaluierungsergebnisse
inovex GmbH
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
inovex GmbH
 

Andere mochten auch (8)

Pulp - Software Repository Management - a brief introduction
Pulp - Software Repository Management - a brief introductionPulp - Software Repository Management - a brief introduction
Pulp - Software Repository Management - a brief introduction
 
Configuration Management with Saltstack
Configuration Management with SaltstackConfiguration Management with Saltstack
Configuration Management with Saltstack
 
repositor.io - Simple Repository Management
repositor.io - Simple Repository Managementrepositor.io - Simple Repository Management
repositor.io - Simple Repository Management
 
Bootstrapping a virtual infrastructure using OpenNebula from scratch
Bootstrapping a virtual infrastructure using OpenNebula from scratchBootstrapping a virtual infrastructure using OpenNebula from scratch
Bootstrapping a virtual infrastructure using OpenNebula from scratch
 
Open Source im Unternehmenseinsatz
Open Source im UnternehmenseinsatzOpen Source im Unternehmenseinsatz
Open Source im Unternehmenseinsatz
 
Data Center Automation for the Cloud
Data Center Automation for the CloudData Center Automation for the Cloud
Data Center Automation for the Cloud
 
oVirt 3.5 - Einführung und Evaluierungsergebnisse
oVirt 3.5 - Einführung und EvaluierungsergebnisseoVirt 3.5 - Einführung und Evaluierungsergebnisse
oVirt 3.5 - Einführung und Evaluierungsergebnisse
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
 

Ähnlich wie Niemals nach Mitternacht füttern - Grüne Roboter überall!

Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
greenrobot
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
inovex GmbH
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
inovex GmbH
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
inovex GmbH
 
Android Entwicklung
Android EntwicklungAndroid Entwicklung
Android Entwicklung
franky1888
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
IKS Gesellschaft für Informations- und Kommunikationssysteme mbH
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
Jürg Stuker
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
roskakori
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDK
IndieOutpost
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
greenrobot
 
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
Gordon Breuer
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
Jens Siebert
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
André Krämer
 
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
Christian Heindel
 
Top 10 Internet Trends 2008
Top 10 Internet Trends 2008Top 10 Internet Trends 2008
Top 10 Internet Trends 2008
Jürg Stuker
 
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT Group
 
Smartphone Betriebssysteme Android
Smartphone Betriebssysteme AndroidSmartphone Betriebssysteme Android
Smartphone Betriebssysteme Android
dm-development
 
Cross Plattform Entwicklung für Mobile Anwendungen
Cross Plattform Entwicklung für Mobile AnwendungenCross Plattform Entwicklung für Mobile Anwendungen
Cross Plattform Entwicklung für Mobile Anwendungen
Markus Eiglsperger
 
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der PraxisConsumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
inovex GmbH
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
Jens Siebert
 

Ähnlich wie Niemals nach Mitternacht füttern - Grüne Roboter überall! (20)

Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
 
Android Entwicklung
Android EntwicklungAndroid Entwicklung
Android Entwicklung
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDK
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
 
Top 10 Internet Trends 2008
Top 10 Internet Trends 2008Top 10 Internet Trends 2008
Top 10 Internet Trends 2008
 
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
We4IT LCTY 2013 - captain mobility - delivering your existing ibm domino appl...
 
Smartphone Betriebssysteme Android
Smartphone Betriebssysteme AndroidSmartphone Betriebssysteme Android
Smartphone Betriebssysteme Android
 
Cross Plattform Entwicklung für Mobile Anwendungen
Cross Plattform Entwicklung für Mobile AnwendungenCross Plattform Entwicklung für Mobile Anwendungen
Cross Plattform Entwicklung für Mobile Anwendungen
 
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der PraxisConsumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
Consumer Hardware im Enterprise-Einsatz - Erfahrungsberichte aus der Praxis
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 

Mehr von inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
inovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
inovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
inovex GmbH
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
inovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
inovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
inovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
inovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
inovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
inovex GmbH
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
inovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
inovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
inovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
inovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
inovex GmbH
 
Remote First – Der Arbeitsplatz in der Cloud
Remote First – Der Arbeitsplatz in der CloudRemote First – Der Arbeitsplatz in der Cloud
Remote First – Der Arbeitsplatz in der Cloud
inovex GmbH
 

Mehr von inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 
Remote First – Der Arbeitsplatz in der Cloud
Remote First – Der Arbeitsplatz in der CloudRemote First – Der Arbeitsplatz in der Cloud
Remote First – Der Arbeitsplatz in der Cloud
 

Niemals nach Mitternacht füttern - Grüne Roboter überall!

  • 1. Niemals nach Mitternacht füttern! Grüne Roboter überall! Christian Meder Dominik Helleberg
  • 2. Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+
  • 3. Speaker Christian Meder Free Software / OpenSource Linux Web Java Android Christian Meder
  • 4. Android Embedded (2013) Android: Nummer eins der mobilen Betriebssysteme 1.5 Millionen Aktivierungen täglich (Larry Page, 17.10.2013) 1 Milliarde aktivierte Geräte (Sundar Pichai, 03.09.2013)
  • 5. Android Embedded (2014) Android: Nummer eins der mobilen Betriebssysteme 1 billion active Android users per month (Pichai, 06/2014) Google Devices http://developer.android.com/design/devices.html Android Auto http://developer.android.com/design/auto/index.html
  • 6. Android Embedded Android: Nummer eins der mobilen Betriebssysteme (Smartphones)
  • 7. Android Embedded Android ist modern und “anders” https://twitter.com/Arubin/status/27808662429
  • 8. Android Embedded Tablets Amazon http://www.amazon.de/Kindle-Fire-Zoll-HDX-Display-WLAN/dp/B00D695H6O
  • 9. Android Embedded Kameras Nikon http://www.nikon.de/de_DE/product/digital-cameras/coolpix/style/coolpix-s800c Samsung http://www.samsung.com/de/promotions/galaxycamera/
  • 10. Android Embedded Glasses Google Glass http://www.google.com/glass/start/ Recon Instruments Snow2 http://www.reconinstruments.com/products/snow2/
  • 11. Android Embedded Smartwatches / Wear Samsung Gear Live https://play.google.com/store/devices/details?id=samsung_gear_live_black Neptune Pine http://www.neptunepine.com/ LG-G Watch https://play.google.com/store/devices/details?id=lg_g_watch_black
  • 12. Android Embedded Mobility Android Auto http://www.android.com/auto/ Renault R-Link http://www.renault.de/renault-modellpalette/multimedia/r-link-wall/ Boing 787 http://www.boeing.com/boeing/commercial/787family/
  • 13. Android Embedded Home LG Kühlschrank http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigerator Ouya http://ouya.tv AndroidTV http://developer.android.com/tv/index.html Amazon Fire TV http://www.amazon.com/Fire-TV-streaming-media-player/dp/B00CX5P8FC
  • 14. Android Embedded Industry ADLink IMX-2000 http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1229 Honeywell http://goo.gl/hyJXWf Casio EPOS http://goo.gl/k9L3V6 Motorola MC3200 http://goo.gl/5dOVL7
  • 17. Android Embedded Gedankenexperiment: Google Device Walkman in grass (CC BY 2.0) https://www.flickr.com/photos/shoutsfromtheabyss/4605407018/
  • 18. Android Embedded Device für Google Suche, Maps, YouTube ● mobil ● handlich ● vernetzt ● sicher ● batterieoptimiert
  • 19. Android Embedded Device für Google Suche, Maps, YouTube ● UI vs physikalische HW (flexible UI) ● Touch UI ● einfach updatebar ● Trennung von Plattform und App ● Plattform freigeben wg HW Herstellung
  • 20. Embedded Touch-UI Die “Konkurrenz” http://www.broadbandtvnews.com/2012/04/03/curzon-cinemas-launch-smart-tv-on-demand/
  • 21. Embedded Touch-UI Die “Konkurrenz”
  • 22. Embedded Touch-UI Die “Konkurrenz”
  • 23. Embedded Touch-UI Die “Konkurrenz”
  • 24. Embedded Touch-UI Die “Konkurrenz”
  • 25. Embedded Touch-UI Die “Konkurrenz” http://commons.wikimedia.org/wiki/File:Helvar_Touchscreen_924.jpg
  • 26. Embedded Touch-UI Die “Konkurrenz”
  • 27. Embedded Touch-UI Die “Konkurrenz”
  • 28. Android Embedded Vorteile User Interface
  • 29. Android Embedded Vorteile Powered by Google http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/
  • 30. Android Embedded Vorteile http://goo.gl/B5vz8V Powered by Google / Android L
  • 31. Android Embedded Vorteile Powered by Google / Android L http://www.curious-creature.org/
  • 32. Android Embedded Vorteile Hardware Acceleration “builtin” Canvas API Views Application libHWUI SKIA OpenGL ES SurfaceFlinger
  • 33. Android Embedded Vorteile - HAL Application locationManager = (LocationManager) SystemService this.getSystemService(Context.LOCATION_SERVICE); private final ILocationManager mService; Manager Interface void requestLocationUpdates( in LocationRequest request, in ILocationListener listener, in PendingIntent intent, String packageName); Manager Service HAL / native private native boolean native_start(); typedef struct { /** Starts navigating. */ int (*start)( void ); }
  • 34. Android Embedded Vorteile Getrennte Embedded / App Entwicklung App / Frontend / Business Logik (Java) Android Framework Java / C / C++ Native / Treiber Kernel C / C++
  • 35. Android Embedded Android Embedded Vorteile + Herausforderungen
  • 36. Android Embedded Vorteile: Android Plattform ● klare Lizenzierung (Apache V2, GPL V3) ● bestehendes KnowHow (Android / Linux / Java) ● große Entwickler-Community (Custom ROMs) ● Applikations & GUI Entwicklung in Java ● zunehmende Auswahl an günstiger, touch-basierter Hardware ● industry proven ● responsive UI “builtin”
  • 37. Android Embedded Vorteile: Kernel ● ARM SoCs Hersteller fokussiert auf Android ● sehr große Entwickler Community ● Treiber mit externen Abhängigkeiten möglich ● Android kernel ist Standard für ARM BSPs ● Zusammenarbeit Android/Linux kernel community ● Auch Nicht-Android Plattformen arbeiten mit dem Android kernel: WebOS, FirefoxOS, Ubuntu Phone
  • 38. Android Embedded Herausforderungen Plattform ● auf smart Devices optimiert (Ethernet Treiber?) ● Dokumentation dürftig ● Abweichungen vom "Vanilla" Embedded Linux (Bionic, Kernel, Filesystem Layout, etc.) ● Build (Modularität, Zeit, etc.) ● Hohe Innovationsrate -> schnelle Releases, keine Roadmap ● Google Plattform
  • 39. Android Embedded Herausforderungen Plattform / App ● hohe Hardwareanforderungen ● UI zentrisch ● headless Android vs Linux embedded ? ● Realtime ? ● Verifikation / Nachweisbarkeit ? ● Robustheit: uptime, watchdog, etc. ● kein Store, keine Play Services ● UI Entwicklung ist nicht Enterprise Java ● Ansprüche an UI und UX sind hoch
  • 40. Android Embedded Herausforderungen - Hardware ● ARM, x86, MIPS min. 500 MHz besser (1 GHz recommended) ● min. 340 MB RAM / 1GB recommended ● OpenGL-ES GPU ● 426 x 320 dp Display
  • 41. Android Open Source Projekt Architektur Stock Apps Framework / API User Apps Java System Services Dalvik / Runtime / Zygote Libs HAL Init Kernel
  • 42. Android Open Source Projekt Architektur - Source Stock Apps Framework / API User Apps Java System Services Dalvik / Runtime / Zygote Libs HAL Init Kernel https://android.googlesource.com/
  • 43. Android Embedded Tolino Shine ● eInk Reader ("Kindle alike") der großen deutschen Verlage und der Telekom ● Shop + eReader ● Offene Formate und Standards ● 7 Wochen Akku Laufzeit
  • 44. Android Embedded Tolino Shine ● Basis: Android 2.3.3 ● Wiederverwendung von bestehendem Android (PagePlace App) und Java Code (WISPr) ● Einfache Skalierung des Entwicklungsteams (Android Entwickler) ● Android Test- und Entwicklungstools
  • 45. Android Embedded Tolino Shine ● Freescale BSP ● 7 GB Source ● Compile Time ~ 45 minutes ● „Deployment Time“ ~ 5-10 minutes ● Dependencies usually fail at runtime ● You can change everything... Maybe you shouldn‘t ;)
  • 46. Android Embedded Tolino Shine ● Bootzeit-Optimierung: 200% ● Batterielaufzeit (Wakelocks) ● Single-App-Optimierung (Heap-Size & OOM) ● Keyboard (für eInk optimiert) ● Recovery Funktion eInk Steuerung ● System updates ● Multiple SD-Cards (internal / external) ● SD-Card Partitionen
  • 48. Embedded Android Getting Started $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo $ repo init -u https://android.googlesource.com/platform/manifest $ repo sync Check: http://source.android.com Sources: approx. 18-40 GB
  • 49. Embedded Android Getting Started Compile…. You need: • Ubuntu LTS (10.04 or 12.04) or Mac OS X (kind of) • A bunch of tools • HDD space (~ 60 GB) • Time (Hours - depending on your HW)
  • 50. Embedded Android Getting Started Compile…. $ source build/envsetup.sh including device/generic/armv7-a-neon/vendorsetup.sh including device/generic/armv7-a/vendorsetup.sh ....
  • 51. Embedded Android Getting Started Compile…. $ lunch You're building on Linux Lunch menu... pick a combo: 1. full-eng 2. full_x86-eng 3. vbox_x86-eng 4. full_mips-eng 5. full_grouper-userdebug ... Which would you like? [full-eng]
  • 52. Embedded Android Getting Started zzzzzZZZZZZzzzzzz
  • 53. Embedded Android Getting Started zzzzzZZZZZZzzzzzz $ emulator &
  • 54. Android Embedded Praxis ● Build-Prozess ● Release Prozess ● Delta-Upates ● CI-Server (Hardware!) ● OEM
  • 55. Android Embedded Realtime? ● RT-Linux + Android != Fun ● Hardware-Trennung ● FPGA Board + HMI Board
  • 56. Embedded Android Devel Getting Board Started http://www.oreilly.de/catalog/9781449308292/index.html
  • 57. Embedded Android + IoT https://entwickler.de/IoT-Mag +