android things, alexey rybakov, technical evangelist, dataart
TRANSCRIPT
![Page 1: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/1.jpg)
#gdg_kharkiv_center
Android Things
Alexey RybakovTechnical Evangelist @ DataArtOrganizer @ GDG Kharkiv-Center
![Page 2: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/2.jpg)
#gdg_kharkiv_center
What is Android Things?
![Page 3: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/3.jpg)
#gdg_kharkiv_center
What is Android Things? Market
![Page 4: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/4.jpg)
#gdg_kharkiv_center
What is Android Things? Power of Android Ecosystem
•2015 Google I/O: Project Brello•Trusted security: regular updates by building on top of the Android System•The Android Ecosystem: Leverage existing Android developer tools, APIs, resources etc
•New APIs for IoT devices: Android framework that provide low level I/O and liveries for common components
![Page 5: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/5.jpg)
#gdg_kharkiv_center
Power of Android Ecosystem: Regular updates•Zero-Day Vulnerability•Hardcoded Admin Access / Firmware Errors ( Botnet / Worm Mirai)
•Developers Errors
Developers can push Google-provided OS updates and custom app updates using the same OTA infrastructure that Google uses for its products and services
![Page 6: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/6.jpg)
#gdg_kharkiv_center
Power of Android Ecosystem: The Android Ecosystem
•Android reduces time to market• Smartphone/tablet app can be reused• UI work can easily be outsourced• Many app developers out there UI designers know Android•App has shorter release cycle• Reuse testing of smartphone/tablet app Just add another device to the pool• Good test frameworks exist App is a smaller part ⇒ less risk
![Page 7: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/7.jpg)
#gdg_kharkiv_center
Power of Android: Architecture
![Page 8: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/8.jpg)
#gdg_kharkiv_center
Android Things Architecture: Avoid Use this API•CalendarContract
•ContactsContract•DocumentsContract•DownloadManager•MediaStore•Settings•Telephony•UserDictionary•VoicemailContract
![Page 9: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/9.jpg)
#gdg_kharkiv_center
Android Things Architecture: Supported Play Services•Supported
•Cast•Drive•Firebase Analytics•Firebase Cloud Messaging (FCM)
•Firebase Crash Reporting•Firebase Realtime Database•Firebase Remote Config
•Firebase Storage•Fit•Instance ID•Location•Nearby•Places•Mobile Vision
![Page 10: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/10.jpg)
#gdg_kharkiv_center
Android Things Architecture: Unsupported Play Services•AdMob
•Android Pay•Firebase App Indexing•Firebase Authentication•Firebase Dynamic Links•Firebase Invites•Firebase Notifications
•Maps•Play Games•Search•Sign-In
![Page 11: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/11.jpg)
#gdg_kharkiv_center
Android Things Support Library: User-Space Drivers
•Portability: run on a variety of different boards and configurations without additional abstractions•Reuse: Pull existing Android code snippets your application without the modify your specific hardware implementation.
•Device driver types: GPS, HID, Sensor
![Page 12: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/12.jpg)
#gdg_kharkiv_center
Android Things Support Library: Peripheral I/O API• GPIO (General Purpose Input/Output) Use this API for simple sensors such as
motion detectors, proximity detectors, and level switches that report their current state as a binary value—high or low.
• PWM (Pulse Width Modulation) Use this API for servo motors, DC motors, and lights that require a proportional signal to provide fine-grained control over the output.
• Serial Communication Use these APIs to transfer larger payloads of data between two or more smart devices connected on the same local bus. The following table outlines the basic attributes of each supported serial protocol
![Page 13: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/13.jpg)
#gdg_kharkiv_center
Peripheral I/O API: GPIO Initialization and Read/Write
![Page 14: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/14.jpg)
#gdg_kharkiv_center
Peripheral I/O API: I2C Initialization and Read/Write
![Page 15: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/15.jpg)
#gdg_kharkiv_center
Android Things: Application Layer
• Displays are optional Android Things does not require a display
• Supports graphical user interfaces using the same UI toolkit
• Does not include the system status bar or navigation buttons.
• Even without display, activities are still a primary component of your app
![Page 16: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/16.jpg)
#gdg_kharkiv_center
Android Things: Application Layer
• Permissions are not supported since UI is not required.
• Declare permission in the AndroidManifest.xml• Notifications are no supported since SystemBar is
not required
![Page 17: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/17.jpg)
#gdg_kharkiv_center
What is Android Things? Hardware
• IoT Hardware Requirements :
• Internet connection
• low level IO communication with external parts
• Energy saving
![Page 18: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/18.jpg)
#gdg_kharkiv_center
Android Things Device: NX Pico i.MX6UL• CPU: NXP i.MX6Ultralite
500MHz ARM Cortex A7
• Memory: 512MB RAM
• Storage: 4GB eMMC
• Display: No
• Camera: No
• Audio: 3.5mm Analog
• Networking: 10/100 Ethernet Wi-Fi 802.11n Bluetooth® 4.1
• USB: 1xUSB 2.0 Host 1xUSB 2.0 OTG
![Page 19: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/19.jpg)
#gdg_kharkiv_center
Android Things Devices: Intel® Edison• CPU: Intel® Atom™
500MHz dual-core x86
• Memory: 1GB RAM
• Storage: 4GB eMMC
• Display: No
• Camera: No
• Audio: USB 2.0
• Networking: Wi-Fi 802.11n Bluetooth® 4.0
• USB: 1xUSB 2.0 OTG
![Page 20: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/20.jpg)
#gdg_kharkiv_center
Android Things Device: Intel® Joule• CPU: Intel® Atom™
1.5GHz/1.7GHz quad-core x86
• Memory: 3GB/4GB RAM
• Storage: 8GB/16GB eMMC
• Display: HDMI
• Camera: CSI-2
• Audio: USB 2.0
• Networking: Wi-Fi 802.11ac Bluetooth® 4.2
• USB: 1xUSB 3.0 OTG
![Page 21: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/21.jpg)
#gdg_kharkiv_center
Android Things Device: Raspberry Pi 3• CPU: Broadcom BCM2837
1.2GHz quad-core ARM Cortex A53
• Memory: 1GB RAM
• Storage: MicroSD card slot 32GB max size
• Display: HDMI
• Camera: CSI-2
• Audio: USB 2.0
• Networking: Wi-Fi 802.11ac Bluetooth® 4.2
• USB: 1xUSB 3.0 OTG
![Page 22: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/22.jpg)
#gdg_kharkiv_center
Demo: RPi Hardware
![Page 23: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/23.jpg)
#gdg_kharkiv_center
Demo: How to Develop
![Page 24: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/24.jpg)
#gdg_kharkiv_center
Android Things Current State: Developer preview 0.2• System power management is currently disabled. Devices will not suspend
and wake locks are not necessary.• Bluetooth APIs are currently disabled.• USB APIs are currently disabled.• Dangerous permissions requested by apps are not granted until the next
device reboot. This includes new app installs and new <uses-permission> elements in existing apps.
• Apps using Google Play Services APIs must compile against SDK version 10.0.0 or newer.
• Google Play Services requires 2-3 minutes on first boot to pre-optimize dex. App installs are blocked until this process is complete.
![Page 25: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/25.jpg)
#gdg_kharkiv_center
Android Things Current State: Developer preview 0.2• Hardware graphics acceleration (OpenGL) is not currently enabled. APIs
depedent on this functionality (such as WebView) are not available.• Peripherals do not clear or reset after calling close(). Outputs will retain their
state and serial ports may continue to transmit previously buffered data.• GPIO pins cannot be used as an output if they were previously enabled as an
input with an edge trigger enabled since the last reboot.• User Drivers: User sensors cannot currently be unregistered manually. They
are unregistered automatically when the app process terminates.• User Drivers: User sensors only support continuous and on-change sensors.
One-shot and special reporting modes may not function as expected.
![Page 26: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/26.jpg)
#gdg_kharkiv_center
Android Things: Conclusion
It’s Cool but it is still in Developer Preview!
![Page 27: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/27.jpg)
#gdg_kharkiv_center
Alexey Rybakov@DataArt@GDGKharkiv-Center@[email protected]
https://developer.android.com/thingshttp://www.nxp.com/pip/IOT-DEV-PLATFORMS-I.MX6ULhttps://software.intel.com/en-us/iot/android-thingshttps://github.com/jgamblin/Mirai-Source-Code
Thank You!
![Page 28: Android Things, Alexey Rybakov, Technical Evangelist, DataArt](https://reader035.vdocuments.mx/reader035/viewer/2022062903/58ed8ada1a28ab1f0a8b4581/html5/thumbnails/28.jpg)
#gdg_kharkiv_center