Android Embedded - Smart Hubs als Schaltzentrale des IoT
-
Upload
inovex-gmbh -
Category
Software
-
view
104 -
download
1
Transcript of Android Embedded - Smart Hubs als Schaltzentrale des IoT
![Page 1: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/1.jpg)
Android Embedded
Smart Hubs als Schaltzentrale des IoT
Dominik Helleberg
![Page 2: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/2.jpg)
Speaker
Dominik Helleberg
Mobile Development
Android / Embedded
Tools
http://dominik-helleberg.de/+
![Page 3: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/3.jpg)
Android as we know + love it
![Page 4: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/4.jpg)
Android as we know + love it
![Page 5: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/5.jpg)
Android everywhere?
![Page 6: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/6.jpg)
Android everywhere?
Google Glass http://www.google.com/glass/start/Samsung Gear Live https://play.google.com/store/devices/details?id=samsung_gear_live_black
![Page 7: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/7.jpg)
Android everywhere?
![Page 8: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/8.jpg)
But there‘s even more...
https://twitter.com/Arubin/status/27808662429
![Page 9: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/9.jpg)
Android Embedded
Amazon http://www.amazon.de/Kindle-Fire-Zoll-HDX-Display-WLAN/dp/B00D695H6OSamsung http://www.samsung.com/de/promotions/galaxycamera/Boing 787 http://www.boeing.com/boeing/commercial/787family/LG Kühlschrank http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigeratorMotorola MC3200 http://goo.gl/5dOVL7Honda http://www.golem.de/news/honda-connect-nvidias-tegra-faehrt-mit-android-in-japan-1410-109590.htmlNCR http://response.ncr.com/NCR-Kalpana
![Page 10: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/10.jpg)
Android Embedded
How does it relate to IoT?
![Page 11: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/11.jpg)
Android Embedded
![Page 12: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/12.jpg)
Android Embedded
Smart Hub
![Page 13: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/13.jpg)
Smart Hubs
Smart Hub
Manage local „Things“
• Z-Wave
• ZigBee
• Thread
• WiFi
• Bluetooth (LE)
• ANT(+)
• BidCos
• KNX
• CAN Bus
• AUTOSAR
• BoardR-Reach
![Page 14: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/14.jpg)
Smart Hubs
Smart Hub
Secure local „Things“
• Encryption
• Secure Connection
• Distribute Updates
• Firewall / Gateway
![Page 15: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/15.jpg)
Smart Hubs
Smart Hub
Control local „Things“
• Centralized Logic
• Data Aggregation
• Status Reports
• Local HMI
![Page 16: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/16.jpg)
Smart Hubs
Smart Hub
Smart Hubs are embedded Systems
• Robust
• Secure
• Easy to update
• Embedded friendly
• Rich Graphics
• Easy to build upon
![Page 17: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/17.jpg)
Smart Hubs with Android
We do have
• Windows Embedded
• QNX
• Embedded Linux(s)
....
Is there anything new?
![Page 18: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/18.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 19: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/19.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 20: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/20.jpg)
Smart Hubs with Android
HMI Evolution
![Page 21: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/21.jpg)
Canvas API
ViewsApplication
OpenGL ES
libHWUI SKIA
SurfaceFlinger
Hardware Acceleration “builtin”
Smart Hubs with Android
![Page 22: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/22.jpg)
Smart Hubs with Android
![Page 23: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/23.jpg)
Smart Hubs with Android
Google „Power“
http://www.google.com/design/spec/material-design/introduction.html#https://www.youtube.com/watch?v=EBlTzQsUoOwhttp://www.anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-lhttp://arstechnica.com/gadgets/2014/07/examining-project-volta-we-put-android-l-through-our-battery-test/
![Page 24: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/24.jpg)
Smart Hubs with Android
Google „Power“
https://plus.google.com/u/0/104162817526798820937/posts/UVXbWmxWvBhhttps://www.openhub.net/p/platform_art
![Page 25: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/25.jpg)
Current „State of the art“
![Page 26: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/26.jpg)
Current „State of the art“
![Page 27: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/27.jpg)
Current „State of the art“
![Page 28: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/28.jpg)
Current „State of the art“
![Page 29: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/29.jpg)
Current „State of the art“
![Page 30: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/30.jpg)
Current „State of the art“
![Page 31: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/31.jpg)
Android Graphics Performance
![Page 32: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/32.jpg)
Android Graphics Performance
Media Framework
https://source.android.com/devices/media.html
![Page 33: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/33.jpg)
Android Graphics Performance
![Page 34: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/34.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 35: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/35.jpg)
Smart Hubs with Android
SystemService
Application Application logic
Java API / SDK / Documentation
Access to service over RPC
Manager Interface Binder Interface for the service (AIDL)
Manager Service
libhardware
Logic, Security Checks, Native JNI calls
Native “Interface” (header file)
driver.so
/dev/foo
Device Dependent Driver
Kernel / Module
![Page 36: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/36.jpg)
Smart Hubs with Android
SystemService
Application
/dev/foodriver.so
libhardware
Manager Service
Manager Interface
Java libs Android libsAndroidTools
Java Tools
![Page 37: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/37.jpg)
Smart Hubs with Android
![Page 38: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/38.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 39: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/39.jpg)
Smart Hubs with Android
![Page 40: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/40.jpg)
Smart Hubs with Android
shell@shamu:/ $ mount
rootfs / rootfs ro,seclabel,relatime 0 0tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=1505044k,nr_inodes=171672,mode=755 0 0devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0proc /proc proc rw,relatime 0 0sysfs /sys sysfs rw,seclabel,relatime 0 0selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0debugfs /sys/kernel/debug debugfs rw,relatime 0 0none /acct cgroup rw,relatime,cpuacct 0 0none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=1505044k,nr_inodes=171672,mode=750,gid=1000 0 0tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=1505044k,nr_inodes=171672,mode=755,gid=1000 0 0tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=1505044k,nr_inodes=171672,mode=755,gid=1000 0 0none /dev/cpuctl cgroup rw,relatime,cpu 0 0pstore /sys/fs/pstore pstore rw,relatime 0 0/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0/dev/block/platform/msm_sdcc.1/by-name/modem /firmware ext4 ro,context=u:object_r:firmware_file:s0,relatime,data=ordered 0 0/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0/dev/block/platform/msm_sdcc.1/by-name/mdm1m9kefs3 /fsg ext4 ro,context=u:object_r:fsg_file:s0,nosuid,nodev,relatime 0 0adb /dev/usb-ffs/adb functionfs rw,relatime 0 0/dev/block/dm-0 /data ext4 rw,seclabel,nosuid,nodev,noatime,nodiratime,nobarrier,noauto_da_alloc,data=ordered 0 0/dev/fuse /mnt/shell/emulated fuserw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
![Page 41: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/41.jpg)
Smart Hubs with Android
shell@shamu:/ $ mount
rootfs / rootfs ro,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=1505044k
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
![Page 42: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/42.jpg)
Smart Hubs with Android
• Read-Only System paritition
• SE-Linux ready
• Application Sandbox
• Encryption
• Verified Boot
• High Performance IPC (Binder)
![Page 43: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/43.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 44: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/44.jpg)
Smart Hubs with Android
Hardware
![Page 45: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/45.jpg)
LVD
SH
DM
IU
SB
45
Smart Hubs with AndroidHardware
Komponenten
• SBC oder MBC• Base Board• (optional) CPU Board
• TFT / LCD Screen• Touch Sensor
• Screen / Touch Controller Converter
BaseBoard
CPUBoard
Screen + Touch Sensor
converter
![Page 46: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/46.jpg)
ODroid http://www.hardkernel.com/main/main.php 46
Smart Hubs with AndroidHardware
Baseboard - Evaluation• SOC (CPU / GPU)• RAM• Storage• Interfaces
BaseBoard
CPUBoard
![Page 47: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/47.jpg)
47
Smart Hubs with AndroidHardware
Baseboard• SOC (CPU / GPU)• RAM• Storage• Interfaces
BaseBoard
CPUBoard
SBC MBC
![Page 48: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/48.jpg)
48
Smart Hubs with AndroidHardware
Screen + Touch• LCD / TFT Screen• Touch Sensor• Converter to „connect“ to
BaseBoard
Screen + Touch Sensor
converter
![Page 49: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/49.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 50: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/50.jpg)
http://gadgetsin.com/uploads/2012/04/android_robot_lego_brick_building_kit_1.jpghttp://gadgetsin.com/uploads/2012/04/android_robot_lego_brick_building_kit_3.jpg
Build the Droid
terminology
Product and Board configuration
ModulesBuild Target
![Page 51: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/51.jpg)
Build the Droid
product and variant management
● Boardconfiguration: contain hardware specific configurations
● Architecture (ARM/x86/mips,…)● Peripherals: GPS, Bluetooth,...● Boot Parameter,…● Inheritance
myBoardConfig.mk
fsl-BoardConfigCommon.mk
fsl-omx.mk fsl-codec.mkfsl-gpu.mk
![Page 52: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/52.jpg)
Build the Droid
product and variant management
● Product configurations : describes software
● Device Name, Vendor Name, etc...● Pre-Installed Apps, Themes, Sounds● Localisation● Inheritance
my_product.mk
ereader.mk imx5x.mk
language_small.mkgeneric_no_telephony.mk
core.mk
![Page 53: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/53.jpg)
http://gadgetsin.com/uploads/2012/04/android_robot_lego_brick_building_kit_1.jpghttp://gadgetsin.com/uploads/2012/04/android_robot_lego_brick_building_kit_3.jpg
Build the Droid
terminology
Product and Board configuration
ModulesBuild Target
![Page 54: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/54.jpg)
three steps to your custom image 2/3
Build the Droid
build modules
Everything is a Module● Apps, ADB, Framework, SDK, Libraries, Fonts, etc. (3713 Modules in 5.0)● Defined in own Makefile: Android.mk● lot of stubs, extensive use of Makefile macros
packages/apps/Calculator/Android.mk:
LOCAL_PATH := $(call my-dir)LOCAL_MODULE_TAGS := optionalLOCAL_STATIC_JAVA_LIBRARIES := libarity android-support-v4 guavaLOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_SDK_VERSION := currentLOCAL_PACKAGE_NAME := Calculator
![Page 55: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/55.jpg)
three steps to your custom image 2/3
Build the Droid
the result & releasetools
Results:● make droid: complete images for the target device, host tools
(boot.img, system.img, recovery.img…)● make dist: device_target_files
(a zip archive, containing all information to create every build system output)
Releasetools: a set of tools to create images, sign and verify images and updates● ./sign_target_files_apks
sign a build with test or debug certificates. All builds are signed!● ./img_from_target_files
create flashable images (called from ‘make droid’)● ./ota_from_target_files
create full or incremental over-the-air updates
![Page 56: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/56.jpg)
For a Nexus 7 (2013)
1. configure the build: loads Product and Boardconfiguration in environment$> source build/envsetup.sh && lunch aosp_flo-userdebug
2. compile: builds “core” and each module that is included in this configuration
$> make droid -j8
....zzzZZZzzzZZZzzz...
3. Flash / distribute the result: runs releasetools, packs, signs & flashes the build
$> make dist || fastboot flashall
Build the Droid
three steps to your custom image
![Page 57: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/57.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware Integration
![Page 58: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/58.jpg)
Smart Hubs with AndroidOTA Updates
![Page 59: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/59.jpg)
three steps to your custom image 2/3
Results:● make droid: complete images for the target device, host tools
(boot.img, system.img, recovery.img…)● make dist: device_target_files
(a zip archive, containing all information to create every build system output)
Releasetools: a set of tools to create images, sign and verify images and updates● ./sign_target_files_apks
sign a build with test or debug certificates. All builds are signed!● ./img_from_target_files
create flashable images (called from ‘make droid’)● ./ota_from_target_files
create full or incremental over-the-air updates
Smart Hubs with AndroidOTA Updates
![Page 60: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/60.jpg)
OTA Update
RecoverySystem.VerifyUpdate()
RecoverySystem. InstallUpdate()
OK
verify signature
unpack archive
OK
read argsfrom file
execute updaterbinary
execute edifyupdate script
fail
cleanup
Android Recovery
✖
✔
✔
save log &reboot
✖
Smart Hubs with AndroidOTA Updates
![Page 61: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/61.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware Integration
![Page 62: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/62.jpg)
Smart Hubs with AndroidHardware Integration
![Page 63: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/63.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application Application logic
Java API / SDK / Documentation
Access to service over RPC
Manager Interface Binder Interface for the service (AIDL)
Manager Service
libhardware
Logic, Security Checks, Native JNI calls
Native “Interface” (header file)
driver.so
/dev/foo
Device Dependent Driver
Kernel / Module
![Page 64: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/64.jpg)
Smart Hubs with AndroidHardware Integration
driver.so
/dev/foo
● Grove 16x2 display with I2C extension
○ LCD-Module
○ RGB-Module
● MarS Board with Android 4.0.4 (BSP)
● The LCD is connected through I2C
○ LCD 0x3e
○ RGB 0x62
![Page 65: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/65.jpg)
Smart Hubs with AndroidHardware Integration
driver.so
/dev/foo
● The Android Kernel is based on a Linux Kernel with some
android specific adaptations
● The Linux Kernel provides an I2C-Core-Driver
○ It is responsible for the communication between the devices
connected to the bus
● For the LCD-Module and the RGB-Module an I2C-Client-
Driver is needed
![Page 66: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/66.jpg)
Smart Hubs with AndroidHardware Integration
driver.so
/dev/foo
![Page 67: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/67.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application
Manager Interface
Manager Service
libhardware
driver.so
/dev/foo
![Page 68: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/68.jpg)
Smart Hubs with AndroidHardware Integration
● Access to drivers through a HAL library (user space)
● HAL library uses the system call interface to get access to the
device files (/dev/lcd1313M1 u. /dev/rgb1313M1)
● A proprietary license can be used (Driver has to use GPL)
libhardware
![Page 69: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/69.jpg)
Smart Hubs with AndroidHardware Integration
● The HAL library consists of two components:
○ Implementation under:
■ /device/fsl/marsboard_6q/lcd1313M1
○ Header file under:
■ /hardware/libhardware/include/hardware
● The header file represents the interface of the HAL library
libhardware
![Page 70: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/70.jpg)
Smart Hubs with AndroidHardware Integration
libhardware
● Some functions of the HAL library
○ displayInit()
○ setText(...)
○ setRGB(...)
○ backlightOn()/backlightOff()
○ ...
![Page 71: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/71.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application
Manager Interface
Manager Service
libhardware
driver.so
/dev/foo
![Page 72: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/72.jpg)
Smart Hubs with AndroidHardware Integration
● The Manager Service consists of two components:
○ the native methods in
com_android_server_LCDService.cpp
○ LCDService.java
● com_android_server_LCDService.cpp includes the
header file of the HAL library and loads the library
● LCDService.java calls the native methods over the JNI
Manager Service
![Page 73: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/73.jpg)
Smart Hubs with AndroidHardware Integration
Manager Service
![Page 74: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/74.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application
Manager Interface
Manager Service
libhardware
driver.so
/dev/foo
![Page 75: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/75.jpg)
Smart Hubs with AndroidHardware Integration
● A ILCDService.aidl file for the LCDService is needed
● This file contains the declaration of the functions callable
from Binder
● The .aidl file is used to generate a Binder-Interface for the
Java service (ILCDService.java)
Manager Interface
![Page 76: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/76.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application
Manager Interface
Manager Service
libhardware
driver.so
/dev/foo
![Page 77: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/77.jpg)
Smart Hubs with AndroidHardware Integration
public class LCDManager
{
public static LCDManager getLCDManager()
{
IBinder b = ServiceManager.getService("lcd1313M1");
ILCDService service = ILCDService.Stub.asInterface(b);
return new LCDManager(service);
}
public int setText(String mString) {
try {
return mService.setText(mString);
} catch (RemoteException e) {
return -1;
}
}
SystemService
![Page 78: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/78.jpg)
Smart Hubs with AndroidHardware Integration
SystemService
Application
Manager Interface
Manager Service
libhardware
driver.so
/dev/foo
![Page 79: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/79.jpg)
Smart Hubs with AndroidApplication Development
![Page 80: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/80.jpg)
Smart Hubs with AndroidApplication Development – SDK AddOns
● How to get an App-Developer started?
● “Well, thats easy! Just ..."
○ Set up a linux box / VM
○ Install build chain
○ repo init && repo sync
○ lunch full-eng
○ make ...
![Page 81: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/81.jpg)
SDK Addon
SDK Manager Integration
![Page 82: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/82.jpg)
SDK Addon
device/inovex/
![Page 83: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/83.jpg)
SDK Addon
Contents
System Image
Java Libraries / Stubs
Java Docs
lcd_sdk_addon-linux-x86.zip:
KernelHardware Definitions
(skins)
Metadata
![Page 84: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/84.jpg)
SDK Addon
Contents
lcd_sdk_addon-linux-x86.zip:
![Page 85: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/85.jpg)
SDK Addon
SDK Manager Integration I
![Page 86: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/86.jpg)
SDK Addon
SDK Manager Integration II
![Page 87: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/87.jpg)
SDK Addon
Gradle integration
![Page 88: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/88.jpg)
SDK Addon
Android Studio
![Page 89: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/89.jpg)
SDK Addon
Android Studio
![Page 90: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/90.jpg)
SDK Addon
Emulator
![Page 91: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/91.jpg)
SDK Addon
Emulator Log
D/LCDService( 203): LCD changed:D/LCDService( 203): /------------------\D/LCDService( 203): | inovex GmbH |D/LCDService( 203): | www.inovex.de/em |D/LCDService( 203): \------------------/D/LCDService( 203): Background: #FF5500
![Page 92: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/92.jpg)
Smart Hubs with Android
Is there anything new?
We do have
• Windows Embedded
• QNX
• Embedded Linux(s)
....
![Page 93: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/93.jpg)
Smart Hubs with Android
• Performance + HMI
• „App“ like Build-cycle
• Stable + Proven Architecture
• Pluggable Build System
• Robust + Secure OTA Update
• Protocols + Hardware integration
![Page 94: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/94.jpg)
Smart Hubs with Android
So tell me about the dark side...
• No Play Services (unless you go the CTS Route)
• (Almost) no documentation
• No Roadmap
• Obvious (?) things missing
• Realtime ?
![Page 95: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/95.jpg)
Smart Hubs with Android
![Page 96: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/96.jpg)
Smart Hubs with Android
![Page 97: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/97.jpg)
Smart Hubs with Android
So tell me about the dark side...
• No Play Services (unless you go the CTS Route)
• (Almost) no documentation
• No Roadmap
• Obvious (?) things missing
• Realtime ?
![Page 98: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/98.jpg)
https://entwickler.de/IoT-Mag
Embedded Android + IoT
+
![Page 99: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/99.jpg)
Devel Board
http://www.oreilly.de/catalog/9781449308292/index.htmlhttp://www.pearsonhighered.com/educator/product/Modern-Operating-Systems/9780133591620.page
Getting Started
Embedded Android
![Page 100: Android Embedded - Smart Hubs als Schaltzentrale des IoT](https://reader034.fdocuments.in/reader034/viewer/2022042615/55a866d41a28abff3f8b47aa/html5/thumbnails/100.jpg)
KontaktDominik Helleberg
http://dominik-helleberg.de/+Mail: [email protected]
Vielen Dank für Ihre Aufmerksamkeit!