问题标签 [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 回答
185 浏览

azure-iot-edge - 找不到类型或命名空间名称“TwinCollection”

按照文章在 Windows 10 上构建 Azure IoT Edge 模块https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-csharp-module

在构建 IoT Edge 模块的步骤 12 中,VS Code 生成以下错误消息:这是我尝试构建 docker 映像的两个不同的新 Win 10 环境中的一致体验。

所有必备步骤均已成功完成。

PS C:\Users\\Code\FilterModule> dotnet publish "c:\Users\\Code\FilterModule\FilterModule.csproj" Microsoft (R) Build Engine version 15.5.180.51428 for .NET Core 版权所有 (C) Microsoft Corporation。版权所有。

恢复 c:\Users\\Code\FilterModule\FilterModule.csproj 的包... 生成 MSBuild 文件 C:\Users\\Code\FilterModule\obj\FilterModule.csproj.nuget.g.props。c:\Users\\Code\FilterModule\FilterModule.csproj 的恢复在 392.82 毫秒内完成。Program.cs(110,47):错误 CS0246:找不到类型或命名空间名称“TwinCollection”(您是否缺少 using 指令或程序集引用?) [c:\Users\\Code\FilterModule\FilterModule. csproj]

任何人都遇到过这个问题并就解决方案提出任何建议?

0 投票
1 回答
106 浏览

node.js - iot-edge raspberry-noobs- nodejs 示例 - 与 azureiot 交互

错误图像我收到 https://github.com/Azure/iot-edge/tree/master/v1/samples/nodejs_simple_sample错误

A) ./build_nodejs.sh [RAN SUCCESSFUL AND TOOK HOURS] 根据说明,我现在有了 NODE_INCLUDE 和 NODE_LIB 环境变量,设置这些的正确位置是什么?

B)当我运行 ./build.sh --enable-nodejs-binding

错误说明设置 node_include 和 node_lib 文件

我正在将 RASPBERRY PI 与 NOOBS 一起使用,并希望与 azureiothub 交互,如示例中所示。我能够成功运行写入日志文件的另一个示例

0 投票
1 回答
418 浏览

azure-iot-edge - IoT Edge 动手实验:iotedgectl 出错

我正在通过Azure IoT Edge 动手实验室工作,并遇到了我们似乎无法破解的 iotedgectl 命令问题。

当我运行“iotedgectl status”(或“开始”或“停止”)时,我收到以下错误消息:

文件“c:\python27\lib\runpy.py”,第 174 行,在 _run_module_as_main “ main ”中", fname, loader, pkg_name) 文件“c:\python27\lib\runpy.py”,第 72 行,_run_code 执行代码 run_globals 文件“C:\Python27\Scripts\iotedgectl.exe__main__.py”,第 9 行,在文件“c:\python27\lib\site-packages\edgectl__init__.py”中,第 25 行,在 >coremain 中返回 cli.execute_user_command() 文件“c:\python27\lib\site-packages\edgectl\edgecli.py” ,第 54 行,在 >execute_user_command (is_valid, execute_deployment_cmd) = self._process_cli_args() 文件“c:\python27\lib\site-packages\edgectl\edgecli.py”,第 358 行,在 >_process_cli_args 返回 args.func(args ) 如果 EdgeDefault.is_deployment_supported(self._deployment) 文件“c:\python27\lib\site-packages\edgectl\edgecli.py”,第 379 行,在 >_parse_edge_command 中:文件“c:\python27\lib\site-packages\edgectl\default.py",第 99 行,>is_deployment_supported client = EdgeDockerClient() 文件“c:\python27\lib\site-packages\edgectl\dockerclient.py”,第 13 行,在 >init self._client = docker.DockerClient.from_env() 文件“c:\python27\lib\site-packages\docker\client.py”,第 81 行,from_env **kwargs_from_env(**kwargs)) 文件“c: \python27\lib\site-packages\docker\client.py”,第 38 行,在init self.api = APIClient(*args, **kwargs) 文件“c:\python27\lib\site-packages\docker\api \client.py”,第 131 行,在 > init 'Install pypiwin32 package to enable npipe:// support' docker.errors.DockerException: Install pypiwin32 package to enable npipe:// >support

我正在为 Windows 版本 17.12.0(最近的稳定版本)运行 Docker,并运行 Linux 容器。

这是我的配置文件:

{“部署”:{“docker”:{“edgeRuntimeImage”:“microsoft/azureiotedge-agent:1.0-preview”,“loggingOptions”:{“log-driver”:“json-file”,“log-opts”: {“最大尺寸”:“10m”}},“注册表”:[],“uri”:“unix:///var/run/docker.sock”},“类型”:“docker”},“ deviceConnectionString":"","homeDir":"C:\ProgramData\azure-iot-edge\data","hostName":"mygateway.local","logLevel":"info","schemaVersion":"1" ,“安全”:{“证书”:{“选项”:“preInstalled”、“preInstalled”:{“agentCAPassphraseFilePath”:“”、“deviceCACertificateFilePath”:“c:\edge\myGateway-public.pem”、“deviceCAChainCertificateFilePath”:“c:\edge\myGateway-all. pem”、“deviceCAPassphraseFilePath”:“”、“deviceCAPrivateKeyFilePath”:“c:\edge\myGateway-private.pem”、“forceNoPasswords”:假、“ownerCACertificateFilePath”:“c:\edge\RootCA.pem”}、“主题”:{“commonName”:“边缘设备 CA”,“countryCode”:“US”,“locality”:“Redmond”,“organization”:“默认边缘组织”,“organizationUnit”:“边缘单元”,“状态”:“华盛顿”} } } }

0 投票
2 回答
697 浏览

asp.net-core-2.0 - Asp.net 核心模块未连接到 Azure IOT Edge Hub

我正在尝试将 ASP.NET Core 边缘模块连接到边缘运行时集线器(本地),但它没有连接并且失败并出现 CONNECT failed: RefusedNotAuthorized 异常。我有标准的 .net 核心模块,它们连接到边缘集线器并发布消息,但 ASP.NET 核心边缘模块没有。.net core 和 asp.net core edge 模块都是从 Azure IOT Edge 门户推送的。

0 投票
1 回答
1094 浏览

azure-iot-hub - 如何更改 Azure IoT Edge 模拟 tempSensor 模块的遥测频率

我想更改模拟 tempSensor 模块的频率,使其每 60 秒而不是每 5 秒向 IoT 中心发送遥测数据。我找不到代码来创建我自己的 C# 模块或修改 Azure 作为示例的模块。如何更改 IoT Edge 演练中使用的此模拟温度传感器模块的遥测频率?

https://hub.docker.com/r/microsoft/azureiotedge-simulated-temperature-sensor/

我有一个 Azure IoT Hub,每天有 8000 条消息,模拟了 IoT Edge 设备,还有一个 tempSensor 和 filterModule 通过 Docker 设置等......一切运行良好。

我可以编写另一个类似于 filterModule 的 C# 模块,它的功能类似于时间过滤器,平均 12 个读数并每 60 秒发送一条消息,然后 filterModule 完成它的工作。所以路由会从 tempSensor 到 timeFilter 到 filterModule。沿着这个思路。

Docker 中的模拟温度传感器

https://azure.microsoft.com/en-us/resources/samples/?service=iot-hub&sort=0&term=simulated

我在哪里可以找到该示例的代码?我看这里:

https://github.com/Azure-Samples

我正在尝试了解模拟温度传感器模块如何在代码中工作,以便在此基础上创建我自己的 IoT 模块。

我找到了一些接近的东西,但不确定如何在此代码和 IoT Edge 中使用的模块之间进行切换。

https://docs.microsoft.com/en-us/dotnet/api/overview/azure/iot?view=azure-dotnet

我在这里看不到 API 参考:

https://docs.microsoft.com/en-us/azure/iot-edge/

以下是我看过的其他一些地方:

https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-edge

https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-toolkit

0 投票
1 回答
585 浏览

api - 对 IoT Edge 上的机器学习模块进行 API 调用

根据下面的 Microsoft 教程,我已经能够将机器学习模块下推到 IoT 边缘设备。我还能够从 tempSensor 模拟数据模块到 ML 模块的路由数据中获得 ML 预测,这很棒。

https://docs.microsoft.com/en-gb/azure/iot-edge/tutorial-deploy-machine-learning

我想做的是在 IoT Edge 设备上使用机器学习模块作为 Web 服务 - 有没有办法使用 REST 等来定位这个模块?类似于下面的内容,尽管我将 ML 模型作为模块推送到 IoT 边缘设备而不是作为 Web 服务。

https://docs.microsoft.com/en-gb/azure/machine-learning/preview/model-management-service-deploy

编辑:我不希望使用“az ml service create”等将 ML 映像部署为 Web 服务,如以下链接。我想通过 IoT Edge 管理将 ML 映像部署为模块,并仍然通过 REST 访问它API。 https://docs.microsoft.com/en-gb/azure/machine-learning/preview/model-management-service-deploy

干杯,康

0 投票
1 回答
389 浏览

azure-iot-hub - 我可以使用 Microsoft.Azure.Devices.RegistryManager 添加/注册 IoT Edge 设备吗?

尝试搜索 Microsoft 文档,但我似乎找不到任何可以用来RegistryManager.AddDeviceAsync()向 IoT 中心添加 IoT Edge(预览版)设备的建议。

MS 教程说您可以将--edge-enabled选项传递给 CLI 命令az iot hub device-identity create -d edge001 -n blogDemoHub --edge-enabled,但如何使用 .NET SDK 执行此操作?

0 投票
1 回答
1294 浏览

iot - Azure IOT 边缘身份转换网关:了解

我正在尝试创建一个身份转换网关,如此所述。

我还阅读了很多关于他们的 IoT 解决方案的 Microsoft 文档。

我有 :

  1. 叶设备 (A) 通过自定义协议连接到我的网关,而不直接连接到集线器。
  2. 网关设备 (B) 充当连接到 A 和 IoT 中心的 IoT Edge 设备。
  3. 我的物联网中心。

据我所理解:

  • 我的 IoT Edge 必须以这种方式在 IoT 集线器上注册每个设备,每个 A 设备都将在我的集线器上表示,我们将能够直接通过其 ID 发送消息。
  • 我可以通过路由 /devices/{deviceId}/messages 在网关上发送消息并收听它们

例如,假设我有:

  • 具有 ID 的 IoTEdge 设备:“Edge1”
  • 具有 ID 的 IoTEdge 设备:“Edge2”
  • 具有 ID 的设备:“DeviceA”连接到“Edge1”
  • 具有 ID 的设备:“DeviceB”连接到“Edge2”

由于集线器和叶设备之间没有连接,我不明白的是,当我使用“ /devices/DeviceA/messages ”向“DeviceA”发送消息时,集线器将知道哪个网关地址以及如何从我的网关听。简而言之,进行(非)多路复用过程

  • 有没有办法使用我看不到的 IoT Hub 自动处理它?连接字符串中的 GatewayHostName 可以解决问题吗?
  • 我必须手动处理它,而是将我的所有消息发送到我的网关 ID(即设备/Edge1/消息)并在我的消息正文中发送最终的目标设备 ID 吗?如果是,我不明白在 Hub 上注册每个设备的好处
  • 我必须在网关内监听每个连接的设备路由(即 Edge1 的 /devices/DeviceA/messages)吗?

谢谢你的帮助。

0 投票
1 回答
780 浏览

iot - 为什么 azure IoT edge 使用容器,这种方法与绿草核心相比如何?

Azure IoT Edge 使用基于容器的模块,而 AWS greengrass 以流程为中心。了解权衡取舍会很有趣,两者在未来会如何发展?想听听你的意见。

0 投票
1 回答
397 浏览

azure-iot-edge - Azure IOT Edge 消息配额

我的 Edge 设备有问题。即使没有设备发送任何数据,即使没有发送任何消息,消息配额也会看到大量流量。例如 14000 条消息将在 7 小时左右累积。

有没有办法调试内部消息?

我已经检查过 docker logs edgeHubdocker logs edgeAgent 但那里没有任何异常。