alexa-skills

Alexa Auto SDK brings an amazing experience for customers by adding automotive-specific functionality and contextualizing the experience for the vehicle. Alexa Auto SDK is a great help for developers, to let Alexa users carry Alexa with them on the go. Now, it is possible in select vehicles and some in-vehicle devices for Alexa to do various things leveraging Alexa app and skill development.

Why Alexa?

This is why!! With Alexa Auto SDK you can play your playlists from Amazon music, read books, ask Alexa about traffic conditions, stock prices, news headlines and find a location as well as get directions to that place, basically anything that you need to be updated about, entertained by or guided about can be done by Alexa inside your vehicle now!

Components

For enabling the vehicle to process audio inputs and triggers, establishing a connection with the Alexa service and handling all Alexa interactions the SDK has included source code and function libraries in Java and C++. Now let’s dig deeper to see what are the components include in Alexa Auto SDK that makes it so efficient. So the components are as follows:

Builder

This directory is the one where the developers can find scripts to build modules for a fair number of hardware targets.

Module

The Alexa Auto SDK interfaces and source code which govern the Alexa voice integration, core functionality, navigation and phone control are part of this directory.

Alexa Sample App

This is an Android sample app that has used the Alexa Auto SDK to exhibit end-to-end functionality.

Build Requirements and building the Alexa Auto SDK

The Alexa Auto SDK can be build on either a Linux or Unix or macOS host, still running a Docker environment is recommended, with the following configuration:

  • macOS Sierra or Ubuntu 16.04 LTS
  • Processor: 2.5 GHz
  • Memory: 16 Gb
  • Storage: 1 Gb+ available to use

To build the Alexa Auto SDK the hosts which are recommended and tested are Ubuntu 16.04 or macOS Sierra. The platforms which support the Alexa Auto SDK are Android ARM 32-bit, Android ARM 64-bit (using 32-bit build), Android x86 and QNX ARM 64-bit.

Alexa Auto SDK Architecture

The idea of Alexa Auto SDK was to serve Auto in-cabin experience through Alexa. The runtime support is provided to Alexa and other services by the Alexa Auto SDK. This platform specific behaviour is abstracted into “Platform Interfaces” in Alexa Auto, which are to be extended in the application and registered with the Engine.

aac_architecture

Reference: https://github.com/alexa/aac-sdk/blob/1.0/assets/aac_architecture.png

Alexa Auto SDK Engine

Alexa Auto SDK software components building for a number of target platform is achieved using a collection of software contained in this directory.

Engine is the run time implementation of Alexa Auto SDK. There are various services that are responsible for hundreds of kinds of Alexa skills, offered by the Modules that extend the Engine by defining runtime behaviour for the interfaces that applications register. The communication between the Engine and the application software is carried out through the Platform Interfaces’ defined API.

Core Module

For Core features in the Alexa Auto SDK, such as logging, network information, and location this module contains Platform Interfaces as well as the runtime Engine support. The Alexa Automotive SDK and the components in other modules require these services.

We can sum up this module into the following steps:

  • Creating the Engine
  • Configuring the Engine
  • Registering Platform Interface Handlers
  • Start the Engine : Extending the default Platform Implementation, like implementing LocationProvider, NetworkInfoProvider and LogEvents.
    The implementation of various providers here are responsible for providing callback to their respective requests from Alexa and providing the information.

Alexa Module

For Alexa features in Auto Alexa SDK, runtime Engine support is provided by the Alexa Module, along with including the necessary Platform Interfaces. This module includes support for

  • audio input which is a user’s request to Alexa, like “Alexa, lock my door”
  • template and state rendering where in Alexa is made capable to identify the request and render the following template at the required state to respond to any user request.
  • media playback, and much more. Alexa can play songs, read books, give information about the traffic, news headlines and much more through Alexa module of Amazon Alexa Auto SDK.

The support is provided through accomplishing the following:

  • Request Wake Word
  • Handling Alexa state changes and playback controller events
  • Handling speech input and output
  • Handling speech Handling audio player output
  • Handling notifications and alerts
  • Handling media and volume
  • Handling GUI templates (display cards)

Navigation Module and Phone Control Module

For Alexa to interface with the onboard navigation and telephony system, runtime Engine support is provided by the Navigation and Phone Control Module, along with including the necessary Platform Interfaces.

Navigation : To interface with the navigation capabilities of Alexa, like, “Alexa, take me home” would find the location of your home and seamlessly hand it over to the navigation system, features required are provided by the Alexa Auto SDK Navigation API.

Phone Control Module : To interface with the phone call controller capabilities of Alexa, the features required by are provided by the Alexa Auto SDK Phone Call Controller API. The phone call controller directives from Alexa are handled by the callbacks provided by the Engine. When user asks, “Alexa, call” or “Alexa, answer”, the lifecycle and user experience of a call session as well as setting up a connection to a calling device is to be done by the platform implementation.

Final Say on Amazon Alexa Auto SDK

Alexa Auto SDK is a huge help for all the developers to offer the customers a pleasant experience by offering various services.

alexa-skills
The fact that you can read a book or listen to some great music in the car without even using hands is amusing enough for me, so the list of things Alexa Auto SDK is far more above the bar and it’s simply amazing in the hustle and bustle of the world.

How Let’s Nurture can help to develop Alexa Skills?

Let’s Nurture, a leading IT company known for custom IoT development in India has got the expertise in providing many solutions based on Amazon Alexa skill development, also using Multilingual language. Based on Multilingual Alexa skill development, we at Let’s Nurture can provide solutions for people, knowing only one or native language.

If you want to know more about Alexa skill development or want to implement this technology in your existing Alexa skill, get a free consultation from our experts at Let’s Nurture in order to hire Alexa skill developers at affordable price.

Want to work with us? We're hiring!