在 NXP 设备上使用 Alexa Voice Service (AVS) Integration for Amazon IoT 的入门信息 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 NXP 设备上使用 Alexa Voice Service (AVS) Integration for Amazon IoT 的入门信息

NXP i.MX 106A 开发套件使您可以通过预配置的 NXP 账户预览 Alexa Voice Service (AVS) Integration for Amazon IoT。通过 NXP 账户试用功能之后,您需要自定义固件、应用程序源代码和随套件提供的 NXP 移动应用程序,以便使用您自己的账户。本主题将引导您完成通过预配置账户试用功能以及使用自己的账户自定义设备的步骤。

使用预配置的 NXP 账户预览 Alexa Voice Service (AVS) Integration for Amazon IoT

Prerequisites

若要执行这些步骤,您需要以下资源。

安装并启动开发工具包

  1. 激活设备套件。该套件附带一张信息载入入门卡。此卡包含激活套件及获取必要的软件包和参考设计文件的说明。软件包包含软件开发工具包源代码和配套的 Android 应用程序 (VoiceCompanionApp.apk)。如果您使用的是 iOS 设备,则必须向您当地的 NXP 代表请求对 TestFlight iOS 应用程序的访问权限。

    下载并解压软件包后,您会看到以下文件结构。

    
                            软件包包含名为 Amazon、DefaultBinaries、Drivers、MobileApplication、SDK 和 Tools 的工具包。其中还包含开发人员指南、迁移指南和用户指南。

    MobileApplication 文件夹包含 Android 移动应用程序。

    Tools 文件夹包含用于配置设备的脚本。

    您还可以找到以下文档:

    • NXP 开发人员指南中的 SLN-ALEXA-IOT-DG.pdf

    • NXP 迁移指南中的 SLN-ALEXA-IOT-MG.pdf

    • NXP 用户指南中的 SLN-ALEXA-IOT-UG.pdf

  2. 启动设备套件。该套件附带的 USB 分路器电缆具有电源和数据连接。

    1. 将两个 USB-A 连接均连接到计算机上。

    2. 将 USB-C 连接器连接到套件。您的配置类似于下图所示。

      
                                    将两个 USB-A 连接插入计算机。将单个 USB-A 连接插入设备套件。

    当电路板通电时,D1 LED 亮起并显示绿色。D2 LED(最靠近扬声器的灯)指示设备的状态。当设备打开时,该 LED 以多种颜色闪烁。在设备运行应用程序代码时,D2 LED 以黄色闪烁。设备初始化完成后,D2 LED 显示为橙色,表示它正在等待将 Wi-Fi 凭证添加到设备中。

    《NXP 用户指南》包含设备的物理控件的描述。

    
                            D2 LED 显示为橙色,表示它正在等待 Wi-Fi 凭证。
  3. 使用终端应用程序了解设备上的客户端应用程序的工作原理。您也可以使用它进行调试,确保设备处于正确状态。

    输入以下命令以开始使用应用程序:

    • help — 显示可用命令的列表。

    • enable_usb_log — 在设备上启用日志记录。这可以帮助您了解应用程序所执行的操作。

    • logs — 显示日志的最后几行。此时,日志应指示设备正在等待 Wi-Fi 凭证。

将设备连接到 Amazon IoT 和 Amazon Alexa

  1. 安装适当的移动应用程序。如果您使用的是 Android 设备,则可以在终端中使用 ADB 来安装 VoiceCompanionApp.apk 文件。如果您使用的是 iOS 设备,请使用 TestFlight 应用程序。

  2. 预配置 Wi-Fi 凭证。您可以使用配套移动应用程序或终端来预配置 Wi-Fi 凭证。

    1. 请按照以下步骤,使用移动应用程序来预配置 Wi-Fi 凭证。

      1. 当设备从其出厂的全新状态启动时,它会创建一个 Wi-Fi 接入点。打开配套移动应用程序,然后选择 WIFI PROVISION (WIFI 预配置) 以连接到此接入点。

      2. 从列表中选择一个网络。

      3. 输入您的密码,然后选择 Send (发送),将凭证传输到设备套件。

    2. 在终端应用程序中,输入以下命令。

      setup YourWiFiNetworkName YourWiFiNetworkPassword
    3. Enter

  3. 验证设备套件并连接到 Amazon IoT 和 Amazon Alexa。请确保您的移动设备和设备套件使用相同的 Wi-Fi 网络,以便两个设备可以通信。

    为此,请在移动应用程序中按 Discover (发现) 按钮。完成发现后,您会看到附近可用的设备套件序列号的列表。如果有多个可用设备,您可以在终端应用程序中输入 serial_number,确认套件的唯一序列号。

  4. 选择要使用的设备套件。移动应用程序使用“Login with Amazon”服务提示您输入 Amazon 用户凭证。设备套件开始将设备注册到 AVS。D2 LED 显示紫色,指示设备已开始注册。

    注意

    如果您的移动设备已安装了 Amazon 购物应用程序,则移动配套应用程序会自动使用登录购物应用程序的 Amazon 账户。

在您登录 Amazon 账户后,配套应用程序将执行以下步骤:

  1. 设备套件从“Login with Amazon”服务接收访问令牌,并开始将设备连接到 Amazon IoT 和 AVS。此时移动应用程序会显示完成百分比。设备上的 D2 LED 显示橙色。

  2. D1 LED 每 500 毫秒以绿色闪烁一次,直至设备连接到 Amazon IoT。

  3. 当设备连接到时 Amazon IoT 时,设备套件开始将设备连接到 AVS。D1 LED 指示灯每 250 毫秒以绿色闪烁一次。

  4. 当设备连接到 AVS 时,在移动应用程序中,设备套件序列号的颜色变为黄色。移动应用程序显示 Complete (完成) 消息。D1 LED 关闭,设备播放铃声。设备现已连接到 NXP 的 Amazon IoT 账户。

您可以尝试几个 Alexa 语音命令,例如以下示例:

  • “Alexa, what's the weather like?”

  • “Alexa, play a news briefing.”

  • “Alexa, play music.”

使用您的 Amazon 和 Alexa Voice Service 开发人员账户设置 AVS for Amazon IoT。

Prerequisites

对于此流程,您需要以下资源。

配置您的 Amazon IoT 账户并预配置设备

  1. 生成对 Amazon IoT 进行身份验证的凭证。所有设备都必须已在固件中安装设备证书、私有密钥和根 CA 证书,以便与 Amazon IoT 通信。按照在注册表中注册设备的说明,将设备注册到 Amazon IoT。有关 X.509 证书的更多信息,请参阅X.509 客户端证书

  2. 导航到根文件夹并打开《NXP 开发人员指南》。按照“第 9 部分(文件系统)”中的说明,将您的客户端证书和密钥转换为 NXP 文件系统可以读取的二进制格式。

    使用以下脚本和命令转换证书和密钥。bin_dump.py 脚本位于 Tools\Ivaldi.zip\Scripts\sln_alexa_iot_utils 文件夹中。

    python3 bin_dump.py CertificateName-certificate.pem.crt CertificateName-certificate.pem.crt.bin
    python3 bin_dump.py CertificateName-private.pem.key CertificateName-private.pem.key.bin

有关为生产设备大量生成凭证的信息,请参阅设备预置

在 Alexa Voice Service 开发人员控制台中设置设备

  1. 导航到根文件夹并打开 NXP 迁移指南。

  2. 要获取创建 AVS API 密钥所需的 MD5 和 SHA256 签名,请按照“第 2 节. 为 Android AVS 配套应用程序创建密钥库 ”(见 NXP 迁移指南)中的说明操作。(这包括导航到 Alexa Voice Service 开发人员控制台。)

  3. 要创建 Login with Amazon 安全配置文件和创建 AVS 产品,请按照 NXP 迁移指南 中“第 3 节”的说明操作。

重新生成 Android 移动应用程序

  1. 在 Android Studio 中打开 VoiceCompanionApp 项目。VoiceCompanionApp.apk 文件包括在 NXP 软件包中。

  2. 在 Android Studio 中,将您在上一流程中生成的 API 密钥添加到 asset(资产)文件夹的 api_key.txt 文件中。这会将配套移动应用程序与 AVS 安全配置文件同步。当您使用“Login with Amazon”服务登录时,应用程序使用 API 密钥。当应用程序从 Amazon 获取授权代码时,它会将代码传输到设备固件。然后,设备从“Login with Amazon”服务获取访问权限和刷新令牌,以呼叫 AVS。

  3. 在 Android Studio 中,选择 Build Project (构建项目)Generate a Signed Bundle/APK (生成签名包/APK)。有关更多信息,请参阅“第 4 节. 构建和生成移动应用程序”部分(见 NXP 迁移指南)。有关以这种方式授权 Alexa 的更多信息,请参阅从配套应用程序授权 (Android/iOS)

  4. 将更新后的移动应用程序安装到您的移动设备。在 Mac 计算机上设置 ADB,并使用终端控制台将更新的 Android APK 文件安装到手机上。如果您已安装了移动应用程序以使用预配置的 NXP 账户来预览 AVS for Amazon IoT 服务,则必须卸载并重新安装该应用程序。

使用您的 Amazon 凭证更新客户端应用程序

  1. 按照 NXP 开发人员指南的“第 3 节”和“第 4 节”中的说明,对 Segger J-Link 驱动程序进行必要的修改。这些说明还解释了如何使用 MCUXPresso IDE 导入 Bootloaderais_demobootstrap 项目。

  2. 请按照“第 7 节. RT106A 固件更改”(见 NXP 迁移指南)中的说明,更新源代码并重新生成应用程序。我们建议您使用 MCUXPresso v10.3.1。

    这些源代码更改使设备固件能够与您的 Amazon Web Services 账户 和 AVS 产品(而不是默认 NXP 账户)通信。

设置并将您的设备连接到 Amazon IoT 和 Amazon Alexa

  1. 将设备重置为出厂默认值。如果您使用预配置的 NXP 账户预览了 AVS for Amazon IoT 服务,则必须重置设备固件,然后使用配套移动应用程序重新登录。这可确保移动应用程序和设备使用您的安全配置文件。请确保设备已连接到计算机。按 SW1 10 秒钟以启动出厂设置重置。

    NXP 软件包自带的 NXP 用户指南 包含设备物理控制的描述。

  2. 重新编程固件以使用您为设备生成的证书和密钥。将密钥和证书添加到您在上一流程中创建的更新后的 BootstrapAis_demo 二进制文件中。我们还建议使用默认的 Intelligent toolboxapp_crtCA_crt 二进制文件对固件重新编程。

    有关说明,请参阅“第 5 节. 构建和编程”(见 NXP 开发人员指南)。

  3. 按照前文将设备连接到 Amazon 和 Amazon Alexa 流程中的说明操作。这可让您使用自己的安全配置文件和凭证连接到 AVS for Amazon IoT。