步骤 3:测试您的设备并保存 Amazon CA 证书 - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 3:测试您的设备并保存 Amazon CA 证书

本节中的过程从上一节继续,来安装AWS Command Line Interface以及用于验证您的连接的证书颁发机构证书 AWS IoT Core。

完成本节后,您会了解 Raspberry Pi 拥有必要的系统软件来安装 AWS IoTDevice Client 并与互联网有工作连接。

所需的设备:

安装 AWS Command Line Interface

此过程在您的 Raspberry Pi 安装AWS CLI。

如果您使用的是 Raspberry Pi 或者可以在 IoT 设备上编译软件,请在本地主机上的终端窗口中执行以下步骤。如果必须在本地主机上为 IoT 设备编译软件,请查看 IoT 设备的软件文档,了解所需库的信息。

要在 Raspberry Pi 上安装 AWS CLI
  1. 运行以下命令下载和并按照安装 AWS CLI。

    export PATH=$PATH:~/.local/bin # configures the path to include the directory with the AWS CLI git clone https://github.com/aws/aws-cli.git # download the AWS CLI code from GitHub cd aws-cli && git checkout v2 # go to the directory with the repo and checkout version 2 pip3 install -r requirements.txt # install the prerequisite software
  2. 运行此命令安装 AWS CLI。完成此命令可能最多需要 15 分钟。

    pip3 install . # install the AWS CLI
  3. 运行此命令确认已安装的 AWS CLI版本正确。

    aws --version

    AWS CLI 版本应为 2.2或更高版本。

如果 AWS CLI显示其当前版本,您已准备就绪,可以继续 配置 AWS 账户凭证

配置 AWS 账户凭证

在此过程中,您将获得 AWS 账户凭据并添加它们在 Raspberry Pi 上使用。

要在您的设备上添加 AWS 账户凭据
  1. 从获取访问密钥ID机密访问密钥,从您的 AWS 账户验证设备上的 AWS CLI。

    如果您是首次使用 AWSIAM, https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/ 描述在 AWS控制台中运行创建要在设备上使用的 AWSIAM 凭据的过程。

  2. 在连接到 Raspberry Pi 的本地主机上的终端窗口中。并使用设备的访问密钥 ID密钥访问密钥凭据:

    1. 使用此命令运行 AWS配置应用程序。

      aws configure
    2. 出现提示时输入您的凭据和配置信息:

      AWS Access Key ID: your Access Key ID AWS Secret Access Key: your Secret Access Key Default region name: your AWS 区域 code Default output format: json
  3. 运行此命令测试设备对 AWS 账户和 AWS IoT Core端点的访问。

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    应返回您 AWS 账户特定的AWS IoT数据端点,例如此示例:

    { "endpointAddress": "a3EXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }

如果看见您 AWS 账户特定的AWS IoT数据端点,您的 Raspberry Pi 拥有连接和权限,可以继续 下载 Amazon Root CA 证书

重要

现在,您的 AWS 账户凭据存储在 Raspberry Pi 的 microSD 卡上。尽管这样您会轻松使用 AWS在这些教程中创建的软件交互,但预设情况下,它们也将保存并复制到您在此步骤之后制作的任何 microSD 卡映像中。

为了保护 AWS 账户 凭证的安全,在保存任何其他 microSD 卡映像之前,请考虑通过再次运行 aws configure 来擦除凭证,再为 Access Key ID(访问密钥 ID)和 Secret Access Key(秘密访问密钥)输入随机字符,防止您的 AWS 账户 凭证遭盗用。

如果您发现无意中保存了 AWS 账户凭据,可以在 AWSIAM 控制台中停用它们。

下载 Amazon Root CA 证书

此过程下载并保存 Amazon Root 证书颁发机构(CA)的证书副本。下载此证书可保存以供后续教程中使用,还可测试设备与 AWS服务的连接。

要下载并保存 Amazon Root CA 证书
  1. 运行以下命令为证书创建一个目录。

    mkdir ~/certs
  2. 运行此命令下载 Amazon Root CA 证书。

    curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
  3. 运行这些命令设置对证书目录及其文件的访问权限。

    chmod 745 ~ chmod 700 ~/certs chmod 644 ~/certs/AmazonRootCA1.pem
  4. 运行此命令查看新目录中的 CA 证书文件。

    ls -l ~/certs

    您会看到如下条目。日期和时间会有所不同;但是,文件大小和所有其他信息应与此处显示的相同。

    -rw-r--r-- 1 pi pi 1188 Oct 28 13:02 AmazonRootCA1.pem

    如果文件大小不是 1188,检查 curl命令参数。您可能下载了错误的文件。

(可选)保存 microSD 卡映像

此时,Raspberry Pi 的 microSD 卡具有更新的操作系统和基本的应用程序软件加载。

要将 microSD 卡映像保存到文件中
  1. 在本地主机上的终端窗口中,清除 AWS凭证。

    1. 使用此命令运行 AWS配置应用程序。

      aws configure
    2. 出现提示时,替换凭证。您可以离开原定设置区域名称原定设置输出格式,因为它们是通过按Enter(输入)。

      AWS Access Key ID [****************YT2H]: XYXYXYXYX AWS Secret Access Key [****************9plH]: XYXYXYXYX Default region name [us-west-2]: Default output format [json]:
  2. 输入此命令关闭 Raspberry Pi。

    sudo shutdown -h 0
  3. Raspberry Pi 完全关闭后,卸下其电源接头。

  4. 从设备中取出 microSD 卡。

  5. 在本地主机上:

    1. 插入 microSD 卡。

    2. 使用 SD 卡成像工具,将 microSD 卡映像保存到文件中。

    3. 保存 microSD 卡映像后,从本地主机上弹出该卡。

  6. 从 Raspberry Pi 断开电源后,将 microSD 卡插入 Raspberry Pi。

  7. 对设备供电。

  8. 大约一分钟后,在本地主机上重新启动终端窗口会话并登录到设备。

    请勿重新输入 AWS 账户凭据。

重新启动并登录 Raspberry Pi 之后,您准备好继续教程:安装和配置 AWS IoTDevice Client