Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Platform status

PlatformBuild supportPush-to-talkHands Free

Wake-Word-Engine

(Supported)

Alert SoundsLEDGeneral SkillRDK Specific Skill
RaspberryPiCompleteT4H BLE RCUUSB MICKitt.AiAvailable

Traffic Light LED

IntegratedIntegrated

Video accelerator

(VIP5202w)

CompleteT4H BLE RCUN/ANot requiredAvailableOnboardIntegratedIntegrated

Feature List

FeatureHandlerHow to?
General skillsAlexaAudio will be played for generic skills such as time, news and weather
YoutubeAlexa → CobaltVoice command will be routed to thunder
App LaunchAlexa → UXVoice command will be routed to thunder
Google searchAlexa → UXInteractive command handled by Alexa and routed to thunder
Player controlsAlexa → AppPlay/pause/back commands routed to app

Build instructions

Alexa related recipes are bundled inside meta-rdk-voice/recipes-avs and contains below build targets

RecipeFunctionalityCurrent status
openblasRecipe required in case of Wake-word-engine mode is selected.CMF Hosted
wpe-alexa.bbMain recipe for downloading the AVS SDK and its compilation, linking it with RDK skill mapping module.CMF hosted


Code Block
1. Initialize and download the code base
 - Example for RaspberryPi:
 $ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv-nosrc.xml -b thunder-next
 $ repo sync

2. Download the meta-rdk-voice layer in project root
 $ git clone https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-voice

3. Add to BBLAYERS
 $ vi meta-rdk/conf/bblayers.conf.sample
 BBLAYERS += "${@'${RDKROOT}/meta-rdk-voice' if os.path.isfile('${RDKROOT}/meta-rdk-voice/conf/layer.conf') else ''}"

4. Optionally if wanted to use MIC based implementation (Ignore if using BLE voice remote)
 $ vi meta-rdk-voice/conf/layer.conf
 - enable the below commented line
 #DISTRO_FEATURES_append = " alexa_ffv"

5.Build the image target
 - Example for RaspberryPi
 $ source meta-cmf-raspberrypi/setup-environment
 ### select meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid-thunder.conf ###
 $ bitbake rdk-generic-hybrid-thunder-image

Customization

Mapping to amazon developer account

Please refer the wiki link AVS Developer Account and Skill Creation Guidelines for RDK for creating a developer account.

Modify below section to map with relevant developer account.

Code Block
1. Login to the device
 $ ssh root@<RDKV-Client-IP>

2. Edit the Configuration file
 $ cd /home/root
 $ vi Alexa_SDK/Integration/AlexaClientSDKConfig.json
     "deviceInfo":{
        // Unique device serial number. e.g. 123456
        "deviceSerialNumber":"<SERIAL_NO>",
        // The Client ID of the Product from developer.amazon.com
        "clientId":"<CLIENT_ID>",
        // Product ID from developer.amazon.com
        "productId":"<PRODUCT_ID>",
        // The name of the device manufacturer.
        "manufacturerName": "<MANUFACTURER_NAME>",
        // The description of the device which should contain the manufacturer name or how the device is connected.
        "description": "<DESCRIPTION"
    },

LED Support

Prerequisite : Alexa Client uses IOConnector plugin to set different LED notifications, so IOConnector need to be enabled for the platform

https://github.com/rdkcentral/ThunderNanoServices/tree/master/IOConnector

Code Block
$ cd /home/root
$ vi Alexa_SDK/Integration/AlexaCurl.json
Set below GPIO to appropriate value
   "PinOne":"115",
   "PinTwo":"122",
   "PinThree":"115"

Architecture & Flow diagram

Advantages

  • Configurable to support different device profiles (FFV, Push-to-talk).
  • Most of the new skills can be dynamically added without modifying the client code.

Scope of improvement

FeatureStatus
Context specific functionalitiesIn progress
Multi room MusicOpen
Integration with other Alexa productsOpen
Smart Screen integrationOpen