问题标签 [aws-iot-greengrass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
387 浏览

amazon-web-services - 如何将代码中生成的日志发送到 AWS?

我正在尝试将日志(作为我的本地设备的一部分生成以及使用 greengrass 上的设备发送或接收的消息)发送到 AWS。

这怎么可能?

我也想检查 SDK,但没有找到说明如何在线进行的文档。

0 投票
1 回答
387 浏览

greengrass - 如何重试失败的 AWS Greengrass 部署

我已经使用新版本的组件修改了现有部署。

但是,核心设备上的部署失败,因为有一个用于测试的不同版本的本地部署。

我已删除该本地部署,现在我想在该设备上重新运行部署。

那可能吗?还是我需要修改现有的部署(保持一切不变,所以不是真正的修改)?

0 投票
0 回答
52 浏览

python - 如何减慢从标准输出中读取的速度

我试图在 AWS Greengrass Core Ubuntu 设备上从 python 中的 stdout 读取

字节文字非常快,我的订阅者一次接收连接的行,而不是一次发布 1 个语句。

有没有办法将日志的摄入量减慢到一次只有 1 行。

使用的语言:Python Aws 工具:Greengrass v2、Ubuntu Core Device

0 投票
1 回答
157 浏览

amazon-web-services - 如何在本地触发 aws Lambda 函数?

我有一个 Greengrass Core 设备,并在其上部署了一个简单的 Lambda 函数,但我不知道如何在本地触发它。甚至可能吗?

我正在寻找一个命令行调用,如下所示:“aws lambda invoke --function-name my-math-function --payload '{"action": "square","number": 3}' output.txt " 但是这个触发了在云中定义的 lambda 函数。我想触发我在本地运行的 lambda(部署为 greengrass 中的一个组件)。

0 投票
0 回答
26 浏览

logging - AWS greengrass-cli 日志获取日志目录与日志文件

greengrass-cli logs get --logs-dir并且--log-file不按我的预期工作。在我的机器上,如果我比较两个命令的输出:

请注意,我收到的最后一条消息是从 11:09:05 开始的。然后,

我收到的最后一条消息是从 12:33:47 开始的!

也就是说,似乎--logs-dir没有查看目录中的所有文件?这让我质疑我对命令的理解。我希望--logs-dir返回一个超集--log-file(当指向的文件--log-file在该目录中时)。

谁能向我解释这里发生了什么?

0 投票
0 回答
54 浏览

python - 订阅 AWS Greengrass 时如何使用回调函数中收到的变量?

我有一个单独的应用程序正在向 AWS Greengrass 发送一些坐标。我试图用这段代码做的是获取这些坐标并使用它们。

为了订阅 Greengrass,我使用 AWSIoTPythonSDK.MQTTLib。

本质上,我订阅了关于 Greengrass 的主题,并且消息在回调函数中接收/处理。

我想澄清一下,我能够订阅并获取回调函数中的坐标。我没有做的是在我的代码中进一步使用这些值。

我的代码的简短版本如下所示:

这是实际的代码:

如果我尝试在回调函数中打印坐标,它会打印正确的值,但在 while 循环的主函数中,它只打印 0。

代码可能有一些开销和一些可能没有意义的东西,但请忽略这一点,我很快就把它放在一起,重要的是它可以工作(除了我无法工作的部分哈哈)

我确信我错过了一些非常简单的东西,但我对 Python 还是很陌生。

0 投票
1 回答
471 浏览

amazon-web-services - 在 greengrass 核心 AWS 上运行 mqtt 代理

我目前在运行完美的 ubuntu 容器中运行 AWS greengrass 核心。我想要的是使用核心 mqtt 代理将数据发送到 AWS IOT。到目前为止,我读到的是 greengrass 核心有自己的可以配置的 MQTT 代理。为此,我尝试更新此链接中提到的部署:https ://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html

但我仍然看不到 mqtt 经纪人出现。我还有一个容器正在向其他 mqtt 代理发送数据,我想将相同的数据发送到 AWS IoT 核心。为此,我需要在应用程序中配置在 AWS greengrass 核心上运行的 mqtt 代理。

我再次有两个问题:

  1. 我采取的方法是否正确?我们能否将 mqtt 代理配置为在 AWS greengrass 核心上本地运行。如果是,那么我们该怎么做?
  2. 如果我们无法在 AWS greengrass 上运行 mqtt 代理,那么我们可以将数据发送到 IoT 核心的方式是什么。我们可以通过创建像 lambda 函数这样的自定义组件来实现它吗?

任何帮助,将不胜感激。

0 投票
1 回答
167 浏览

amazon-web-services - 尝试使用 cloudformation 在 AWS greengrass 版本 2 中创建 iot 组件时出错

我最近做了一个配置,在其中我创建了一个组件,使用 aws 控制台从配方中获取 greengrass,另一个从 lambda 文件导入配置。当我使用 aws 控制台进行操作时,它们都运行良好。但是,我希望能够使用 cloudformation 生成相同的配置。我已经阅读了这里的文档组件版本,它说我可以内联添加配方文件或使用LambdaFunctionRecipeSource. 但是我所有的尝试都因错误而失败

但是,我已授予用户管理员访问权限,harisu并确保他具有对 greengrass 服务的完全访问权限。我的示例 cfn 文件是

我将不胜感激

0 投票
1 回答
54 浏览

amazon-web-services - 将 OBD2 设备连接到 AWS 服务的架构建议

用例

我有一个 OBD2 设备,可以通过设置它的 IP 和端口进行通信来配置它。与 OBD 设备通信的唯一方式是通过 SMS。OBD 设备有一个 SIM 卡,可以通过它进行通信(随附的文档图像)。我想从设备中获取数据并运行一个 python 代码来进行一些转换(比如 AWS Lambda)并将 JSON 数据发送到 S3。

我的问题是可以在这里使用任何 AWS 服务从该设备获取数据吗?我不允许在 OBD 设备的操作系统上编写任何代码或安装任何 SDK。

OBD2 设备文档

OBD2 文档

通过监听器接收到的数据

运行python代码进行转换后的数据

Python 代码是一个函数,它可以对上述数据进行预处理并将数据转换为以下 JSON 值,以存储在 S3 存储桶或任何数据库中。

先谢谢了

0 投票
1 回答
139 浏览

aws-iot - 如何将边缘设备连接到运行版本 2 的 AWS Greengrass 核心设备

在 AWS Greengrass v2 开发人员指南Move from AWS IoT Greengrass Version 1中,它说,AWS IoT Greengrass V2 currently doesn't support connected devices, also called Greengrass devices.

想知道将边缘设备(例如 ESP 设备)连接到运行 Greengrass 版本 2 的 Greengrass 核心设备的推荐方法是什么(目前)。

在此处输入图像描述