AWS IoT Greengrass 入门-模块2:安装AWS IoT Greengrass 核心软件
在 AWS IoT 上配置 AWS IoT Greengrass
-
在您的计算机上登录 AWS 管理控制台 并打开(AWS IoT)控制台。如果没有(AWS)账户,自行注册:学生注册地址。
在页面最下方,找到(IoT Greengrass),并打开:
-
在 Welcome to AWS IoT Greengrass (欢迎使用 AWS IoT Greengrass) 页面上,选择 Create a Group (创建组)。
(AWS IoT Greengrass) 组包含设置和有关其组件的其他信息,如设备、(Lambda) 函数和连接器。组可定义其各个组件的相互交互的方式。
提示
有关使用 (AWS IoT Greengrass API) 来创建和部署组的示例,请参阅(GitHub)中的 gg_group_setup 程序包。
-
如果出现提示,则在 ((Greengrass) 需要访问其他服务的权限) 对话框中,选择 (授予权限) 以允许控制台为您创建或配置 (Greengrass) 服务角色。服务角色授权 (AWS IoT Greengrass) 代表您访问其他 (AWS) 服务。需要此角色,部署才能成功。
-
在 (设置您的 (Greengrass) 组) 页面上,选择 (使用简单创建方式) 以创建一个组和一个(AWS IoT Greengrass) 核心。
每个组需要一个核心,而核心是一个管理本地 (IoT) 进程的设备。核心需要一个允许它访问 (AWS IoT) 的证书和相应密钥以及一个允许它执行 (AWS IoT) 和 (AWS IoT Greengrass)操作的 (AWS IoT) 策略。当您选择 (使用简单创建方式) 选项时,这些安全资源是为您创建的,并且核心是在 (AWS IoT) 注册表中预配置的。
-
输入组的名称(例如
FirstGroup
),然后选择(下一步)。 -
使用 (AWS IoT Greengrass Core)的默认名称,然后选择(下一步)。
-
在运行脚本化的简单组创建页面上,选择(创建组和核心设备)。
(AWS IoT) 使用默认安全策略创建 (AWS IoT Greengrass) 组并创建配置文件以加载到设备上。
-
下载您的核心的安全资源和配置文件。在确认页面上,在 (下载并存储您的核心的安全资源) 下,选择 (将这些资源作为一个 tar.gz 下载)。您下载的
tar.gz
文件的名称以 10 位哈希值开头,该哈希值也用于证书和密钥文件名。 -
下载安全资源后,选择 (完成)。
组配置页面将显示在控制台中:
-
下载 AWS IoT Greengrass 核心软件安装包。选择与核心设备最相配的 CPU 架构、分发版本(如有必要,还包括操作系统)。例如:
- 对于 Raspberry Pi Model B 或 B+,下载适用于 Raspbian 的 Armv7l 软件包。
- 对于 Amazon EC2 实例,下载适用于 Linux 的 x86_64 软件包。
- 对于 NVIDIA Jetson TX2,下载适用于 Ubuntu 的 Armv8 (AArch64) 程序包。
- 对于 Intel Atom,下载适用于 Linux 的 x86_64 软件包。
在核心设备上启动 AWS IoT Greengrass
在上一步中,您已将两个文件下载到计算机:
greengrass-OS-architecture-1.9.4.tar.gz
。此压缩文件包含在核心设备上运行的 (AWS IoT Greengrass) 核心软件。hash-setup.tar.gz
(例如,c6973960cc-setup.tar.gz
)。该压缩文件包含允许在 (AWS IoT) 之间进行安全通信所用的安全证书,以及config.json
,其中包含特定于 (AWS IoT Greengrass Core)和 (AWS IoT) 终端节点的配置信息。
-
将两个压缩文件从计算机传输到 (AWS IoT Greengrass Core)设备。
如果根据我前面的教程,用的是(MobaXterm),那么传输文件就很简单了,进入以下箭头所指的路径:
然后直接将下载好的文件拖入即可。
-
终端进入文件所在目录,并解压(单引号表示:根据本地文件名称改变)
cd /home/pi sudo tar -xzvf greengrass-OS-'architecture'-1.9.4.tar.gz -C / sudo tar -xzvf 'hash'-setup.tar.gz -C /greengrass
-
查看 AWS IoT 开发人员指南 中的服务器身份验证并选择合适的根 (CA) 证书。建议使用 (Amazon Trust Services (ATS))终端节点以及 (ATS) 根 (CA) 证书。利用证书,设备能够通过 (TLS) 使用 (MQTT) 消息收发协议来与 (AWS IoT) 进行通信。
确保 (AWS IoT Greengrass Core) 设备已连接到 (Internet),然后将根 (CA) 证书下载到您的核心设备。
-
对于 (ATS) 端点(首选),请下载恰当的 (ATS) 根 (CA) 证书。以下举例下载
AmazonRootCA1.pem
。cd /greengrass/certs/ sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
可运行以下命令来确认
root.ca.pem
文件不为空:cat root.ca.pem
如果
root.ca.pem
文件为空,请检查wget
(URL),然后重试。 -
在核心设备上启动 (AWS IoT Greengrass)。
cd /greengrass/ggc/core/ sudo ./greengrassd start
-
可以运行以下命令来确认 $ AWS IoT Greengrass $ 核心软件(守护程序)是否正常工作。将
PID-number
替换为您的 PID:ps aux | grep PID-number
您应看到 (PID) 的条目,其中包含指向正在运行的 (Greengrass) 守护程序的路径(例如,
/greengrass/ggc/packages/1.9.4/bin/daemon
)。