测试您的设备并保存 Amazon CA 证书 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

测试您的设备并保存 Amazon CA 证书

本节中的步骤从上一节继续,安装 Amazon Command Line Interface 和用于对连接进行身份验证的证书颁发机构证书 Amazon IoT Core。

完成本节后,您将知道您的 Raspberry Pi 拥有安装 Amazon IoT 设备客户端所需的系统软件,并且可以正常连接到互联网。

所需的设备:

安装 Amazon Command Line Interface

此过程将安装 Amazon CLI 到您的 Raspberry Pi 上。

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

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

    export PATH=$PATH:~/.local/bin # configures the path to include the directory with the Amazon CLI git clone https://github.com/aws/aws-cli.git # download the Amazon 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. 运行此命令安装 Amazon CLI。完成此命令可能最多需要 15 分钟。

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

    aws --version

    的版本 Amazon CLI 应为 2.2 或更高版本。

如果 Amazon CLI 显示的是当前版本,则表示您已准备好继续配置您的 Amazon Web Services 账户 证书

配置您的 Amazon Web Services 账户 证书

在此过程中,您将获取 Amazon Web Services 账户 凭证并将其添加到 Raspberry Pi 上使用。

将您的 Amazon Web Services 账户 凭证添加到您的设备
  1. 从您那里获取访问密钥 ID私有访问密钥 Amazon Web Services 账户 ,以便 Amazon CLI 在您的设备上对其进行身份验证。

    如果您不熟悉 Amazon IAM,Kn https://aws.amazon.com/premiumsupport/owledge-centercreate-access-key/将介绍在 Amazon 控制台中运行的创建要在设备上使用 Amazon 的 IAM 证书的过程。

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

    1. 使用以下命令运行 Amazon 配置应用程序:

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

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

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

    它应该返回您的 Amazon Web Services 账户特定 Amazon IoT 数据端点,例如以下示例:

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

如果您看到自己的 Amazon Web Services 账户特定 Amazon IoT 数据端点,则表示您的 Raspberry Pi 具有继续下载 Amazon Root CA 证书访问的连接和权限。

重要

你的 Amazon Web Services 账户 凭证现在存储在 Raspberry Pi 的 microSD 卡上。虽然这使你将来可以 Amazon 轻松地与你在这些教程中创建的软件进行交互,但默认情况下,它们也将被保存并复制到你在此步骤之后制作的任何 microSD 卡图像中。

为了保护 Amazon Web Services 账户 凭证的安全,在保存更多 microSD 卡映像之前,请考虑aws configure重新运行并输入访问密钥 ID 和私有访问密的随机字符来擦除凭证,以防止您的 Amazon Web Services 账户 凭据被泄露。

如果您发现自己无意中保存了 Amazon Web Services 账户 证书,则可以在 IAM 控制台中将其停用。 Amazon

下载 Amazon Root CA 证书

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

要下载并保存 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. 在本地主机上的终端窗口中,清除 Amazon 凭证。

    1. 使用以下命令运行 Amazon 配置应用程序:

      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. 大约一分钟后,在本地主机上重新启动终端窗口会话并登录到设备。

    暂时不要重新输入您的 Amazon Web Services 账户 凭证。

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