测试您的设备并保存 Amazon CA 证书
本节中的步骤从上一节继续,来安装 AWS Command Line Interface 以及用于验证您的连接的证书颁发机构证书 AWS IoT Core。
完成本节后,您会了解 Raspberry Pi 拥有必要的系统软件来安装 AWS IoT Device Client 并与互联网有工作连接。
安装 AWS Command Line Interface
此过程在您的 Raspberry Pi 安装 AWS CLI。
如果您使用的是 Raspberry Pi 或者可以在物联网设备上编译软件,请在本地主机上的终端窗口中执行以下步骤。如果必须在本地主机上为物联网设备编译软件,请查看物联网设备的软件文档,了解所需库的信息。
要在 Raspberry Pi 上安装 AWS CLI
-
运行以下命令下载和并按照安装 AWS CLI。
export PATH=$PATH:~/.local/bin# configures the path to include the directory with the AWS CLIgit clone https://github.com/aws/aws-cli.git# download the AWS CLI code from GitHubcd aws-cli && git checkout v2# go to the directory with the repo and checkout version 2pip3 install -r requirements.txt# install the prerequisite software -
运行此命令安装 AWS CLI。完成此命令可能最多需要 15 分钟。
pip3 install .# install the AWS CLI -
运行此命令确认已安装的 AWS CLI 版本正确。
aws --versionAWS CLI 版本应为 2.2或更高版本。
如果 AWS CLI 显示其当前版本,您已准备就绪,可以继续 配置 AWS 账户 凭证。
配置 AWS 账户 凭证
在此过程中,您将获得 AWS 账户 凭据并添加它们在 Raspberry Pi 上使用。
要在您的设备上添加 AWS 账户 凭据
-
从获取访问密钥ID 和秘密访问密钥,从您的 AWS 账户 验证设备上的 AWS CLI。
如果您是首次使用 AWSIAM, https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/
描述在 AWS 控制台中运行创建要在设备上使用的 AWS IAM 凭据的过程。 -
在连接到 Raspberry Pi 的本地主机上的终端窗口中。并使用设备的访问密钥 ID 和密钥访问密钥凭据:
-
使用此命令运行 AWS 配置应用程序。
aws configure -
出现提示时输入您的凭据和配置信息:
AWS Access Key ID:your Access Key IDAWS Secret Access Key:your Secret Access KeyDefault region name:your AWS 区域 codeDefault output format:json
-
-
运行此命令测试设备对 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 来擦除凭证,再为访问密钥 ID 和秘密访问密钥输入随机字符,防止您的 AWS 账户 凭证遭盗用。
如果您发现无意中保存了 AWS 账户 凭据,可以在 AWS IAM 控制台中停用它们。
下载 Amazon Root CA 证书
此过程下载并保存 Amazon Root 证书颁发机构(CA)的证书副本。下载此证书可保存以供后续教程中使用,还可测试设备与 AWS 服务的连接。
要下载并保存 Amazon Root CA 证书
-
运行以下命令为证书创建一个目录。
mkdir ~/certs -
运行此命令下载 Amazon Root CA 证书。
curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem -
运行这些命令设置对证书目录及其文件的访问权限。
chmod 745 ~ chmod 700 ~/certs chmod 644 ~/certs/AmazonRootCA1.pem -
运行此命令查看新目录中的 CA 证书文件。
ls -l ~/certs您会看到如下条目。日期和时间会有所不同;但是,文件大小和所有其他信息应与此处显示的相同。
-rw-r--r-- 1 pi pi 1188 Oct 28 13:02 AmazonRootCA1.pem如果文件大小不是
1188,检查 curl 命令参数。您可能下载了错误的文件。
(可选)保存 microSD 卡映像
此时,Raspberry Pi 的 microSD 卡具有更新的操作系统和基本的应用程序软件加载。
要将 microSD 卡映像保存到文件中
-
在本地主机上的终端窗口中,清除 AWS 凭证。
-
使用此命令运行 AWS 配置应用程序。
aws configure -
出现提示时,替换凭证。您可以离开原定设置区域名称和原定设置输出格式,因为它们是通过按Enter(输入)。
AWS Access Key ID [****************YT2H]:XYXYXYXYXAWS Secret Access Key [****************9plH]:XYXYXYXYXDefault region name [us-west-2]: Default output format [json]:
-
-
输入此命令关闭 Raspberry Pi。
sudo shutdown -h 0 -
Raspberry Pi 完全关闭后,卸下其电源接头。
-
从设备中取出 microSD 卡。
-
在本地主机上:
-
插入 microSD 卡。
-
使用 SD 卡成像工具,将 microSD 卡映像保存到文件中。
-
保存 microSD 卡的映像后,从本地主机上弹出该卡。
-
-
从 Raspberry Pi 断电后,将 microSD 卡插入 Raspberry Pi。
-
对设备供电。
-
大约一分钟后,在本地主机上重新启动终端窗口会话并登录到设备。
请勿重新输入 AWS 账户 凭据。
重新启动并登录 Raspberry Pi 之后,您准备好继续 教程:安装和配置 AWS IoT Device Client。