问题标签 [azure-iot-edge]

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 投票
1 回答
1067 浏览

azure-iot-hub - Azure IoT Edge 模块直接方法响应显示为 [object Object]

在特定模块上调用直接方法时,我只是[object Object]在 azure 门户中收到结果,我不知道自己做错了什么。请注意,当我使用 azure IoT SDK for c#(不运行 azure iot 运行时)执行完全相同的操作时,我正确收到了 JSON 对象,并且它不只是显示为 [object Object]。

请注意,我正在 c# 中开发它,并且 docker 容器(用于 IoT 边缘运行时及其模块)正在将 Linux 作为操作系统运行。
我有以下已注册为直接方法的示例方法。

在 iot edge 运行时 Init() 函数中,我执行以下操作:
await ioTHubModuleClient.SetMethodHandlerAsync("Sample1", Sample1, null);

示例方法如下所示:

我可以通过在 Sample1 方法中设置断点来在调试模式下监控这个模块。我找不到我做错了什么?为什么从这个 Sample1 方法返回的响应只是显示为 [object Object],为什么{"status": "ok"}我没有像不使用 Azure IoT Edge 运行时那样看到 JSON 对象?

0 投票
1 回答
1330 浏览

azure-iot-edge - 无法调用 Azure IoT Edge 模块直接方法

我正在运行物联网边缘模块并已注册方法回调。

SetMethodHandlerAsync 和 SetMethodDefaultHandlerAsync

但两者都没有被称为...

从 Azure 门户发起直接消息呼叫

调用设备方法失败:{"message":"Device {\"Message\":\"{\\"errorCode\\":404103,\\"trackingId\\":\\"126e3eef616c409385e73128aef94b21-G:17-时间戳:08/23/2018 12:29:35\\",\\"message\\":\\"等待设备连接超时。\\",\\"info\\":{\\ "timeout\\":\\"00:00:10\\"},\\"timestampUtc\\":\\"2018-08-23T12:29:35.2214374Z\\"}\",\"ExceptionMessage \“:\“\“} 未注册”}

来自 VsCode

调用直接方法失败:未找到

我错过了设置任何必需的配置吗?
是否有命名约定或要指定的路径?

0 投票
1 回答
183 浏览

azure - 如何使用 azure python sdk 将下游设备连接到启用 azure edge 的网关

我正在尝试创建一个 3 层架构,其中包含一个 azure IoT Hub、Edge Enable GateWay 和一个下游设备。我已成功创建 IoT 中心和启用边缘的网关,并且能够使用自定义路由将数据发送到 Azure IoT 中心。但是,当我尝试使用连接字符串通过网关将我的下游设备连接到 IoT 中心时,我无法连接并将遥测数据发送到我的 IoT 中心。我得到的错误是: -

我一直在关注以下文档:- https://docs.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway-linux

0 投票
2 回答
150 浏览

azure-iot-edge - 是否支持在 Suse Linux Enterprise Server 12 上轻松安装运行时?

我们正在运行 SLES 12 服务器。我想在我们的机器上安装 Azure IoT Edge 运行时。到目前为止还没有简单的方法(rpm 包)。是否有计划增加对 OpenSuse 和 SLES 12 SP2 的支持?

https://github.com/Azure/azure-iotedge/releases

0 投票
1 回答
2185 浏览

c# - Azure IoT Edge ModuleClient 在另一个模块中调用直接方法

我正在使用 Azure IoT Edge 运行时在 Windows 主机操作系统上运行 Linux 容器。我有两个模块,ModuleA 和 ModuleB。ModuleA 有一个注册的直接方法,称为“MethodA”,ModuleB 有一个注册的直接方法,称为“MethodB”。

当我调用 MethodA 时,我希望该方法调用位于另一个模块中的 MethodB(但在同一 IoT Edge 运行时中运行)。

我正在使用 Azure IoT SDK for c# 和 ModuleA 的 Init() 函数我有:

在 ModuleB 的 Init() 函数中,我有:

MethodA(类似于代理方法):

我尝试从 MethodA 调用的 MethodB:

请注意,我可以从 azure 门户或使用 Azure SDK for C# -> ServiceClient 类单独调用这两种方法。

我的程序在线崩溃

在 MethodA 和 VS Code 调试器中,我得到了异常

抛出异常:System.Private.CoreLib.dll 中的“Microsoft.Azure.Devices.Client.Exceptions.IotHubCommunicationException”

当我检查我的 Message/StackTrace-print 的日志时,我得到:

发送请求时出错。在 Microsoft.Azure.Devices.Client.Transport.HttpClientHelper.d__21.MoveNext() --- 从先前引发异常的位置结束堆栈跟踪--- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System. Microsoft.Azure.Devices.Client.Transport.HttpClientHelper.d__172.MoveNext() 处的 Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) --- 从先前抛出异常的位置结束堆栈跟踪---在 System.Runtime .ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.Azure.Devices.Client.ModuleClient.d__57。

我尝试使用带有 TCP/WebSocket_Only 的 Amqp 以及带有 TCP/WebSocket_Only 的 Mqtt 来初始化 ModuleClient。我还尝试在 Ubuntu 18.04 VM 上使用这些模块运行 IoT Edge 运行时,但没有成功。

即使我尝试使用 ioTHubModuleClient.InvokeMethodAsync() 调用位于同一模块中的方法,我也会得到相同的异常/堆栈跟踪...

我还尝试从 ModuleA 的 Init() 函数调用 MethodB 以尝试不在回调上下文中调用直接方法,但我确实得到了相同的异常。

github 上有一个未解决的问题,您可以在这里找到:https ://github.com/Azure/iotedge/issues/204

但是感觉它有点停滞了,我没有得到任何帮助。

据我了解,这应该是可能的,但我不知道我错过了什么?

0 投票
1 回答
230 浏览

visual-studio-code - IoTEdge VisualStudio 代码:“useradd”未被识别为内部或外部命令

我正在 VisualStudio Code 中开发 IoTEdge 模块并遵循此链接。使用选项时

构建物联网边缘解决方案

构建物联网边缘解决方案

我在第 10 步收到错误

用户添加错误

操作系统:Windows10

0 投票
1 回答
2207 浏览

docker - IoT-Edge edgeHub 模块退避状态

我正在尝试将一个模块部署到 iot-edge 设备中,因为我正在关注这些官方文档

  • 订阅 IoTHub 在其中创建了 Edge 设备 在我的本地计算机上安装了 IoTEdge 运行时(就像模拟设备一样)
  • Docker for windows 已安装、启动并运行(直到这里一切正常,因为我检查了Get-Service iotedge命令的状态)
  • 设置设备模块并将其用作mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0图像

在 Microsoft Azure 门户上设置模块后,edgeHub 模块进入退避状态。我已经看到了这个问题IOT-Edge Hub 退避状态,并尝试按照一些评论的建议重新启动 docker,但一切都是徒劳的。我还运行了docker logs edgeAgent命令向您显示一些日志,这些日志附在这篇文章中。

日志.txt

编辑: 附件是来自 Azure 的状态

在此处输入图像描述

在此处输入图像描述

而这个是iotedgeruntime的状态

在此处输入图像描述

编辑 2

我在 azure 上重新创建了 iotedge 设备,然后在我的 Windows 机器上重新安装了 iotedgeruntime。无需创建模块。以下是日志


此日志显示 EdgeAgent 已启动,但在使用空部署配置时出现问题。所以我创建了一个空配置。这里提到了https://github.com/Azure/iot-edge-v1/issues/441#issuecomment-350824433。然后出现了同样的问题。显示以下命令的日志。

日志文件

它最初显示 edgeAgent 已启动,但一旦部署模块,它就会显示与我上面提到的相同的错误。

0 投票
1 回答
869 浏览

c# - 如何将来自 IotDevice 的消息路由到 IoTEdge 设备?

我已按照此链接编写自定义模块。在本教程中,名为tempSensor的模块将数据发送到另一个模块CSharpModule。就教程而言,我成功实现了它。

我想做的是:接收从IoTDeviceIoTEdge Device的遥测数据。

架构: Azure IoTHub 与 IoT 设备和 IoTEdge 设备连接

我尝试过什么:我尝试从使用 connectionString 连接到 ioTEdge 的模拟设备发送遥测数据。

发送数据的代码在这里

IoTEdge 自定义模块代码的接收端在这里...

自定义模块的deployment.template.json 文件中的路由信息​​如下。

但问题是从未调用过的回调PipeMessage 。我的理解是 IoTEdge 端点messages/input1没有消息。

0 投票
1 回答
405 浏览

c# - c# Azure IOT Edge Auto-provision with Device Provisioning Service(DPS) with x509 certificate sample required required

我是天蓝色物联网边缘开发的新手。我正在寻找一种在 C# 中在 Windows 上创建和配置模拟 x509 证书边缘设备的方法。可信平台模块 (TPM) 是目前边缘设备的唯一途径吗?

我找到了本教程,但它适用于 Windows 上的模拟 TPM Edge 设备。

https://docs.microsoft.com/en-ca/azure/iot-edge/how-to-auto-provision-simulated-device-windows

知道如何使用 x509 证书配置设备吗?和 x509 证书组注册?

查克

0 投票
1 回答
624 浏览

azure-iot-edge - 获取 IoT Edge 模块设置

在 Azure 门户中,您可以看到“IoT Edge 模块设置”:

在此处输入图像描述

如何从 C# 以编程方式访问它?

当我获得边缘设备上的模块列表时,似乎没有获取设置的选项?