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

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

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

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

所需的设备:

安装 Amazon Command Line Interface

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

如果您使用的是 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。

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

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

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

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

      AWS Access Key ID: your Access Key ID Amazon 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 擦除凭证,再为 Access Key ID(访问密钥 ID)和 Secret Access Key(秘密访问密钥)输入随机字符,防止您的 Amazon Web Services 账户 凭证遭盗用。

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

下载 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 Amazon 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 IoTDevice Client