问题标签 [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.
greengrass - Windows 上的 Greengrass V2:系统重启删除了 EffectiveConfig.yaml
我在 Windows 上使用了 Greengrass V2 的手动安装:https ://docs.aws.amazon.com/greengrass/v2/developerguide/manual-installation.html
手动过程的原因是我必须调整代理设置,因为我的设备位于公司代理后面。我创建了我config.yaml
的并使用参数启动了安装程序--init-config
。
一切正常,我能够将组件从云部署到设备。
但是当我重新启动服务时(我--setup-system-service
在安装过程中使用了该标志),它effectiveConfig.yaml
被删除并使用默认值从头开始构建。不仅缺少网络代理属性,而且使用了默认区域 us-east-1 并且 iot 端点为空。
我可以以某种方式将config.yaml
(我在将 Greengrass 作为服务安装时使用的)放在 greengrass 文件夹中,以便在服务重启期间使用它吗?
amazon-web-services - 在不使用云发现的情况下检索 AWS Greengrass v2“核心设备 CA 证书”?
对于 Greengrass v2,我找不到任何方法来检索核心设备 CA 证书。在控制台、SDK 或 API 中也找不到任何方法来检索核心设备 CA 证书。
我知道客户端设备会收到特定证书以响应云发现,但是,我正在尝试找到一种客户端设备不需要互联网连接的方法。
如果我有证书,客户端设备可以使用该证书以及已知的 Greengrass Core 端点进行身份验证并连接到 Greengrass Core 设备,而无需 Internet 连接。
所以问题是,是否有任何方法可以检索/下载核心设备 CA 证书?
amazon-web-services - AWS Greengrass V2 Modbus RTU 适配器连接问题
我已成功将 Greengrass Modbus 组件部署到我的 Raspberry pi 4B 并具有所需的依赖项。pi 通过 RS485 USB 加密狗连接到 Modbus 温度和湿度传感器。我确认我可以使用 Modpoll 命令行主模拟器工具成功读取保持寄存器,到目前为止一切都很可爱。可以通过路径“/dev/ttyUSB0”访问传感器。
我希望 Greengrass 将传感器上这些寄存器的值报告给 AWS IoTCore。
为了请求数据,我将负载从 AWS 代理发送到特定主题到 Greengrass 核心。在我的特殊情况下,主题是默认的“modbus/adapter/request”。我发送了以下有效载荷:
我得到以下关于“modbus/adapter/response”主题的回复:
重申一下,我知道正确的端口,因为我可以使用命令行 Modbuspoll 读取保持寄存器。但是,使用该工具我可以指定更多参数,例如奇偶校验类型、波特率等……这似乎我不能在这里做。供大家参考,我在 Modpoll 上使用的参数如下:
供您参考,上述所有步骤都遵循本指南:https ://docs.aws.amazon.com/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html#modbus-rtu-protocol -适配器组件输入数据
有什么建议吗?
amazon-web-services - 如何从 lambda 函数读取运行 AWS IoT Greengrass 的 linux 网关上的本地文本文件?
我在使用 Greengrass Core 运行 linux 的网关上有一个本地文件,我正在使用 lambda 从使用 modbus 连接到该网关的传感器获取数据。有没有办法直接在 lambda 中读取存储在网关上的本地文本文件?
amazon-web-services - Greengrass V2 不断给我 MqttProxyIPCAgent Not Authorized
我有以下 Greengrass V2 自定义配方:
注意:我还尝试了 accessControl 的变体:
(注意:pubsub 与 mqttproxy)
但是,在我的 greengrass.log 中,我不断收到以下信息:
请注意:
My Thing 设备证书也有一个允许的策略,iot:*
因此greengrass:*
从策略/IAM 的角度来看,我可以发布。
任何想法为什么我在设备上获得未授权?
aws-iot - 组件内的 Greengrass v2 日志记录
我看不到任何我可能会从 Greengrass v2 组件中注销的内容。
例如:
这在我的 .log 或 greengrass.log 文件中不可见。我也尝试过不同的日志记录级别。与logger.debug("...")
node.js - AWS Greengrass V2 节点发布问题与 aws-iot-sdk-v2 JS
在过去的几天里,我一直在尝试使用 Greengrass v2 解决将消息从 Lambda 发布到 AWS 云的问题。
文档中甚至提供了 python 中的代码,只需要稍作修改。
当谈到文档中的 SDK v2 JS 时,AWS-CRT 库中很少提及发布功能。
我尝试使用该库中的组件创建代码,但看起来该库还需要一个带参数的脚本。
这是我的代码,需要安装 aws-iot-sdk-v2 js。
我收到有关参数和 NAPI 的错误。
将此函数用作 greengrass 日志中的 lambda 组件时也会出现相同的错误
也许有人有一些示例如何使用带有 sdk v2 的 Node lambda 发布有关主题的一些消息。
aws-iot - Greengrass StreamManager 无法连接到 IoTAnalytics
我对 AWS 和 Greengrass v2 还很陌生,一步一步我似乎掌握了窍门。但现在我被困住了,我想在这里问这个问题:
- 我使用该
--provision true
选项安装了一个正常运行的 Greengrass Core 设备,因此安装程序会自动生成角色和别名 - 我能够向IoTCore发送消息并返回
- 我能够根据特定主题触发Lambda函数
- 我正在运行以下 AWS 提供的组件:
- 核
- 影子管理器
- 流管理器
- 代币兑换服务
- 客户端设备.Auth
- clientdevices.mqtt.Bridge
- 客户端设备.mqtt.Moquette
- 我向 IAM 角色添加了能够将数据推送到IoTAnalytics的策略
我创建了一个自定义组件
该组件能够:
- 连接到 StreamManager
- 在 StreamManager 上创建流
- 每 10 秒将消息附加到创建的流中
这些是组件的日志文件,一切看起来都很好:
StreamManager 更新
但是 StreamManager 在尝试将数据上传到IoTAnalytics时似乎会出错。这些是aws.greengrass.StreamManager.log
来自我可以阅读的错误日志 StreamManager 似乎无法从 Greengrass 获取 AWS 凭证
有关完整信息,这些是此要点中 Stream Manager 的完整调试日志。错误在第 167 行
我希望有人可以帮助我,这样我就可以将我的测量数据发送给 IoTAnalytics。
谢谢!问候
哈科尔