Android Auto PoC. October 21. 21- Oct-15. Maxim Ovchinnikov Architect Harman



Similar documents
Mentor Embedded IVI Solutions

AUTOMOTIVE BLUETOOTH TELEPHONY.

Harmonizing policy management with Murphy in GENIVI, AGL and TIZEN IVI

Application Framework: Apertis Hands-on

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

ANDROID AUTO TM TROUBLESHOOTING GUIDE CONNECTIONS DATA SIGNAL STRENGTH 1. NO/WEAK DATA SIGNALS

Intecs Roma - Pisa - Napoli - Milano - Torino - Cagliari - Genova L Aquila - Toulouse - Paris

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Development. SriSeshaa Technologies. Table of Contents

Radio R 4.0 IntelliLink Frequently Asked Questions

Grandstream Networks, Inc.

Android on i.mx Applications Processors

Grandstream Networks, Inc.

Infotainment and Telematics Solutions with Renesas R-Car Course ID: 0C18I

GENIVI FAQ. What is the GENIVI Alliance?

Android Application Development and Bluetooth Technology

FNC-1000 User Guide Table of Contents

Timo Müller NFC AND THE VEHICLE. TESTING THE LINUX NFC STACK. BMW Car IT GmbH

Introduction to Android

Here to take you beyond Mobile Application development using Android Course details

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Android 5.0: Lollipop OS

Game Design From Concepts To Implementation

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Adobe Connect and Zoom are web conferencing tools with many features. Google Hangouts and Skype are primarily for voice calling or text chat.

Messaging App UI Guidelines GOOGLE INC.

Android Architecture. Alexandra Harrison & Jake Saxton

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Blue&Me. Live life while you drive. What you can do: Introduction. What it consists of:

Technology.Transfer.Application.

HTML5 AUTOMOTIVE 2013 White Paper Series

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

Quick Guide for Using Beltone MFi Hearing Aids with your iphone

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

Beyond THE Blinky LED: Voice recognition, Face recognition and cloud connectivity for IOT Edge devices

Mobile Phones Operating Systems

Touch 2 Touch 2 with Go Touch 2 with Go Plus. Quick reference guide

WebRTC: Why You Should Care and How Avaya Can Help You. Joel Ezell Lead Architect, Collaboration Environment R&D

This guide describes features that are common to most models. Some features may not be available on your tablet.

Workshop on Android and Applications Development

Connecting With Lifesize Cloud

PART I: WELCOME TO THE WONDERFUL WORLD OF ACCESSORIES CHAPTER 1: INTRODUCTION TO ANDROID OPEN ACCESSORY 3

Smart Music Control Application CONTENTS. Smart Music Control Application. User Guide CONTENTS 1 GETTING STARTED 1 MEDIA PLAYER MODE 1

The Most Popular UI/Apps Framework For IVI on Linux

Zeenov Agora High Level Architecture

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Adobe Marketing Cloud Bloodhound for Mac 3.0

ANDROID OPERATING SYSTEM

Names of Parts. English. Mic. Record Button. Status Indicator Micro SD Card Slot Speaker Micro USB Port Strap Hook

Using Bluetooth on Android Platform for mhealth Development

Mobile Accessibility. Jan Richards Project Manager Inclusive Design Research Centre OCAD University

Session Manager Overview. Seattle IAUG Chapter Meeting

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

Connecting With Lifesize Cloud

CS378 -Mobile Computing. Android Overview and Android Development Environment

Leveraging the Android Accessory Protocol

Android Basics. Xin Yang

Enjoy Music over Your Wi-Fi Network

DCN multimedia Conference System Inform. Impress. Inspire.

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

FREQUENTLY ASKED QUESTIONS

8x8 Virtual Office Mobile User Guide for ios

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

Best Practices in Enterprise Smartphone Development

Make the green IP switch Low-energy semiconductor solutions for VoIP

Six ways to accelerate Android mobile application development

Teaching Embedded So0ware Concepts Using Android

Modeling the Mobile Application Development Lifecycle

Frequently Asked Questions about the Sound Blaster X7

Administrator s Guide for the Polycom Video Control Application (VCA)

Dell Wyse Cloud Connect discussion card

VMware End User Computing Horizon Suite

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

KODI MEDIA CENTER GUIDE

Introduction to Android Development. Jeff Avery CS349, Mar 2013

GROUPTALK FOR ANDROID VERSION for Android

SIP Protocol as a Communication Bus to Control Embedded Devices

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Creating and Using Databases for Android Applications

Cisco Interactive Experience Platform: Cisco Interactive Experience Manager

CELLS A Virtual Mobile Smartphone Architecture

Digital Asset Management Software & Brand Portal

Networked Music Performance(NMP)

The Wireless Revolution: Application Development for Pervasively Connected Environments

VoipSwitch softphones

Smart Music Control Application

VoIP support on Qtopia. Vladimir Minenko, Ph.D.

Using Mobile Processors for Cost Effective Live Video Streaming to the Internet

01. Introduction of Android

Developing apps for Android Auto

ANDROID LEVERED DATA MONITORING ROBOT

SmartWatch Eco/Eco Compact

FAQ OLYMPUS DICTATION SMARTPHONE APPLICATION

An Introduction to OSVR

"It's a Phone First! How to Test Your Five-star Mobile Apps"

Basic Features. In the Phone application. Making a call. Answer or divert calls

Entertain. Inform. Succeed. SAMSUNG SMART SIGNAGE TV RHE AND RMD SERIES

JABRA SPORT Pulse wireless

Building consumer products with open source

Client Overview. Engagement Situation

Transcription:

Android Auto PoC October 2 Maxim Ovchinnikov Architect Harman 2- Oct-5 This work is licensed under a Creative Commons Attribution-Share Alike 4.0 (CC BY-SA 4.0)

Purpose of this PoC The purpose of this project was to integrate the Android Auto Projection (aka AAP or AA) stack into the GENIVI development platform (GDP).

Why Projection? We live in connected world and people want to stay connected while they are driving One of the solutions is a projection from a connected device Projection is secure. It is ready to be used immediately. No setup, no profiles creations.

Android Auto Android Auto is an app that integrates with your car to make it easier for you to use some of the main features of your Android phone while driving. You can control things like navigation, music, and your phone's dialer from your car's digital display so you can stay focused on the road. Use of Android Auto requires licensing agreement with Google. Please work with your Google Technical Area Manager (TAM) to secure appropriate licensing agreement.

Hardware setup

System breakdown

Data flow

Internal architecture USB server connects to AA phone over AOAP protocol (on top of USB), exchanges the raw data with Sink layer Sink acts as a proxy server between GDP and AA phone. Google proprietary Receiver Library simplifies communication between sink and sources. AA application outputs the data (video, audio, navigation etc.) to the user and sends input data (touch, keys, voice) down the stack to the phone. Application is a QT based

Implementation: usb-server Responsible for initializing USB connection Listens to libusb events for detecting phone connect USB reading & writing Starts up the sink if it an Android Auto phone Main point of interaction during startup for the system

Implementation: sink Responsible for starting up audio sinks for: - Navigation - Music - System audio Starts up audio source for microphone Starts up video sink, which displays video data from the phone (the phone's display ) Starts up input sources: - Touchscreen input (rotary controller, d-pad etc.) Starts up Bluetooth endpoint Communicates with the usb-server using pipes

Implementation: media-server Qt/QML app, theoretically enabling addition of UI elements/overlays Qt enables easy-to-use touch input Used for both audio and video - h.264 for video (Gstreamer pipeline) - AAC for audio (Gstreamer pipeline), or PCM for audio (Raw PulseAudio input) Integrates with Audio and Video Focus Manager Communicates with the sink using a named pipe

Implementation: media-server-mic Started for each recording session Records PCM data from PulseAudio Communicates with sink using pipes

Implementation: Audio Focus Mgr. Was created for testing but this should be a system service Responsible for keeping track of the app currently holding audio focus Informs apps on loss/gain of audio focus Supports different kinds of audio focus, such as: - Transient focus (focus will be held for a short amount of time) - Media focus (potentially held for a longer amount of time) - Focus which may be ducked (other apps may cause us to lower our volume) Each application has a different priority level and type, used for prioritization Could potentially be used as a controller plug-in for Audio Manager

Implementation: Video Focus Mgr. Was created for testing but this should be a system service Keeps track of the app currently holding video focus Interfaced over D-Bus Only has two states; focused or not focused Should be replaced/integrated in to UI framework

Implementation: BlueZ pairing agent Was created for testing but this should be a system service Launched upon starting Bluetooth communication Called by BlueZ to verify Android Auto phone Bluetooth connection Fulfills the BlueZ interface for pairing agents

Implementation: Licensing Components developed during this project: - Open source, most likely under the MPL v.2 Low-level protocol components developed by Google - Closed source, only available to Open Automotive Alliance members Instructions for combining the two will be available, and dropping the closed component in to the open source code will be made as easy as possible

Implementation: Next steps Proper integration in to the GDP - Currently, we use a new layer (meta-genivi-aa-demo), extending meta-genivi-demo - We use a custom image (meta-genivi-aa-platform), which extends meta-genivi-demo - Most (all?) things already compatible with the GDP, as it was used as a base - Integration is mostly a question of maintaining uniformity within the GDP Discussions will follow with GDP maintainers Possibly, the layer will be converted in to a package group

Testing Performed first step in AA licensing process Projected Compatibility Test Suite (PCTS) Created 3 simple test applications (Launcher, Phone and Media) and Audio and Video Focus Managers to pass the most part of PCTS testing. PCTS navigation and sensors tests were skipped.

Code publishing All code except Google Receiver Library will be available to download after Google will review and approve it. It was approved once but due to delay with signing the ELA this must be done again! Open Automotive Alliance Members who have access to Receiver Library can download it from Google repository, integrate into PoC in order to build it.

Design Challenges Voice call doesn t work no telephony audio, SCO protocol is not working correctly No applications for PCTS testing in GDP 7. No audio focus manager is in the platform. Microphone works with external audio card only

Questions?