Skip to content

MontaVista-OpenSourceTechnology/alexa-auto-sdk

 
 

Repository files navigation

Get Started with the Alexa Auto SDK

The Alexa Auto SDK contains essential client-side software required to integrate Alexa into the automobile. It is modular and abstract, providing a runtime engine for communicating with the Alexa service as well as interfaces that allow you to implement platform-specific behavior such as audio input, media playback, template and state rendering, phone control, and navigation. The Auto SDK also includes two sample applications (one for C++ and one for Android) that demonstrate how to use the Auto SDK interfaces and allow you to test interactions before integration.

To get started with the Auto SDK, follow these basic steps:

Important! You need to register for an Amazon Developer Account and create an Alexa device and security profile to use the Alexa Auto SDK.

  1. Clone the alexa-auto-sdk repository into your project and build the Auto SDK package.

  2. Install the built package on your target hardware.

  3. Create and configure an instance of the Engine. For details, see the C++ or Android Core module documentation.

  4. Extend the Auto SDK interfaces by creating a custom handler for each interface that you want to implement and registering the handler with the Engine. The Auto SDK modules provide platform interfaces and runtime Engine support for a variety of different capabilities:

    • Core (for C++ or Android) - enables you to implement core features such as system audio input and output integration,logging, location, and network information. The services are used by components in other modules and are required by the Alexa Auto SDK.
    • Alexa (for C++ or Android) - enables you to implement Alexa features, including speech input and output, Alexa audio playback management, authorization, equalizer control, template and state rendering, local media sources, alerts, notifications, and Do Not Disturb (DND)).
    • Navigation (for C++ or Android) - enables Alexa to interface with the onboard navigation system.
    • Phone Call Controller (for C++ or Android) - enables Alexa to interface with the onboard telephony system.
    • Address Book (for C++ or Android) - enables you to augment the communications and navigation capabilities of Alexa with user data such as phone contacts and/or navigation favorites
    • CBL (for C++ or Android) - enables you to implement the Code-Based Linking (CBL) mechanism of acquiring Login with Amazon (LWA) access tokens.
    • Alexa Presentation Language (APL) (for C++ or Android) - enables your application to support APL directives and events for devices with graphical user interface (GUI) support.
    • Car Control (for C++ or Android) - enables your application to build a custom vehicle-control experience that allows the user to voice-control vehicle features using Alexa.
  5. Start the Engine using the start() command.

  6. Use the Sample App (C++ or Android) to see how the Auto SDK works and to test end-to-end functionality.

Additional functionality (for example, AmazonLite Wake Word, Alexa Communications, Local Voice Control (LVC), Device Client Metrics (DCM), and Voice Chrome for Android) is available with help from your Amazon Solutions Architect (SA) or Partner Manager.

Release Notes and Known Issues

For a summary of feature enhancements, updates, and resolved and known issues, see the the Auto SDK Change Log.

Note: Android Sample App, C++ Sample App, and Automotive Grade Linux (AGL) Alexa Voice Agent release notes are provided in their respective READMEs.

Migration Guide

For guidelines on migrating Auto SDK versions, see the Migration Guide.

Learn More

For Auto SDK API documentation, see the interface reference documentation:

For UX design requirements, recommendations, and best practices, see the Alexa Automotive design documentation.

About

The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 83.0%
  • Java 9.1%
  • C 3.6%
  • CMake 2.8%
  • Shell 0.8%
  • BitBake 0.3%
  • Other 0.4%