65.9K
CodeProject 正在变化。 阅读更多。
Home

在 UP Squared 开发板上启动 Amazon Web Services Greengrass Core

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2018 年 4 月 26 日

CPOL

5分钟阅读

viewsIcon

6269

本指南将介绍在 UP Squared 开发板上使用 Ubuntu 启动 Amazon Web Services (AWS) Greengrass Core 的步骤。

引言

本指南将介绍在 UP Squared* 开发板上使用 Ubuntu* 启动 Amazon Web Services (AWS) Greengrass* Core 的步骤。

关于 UP Squared* 开发板

UP Squared 平台以其低功耗和高性能(非常适合物联网 (IoT))为特点,是基于 Intel Apollo Lake 平台速度最快的 x86 创客开发板。它包含 Intel Celeron® 处理器双核 N3350 和 Intel® Pentium® 品牌四核 N4200 处理器。

AWS Greengrass*

AWS Greengrass 是一款将 AWS 云功能扩展到本地设备的软件,允许设备在本地进行数据收集和分析。这可以减少设备与数据处理层之间的延迟,并降低将数据发送到云的存储和带宽成本。用户可以创建 AWS Lambda 函数,使 Greengrass 能够同步数据、过滤数据以供进一步分析,并安全地与其他设备通信。

操作系统兼容性

UP Squared 开发板可以运行 Ubilinux*、Ubuntu*、Windows® 10 IoT Core、Windows® 10、Yocto Project* 和 Android* Marshmallow 操作系统。有关 UP Squared 的更多信息,请访问此网站

硬件组件

此项目中使用的硬件组件如下所示

创建 AWS Greengrass* 组

AWS Greengrass 组是 AWS Greengrass 核心设备及其与之通信的设备的设置集合。首先,登录 Amazon Web Services (AWS)* 管理控制台,打开 AWS IoT 控制台,然后从导航栏右上角选择一个 **区域**,然后选择 **Greengrass**。

在 **欢迎使用 AWS Greengrass** 屏幕上,选择 **开始**。

图 1:AWS IoT 控制台

在 **设置您的 Greengrass 组** 页面上,选择 **使用简易创建** 来创建 AWS Greengrass 组。

图 2:设置 AWS Greengrass 组

为您的 **Greengrass 组** 选择一个名称,然后点击 **下一步**。

图 3:设置 AWS Greengrass 组:命名组

为 AWS Greengrass Core 使用默认名称,然后选择 **下一步**。

图 4:设置 AWS Greengrass 组:命名 Greengrass Core

在 **运行脚本化简易组创建** 页面上,选择 **创建组和 Core**。

图 5:设置 AWS Greengrass 组:创建组和 Core

AWS Greengrass 组创建过程中,您应该会看到以下页面。

图 6:设置 AWS Greengrass 组:创建组和 Core

当您看到证书以及公钥和私钥时,您已成功创建新的 Greengrass 组。点击 **将这些资源下载为 tar.gz** 来下载证书和私钥以供稍后使用。选择 **x86_64** 作为 CPU 架构,然后点击 **下载 Greengrass** 开始下载 Greengrass。

图 7:设置 AWS Greengrass 组:证书和私钥

选择 **完成**。

图 8:设置 AWS Greengrass 组:成功

开发板

开始之前,请确保 **Ubuntu*** 操作系统已安装在 UP Squared 开发板上。为了确保 Ubuntu 操作系统是最新的并已安装所有依赖的 Ubuntu 包,请打开命令提示符(终端)并输入以下命令:

sudo apt-get update

通过在终端中输入以下命令来安装 sqlite3 包

sudo apt-get install sqlite3

创建 Greengrass 用户和组账户

sudo adduser --system gcc_user
sudo addgroup --system gcc_group

解压在前面“**图 7:设置 AWS Greengrass 组:证书和私钥**”步骤中下载的 Greengrass Core 软件。

通过在终端中输入以下命令来下载 cmake 包

wget https://cmake.com.cn/files/v3.8/cmake-3.8.0.tar.gz

执行以下命令

tar -xzvf cmake-3.8.0.tar.gz
cd cmake-3.8.0
./configure
make
sudo make install

使用以下命令安装 OpenSSL

wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
tar -xzvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config --prefix=/usr
make
sudo make install
sudo ln –sf /usr/local/ssl/bin/openssl ‘which openssl’
openssl version -v

启用硬链接和软链接保护

激活硬链接和软链接保护以提高设备安全性。将以下两行添加到 /etc/sysctl.d/10-link-restrictions.conf

fs.protected hardlinks = 1
fs.protected symlinks = 1

重启 UP Squared 开发板并运行以下命令来验证系统变量

sudo sysctl -a | grep fs.protected

安装 Greengrass 证书和密钥

将上面“图 7:设置 AWS Greengrass 组:证书和私钥”中创建的证书和私钥文件复制到 UP Squared 开发板,如下所示:

  • cloud.pem.crt:上面创建的 4f7a73faa9-cert.pem.crt
  • cloud.pem.key:上面创建的 4f7a73faa9-private.pem.key
  • root-ca-cert.pem:wget https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem -O root-ca-cert.pem

~/greengrass/certs 目录应如下所示:

编辑 config.json

打开命令提示符(终端)并导航到 ~/greengrass/config 文件夹。编辑 config.json 以如下方式配置 Greengrass Core:

{
    "coreThing": {
        "caPath": "root-ca-cert.pem",
        "certPath": "cloud.pem.crt",
        "keyPath": "cloud.pem.key",
        "thingArn": "arn:aws:iot:us-east-1:xxxxxxxxxxxx:thing/MyGreengrass1stGroup_Core",
        "iotHost": "yyyyyyyyyyyy.iot.us-east-1.amazonaws.com",
        "ggHost": "greengrass.iot.us-east-1.amazonaws.com",
	"keepAlive": 600
    },
    "runtime": {
        "cgroup": {
            "useSystemd": "yes"
        }
    },
    "system": {
        "shadowSyncTimeout": 120
    }
}

注意:shadowSyncTimeout 的默认值为 1。

  • • thingArn:导航到 AWS IoT 控制台,在左侧选择 **管理**,然后选择 **Thing** 下的 **MyGreengrass1stGroup**。

ThingARN 应如下所示:

  • iotHost:导航到 AWS IoT 控制台,**Endpoint** 位于 AWS IoT 控制台左下角的 **设置** 下。

启动 AWS Greengrass* Core

打开命令提示符(终端)并导航到 ~/greengrass/config 文件夹

cd ~/greengrass/ggc/core
sudo ./greengrassd start

当您看到“Greengrass successfully started”消息时,即表示 Greengrass Core 已成功创建。

要确认 Greengrass Core 进程正在运行,请运行以下命令:

ps aux | grep greengrass

摘要

我们已介绍了如何在 UP Squared 开发板上启动 Greengrass Core。在此基础上,您可以尝试一些项目来探索 UP Squared 开发板的潜力。例如,您可以创建 Greengrass 部署,添加一组可以与本地 IoT 端点通信的设备,启用 Lambda 函数来过滤数据以供进一步分析,等等。

参考文献

Amazon Kinesis* 服务 API 参考
http://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html
http://docs.aws.amazon.com/greengrass/latest/developerguide/gg-config.html

Up Squared
http://www.up-board.org/upsquared

Amazon
https://aws.amazon.com/kinesis/streams/getting-started

IoT 参考
https://software.intel.com/en-us/iot/hardware/devkit

关于作者

Nancy Le 是 Intel 公司软件与服务部门的一名软件工程师,专注于 Intel Atom® 处理器和 IoT 规模赋能项目。

*其他名称和品牌可能被声明为他人的财产。

更多关于 UP Squared

© . All rights reserved.