树莓派 + AWS IoT Greengrass

这篇具有很好参考价值的文章主要介绍了树莓派 + AWS IoT Greengrass。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文档

https://docs.amazonaws.cn/en_us/greengrass/v2/developerguide/quick-installation.html?icmpid=docs_gg_console

过程记录

准备自动化安装过程中IAM需要的必要权限
https://docs.amazonaws.cn/en_us/greengrass/v2/developerguide/provision-minimal-iam-policy.html

本地用配置好的aws cli确认当前的IAM user

aws sts get-caller-identity

来到IAM控制台中先创建一个policy. 注意替换account-id为自己的账号ID, GreengrassV2TokenExchangeRole如果修改的话, 需要与后面安装过程中在--tes-role-name后面指定的名称一致(其实不用改, 后面不加参数默认用的就是这个名字). 另外注意此处内容中的arn:aws-cn与文档中写的arn:aws不一样, 注意修改

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CreateTokenExchangeRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws-cn:iam::account-id:role/GreengrassV2TokenExchangeRole",
                "arn:aws-cn:iam::account-id:policy/GreengrassV2TokenExchangeRoleAccess"
            ]
        },
        {
            "Sid": "CreateIoTResources",
            "Effect": "Allow",
            "Action": [
                "iot:AddThingToThingGroup",
                "iot:AttachPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateRoleAlias",
                "iot:CreateThing",
                "iot:CreateThingGroup",
                "iot:DescribeEndpoint",
                "iot:DescribeRoleAlias",
                "iot:DescribeThingGroup",
                "iot:GetPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DeployDevTools",
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateDeployment",
                "iot:CancelJob",
                "iot:CreateJob",
                "iot:DeleteThingShadow",
                "iot:DescribeJob",
                "iot:DescribeThing",
                "iot:DescribeThingGroup",
                "iot:GetThingShadow",
                "iot:UpdateJob",
                "iot:UpdateThingShadow"
            ],
            "Resource": "*"
        }
    ]
}

将policy应用到aws cli关联使用的用户

SSH到树莓派

# 安装jre(11)
sudo apt install -y default-jre

# 创建用户
sudo useradd --system --create-home ggc_user
sudo groupadd --system ggc_group

# 修改cgroups启动参数
sudo vi /boot/cmdline.txt
# 在末尾追加下面内容
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

# 改完重启
sudo reboot

# 重启后使用上面配置好IAM policy的user的AK/SK信息配置系统环境变量
export AWS_ACCESS_KEY_ID=xxxx
export AWS_SECRET_ACCESS_KEY=xxxx

# 下载安装包
cd ~
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip && unzip greengrass-nucleus-latest.zip -d GreengrassCore

# 检查安装包内的GreenGrass版本信息
java -jar ./GreengrassCore/lib/Greengrass.jar --version
# AWS Greengrass v2.5.6

# 执行安装
sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassCore/lib/Greengrass.jar --aws-region cn-north-1 --thing-name GreengrassRaspberryPi  --component-default-user ggc_user:ggc_group --provision true --setup-system-service true --deploy-dev-tools true

安装过程中输出内容:

Provisioning AWS IoT resources for the device with IoT Thing Name: [GreengrassRaspberryPi]...
Found IoT policy "GreengrassV2IoTThingPolicy", reusing it
Creating keys and certificate...
Attaching policy to certificate...
Creating IoT Thing "GreengrassRaspberryPi"...
Attaching certificate to IoT thing...
Successfully provisioned AWS IoT resources for the device with IoT Thing Name: [GreengrassRaspberryPi]!
Setting up resources for aws.greengrass.TokenExchangeService ...
TES role alias "GreengrassV2TokenExchangeRoleAlias" does not exist, creating new alias...
TES role "GreengrassV2TokenExchangeRole" does not exist, creating role...
IoT role policy "GreengrassTESCertificatePolicyGreengrassV2TokenExchangeRoleAlias" for TES Role alias not exist, creating policy...
Attaching TES role policy to IoT thing...
No managed IAM policy found, looking for user defined policy...
No IAM policy found, will attempt creating one...
IAM role policy for TES "GreengrassV2TokenExchangeRoleAccess" created. This policy DOES NOT have S3 access, please modify it with your private components' artifact buckets/objects as needed when you create and deploy private components
Attaching IAM role policy for TES to IAM role for TES...
Configuring Nucleus with provisioned resource details...
Downloading Root CA from "https://www.amazontrust.com/repository/AmazonRootCA1.pem"
Created device configuration
Successfully configured Nucleus with provisioned resource details!
Creating a deployment for Greengrass first party components to the device
Configured Nucleus to deploy aws.greengrass.Cli component
Creating user ggc_user
ggc_user created
Creating group ggc_group
ggc_group created
Added ggc_user to ggc_group
Successfully set up Nucleus as a system service

安装成功后即可在Amazon IoT控制台中看到设备的状态:
树莓派 + AWS IoT Greengrass文章来源地址https://www.toymoban.com/news/detail-512885.html

到了这里,关于树莓派 + AWS IoT Greengrass的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何用树莓派Pico针对IoT编程?

    目录 一、Raspberry Pi Pico 系列和功能 二、Raspberry Pi Pico 的替代方案 三、对 Raspberry Pi Pico 进行编程 硬件 软件 第 1 步:连接计算机 第 2 步:在 Pico 上安装 MicroPython 第 3 步:为 Thonny 设置解释器 第 4 步:编写程序 第5步:运行程序 四、小结 众所周知,Raspberry Pi(树莓

    2024年02月12日
    浏览(50)
  • ubuntu iot使用gpio库(树莓派)

    或者是:  但是 使用pip前一定要设置pip源,否则无法使用pip安装任何软件  使用这个就导入了gpio库了,然后就可以:

    2024年02月21日
    浏览(28)
  • 【树莓派IOT入门】模拟搭建一个气象站

    假设你要建立若干个气象站,这若干个气象站可能分布到各个地点,并使用终端设备实时查看各个气象站的温度,适度,气压等数据。 树莓派如何连接外设 物联网中设备的数据上行是如何处理的 约等于中级水平的GO语言相关知识 了解一点消息队列的pub/sub模式和product/consum

    2024年01月19日
    浏览(41)
  • ansible自动运维——学会参考ansible-doc命令

    大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证,这里我会定期跟新自动话运维的博客,希望能提高自己的技术的同时,也可以帮助到大家,另外大家可以关注我的其它专栏: 锐捷数通实验:锐捷数通实验 网络工程师成长日志:网络

    2024年02月03日
    浏览(35)
  • 基于树莓派4B设计的智能家居系统(华为云IOT)

    基于树莓派的智能家居控制系统(华为云IOT) 本次设计实现了一个基于树莓派的智能家居系统,可以对家庭环境进行实时监测和控制,提高居家安全性和舒适度。该系统采用了多种传感器和模块,包括温湿度传感器、烟雾传感器、火焰传感器、光敏传感器、雨滴传感器、LED灯光

    2024年02月08日
    浏览(50)
  • Android APP之接入AWS IOT实现发布订阅测试

    本文中是开发的APP控制端(开发语言是Android),来接入AWS IOT平台并且实现消息的订阅和发布。由于能力有限,若有错误的理解请指正。 AWS IOT的官方文档,不得不说文档写的真“详细”啊,看得云里雾里,只能参考互联网。 由于国内使用AWS物联网平台应用不多,关于Android APP的

    2024年01月23日
    浏览(66)
  • 如何将doc格式文档转换为txt的文档

    今天的办公环境中,我们常常会遇到需要将doc格式的文档转换为txt格式的文档的情况。这种情况下,我们需要一些便捷的工具来帮助我们解决这个问题。下面,我将向大家介绍三种将doc格式的文档转换为txt格式的文档的方法。 第一种方法是使用在线文档转换工具、APP。目前,

    2024年02月06日
    浏览(72)
  • 使用Linux SDK客户端向AWS Iot发送数据

    参考链接: https://ap-southeast-1.console.aws.amazon.com/iot/home?region=ap-southeast-1#/test 此篇文章用于测试,使用Linux SDK客户端向AWS Iot发送数据,准备环境如下: 1.1 客户端操作系统 虚拟机一台: Red Hat Enterprise Linux release 8.7 (Ootpa)   1.2 域名解析 确保客户端可以解析AWS iot 的终端节点,可

    2024年01月25日
    浏览(66)
  • c/c++参考手册与手册查阅(apiref.com/Microsoft doc/cppReference/cplusplus)

    在linux环境下进行C语言编程,涉及到陌生的函数调用的时候可以通过man手册(命令)来查找文档 但是有时候,我们需要查找语言的基本概念/,则可以通过一些参考网站来获取信息 直接通过搜索引擎来查找资料是一个不错的选择 但是在网络条件不佳的情况下,使用离线的手册或

    2024年02月04日
    浏览(37)
  • 将AWS iot消息数据发送Kinesis Firehose Stream存向S3

    观看此文章之前,请先学习AWS iot的数据收集: 使用Linux SDK客户端向AWS Iot发送数据-CSDN博客 1.1 规则 规则可让您的设备与 AWS 服务进行交互。分析规则并根据物品发送的消息执行操作。您可以使用规则来支持任务,例如补充或筛选从设备接收的数据。 1.2 目的地 目的地是定义规

    2024年01月25日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包