RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Module | Artifact Name | Purpose | Location | Owned by |
---|---|---|---|---|
AVS SDK | wpe-alexa-lib.bb | Build support for AVS Device SDK | CMF Hosted | RDKM |
avs-device-sdk | Source code for AVS Device SDK | https://github.com/aws/aws-sdk-cpp | Amazon | |
RDK Skill Mapper | skillmapper.bb | Build support for skill mapper module | CMF Hosted | RDKM |
alexa_skill_mapper | RDK component to:
| CMF Hosted | RDKM | |
AWS SDK | aws-cpp-sdk.bb | Build support for AWS CPP SDK module | CMF Hosted | RDKM |
aws-cpp-sdk | Provides APIS to integrate AWS services such as SQS, Lambda, cognito etc. to RDK client devices. | https://github.com/aws/aws-sdk-cpp | Amazon | |
KWD Detector | pryonlite_2.3.0.bb | Build support for Amazon KWD engine. | CMF Hosted | RDKM |
PryonLite pre-built library | Provides a Wake Word Engine that can be used with the Alexa plugin. This is useful for devices with far-field/microphone. | Distributed by Amazon | Amazon | |
AVS Plugin | wpeframework-plugins.bb | Build support for the Amazon voice thunder plugin | Hosted in rdkcentral GitHub | RDKM |
AVS plugin | Amazon voice thunder plugin for Alexa service, uses AVS SDK & smart screen SDK APIS as part of the implementation | Hosted in Metrological GitHub | Metrological | |
Lambda Demo code | lambda-code.zip | Reference implementation for receiving video skill directives from alexa and routing it to the RDK device. Uses lambda & SQS services. | Distributed by Amazon | Amazon |
...
Integrating Alexa Video Skill Kit with RDK
Alexa related recipes are bundled inside meta-rdk-voice/recipes-avs and contains below build targets
...
The build instructions are mentioned by taking RaspberryPi as an example but should be almost similar for other platforms.
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. Enable the below DISTRO feature to build AVS plugin
$ vi meta-rdk-voice/conf/layer.conf
- enable the below commented line
#DISTRO_FEATURES_append = " alexa-plugin"
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. To use pryon lite KWD engine (source code need to be obtained from amazon separately)
a. Set the KWD support flag to "ON" in meta-rdk-voice/recipes-wpe/wpeframework/include/avs.inc
b. include the KWD detector recipe to build.
- enable the commented line
#PREFERRED_PROVIDER_virtual/alexa-kwd-detector = "pryonlite"
# Please follow the steps mentioned in section #3.2 to enable USB audio kernel parameters (Not required for RaspberryPI).
5. Optionally For the external source builds (such as some Broadcom platforms) add below line in manifest/auto.conf
- In <Manifest>.xml
<project name="components/generic/avs/alexa_skill_mapper" revision="rdk-next"/>
- In auto.conf (where brcmexternalsrc is enabled)
BRCMEXTERNALSRC_pn-wpe-alexa += "components/generic/avs/alexa_skill_mapper"
SRCPV_pn-wpe-alexa = "${BRCMEXTERNAL-SRCPV-CMF}"
$ repo sync
6 .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 |
...
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" # Please follow the steps mentioned in section #3.2 to enable USB audio kernel parameters (Not required for RaspberryPI). 5. Optionally For the external source builds (such as some Broadcom platforms) add below line in manifest/auto.conf - In <Manifest>.xml <project name="components/generic/avs/alexa_skill_mapper" revision="rdk-next"/> - In auto.conf (where brcmexternalsrc is enabled) BRCMEXTERNALSRC_pn-wpe-alexa += "components/generic/avs/alexa_skill_mapper:git/VoiceToApps" SRCPV_pn-wpe-alexa = "${BRCMEXTERNAL-SRCPV-CMF}" $ repo sync 6 .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 |
...
We can check the authorization code using below command:
$ systemctl status alexa
$ tail -f /opt/logs/wpeframework.log
We will be able to see a message similar to below format. Note the code that appears in console window, this will be required while authorizing with developer account.
...
Feature | Status |
---|---|
Context specific functionalities | In progress |
Multi room Music | Open |
Integration with other Alexa products | OpenCompleted |
Smart Screen integration | OpenIn Progress |