问题标签 [azure-iot-hub]

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 回答
379 浏览

windows-10-iot-core - Windows 10 iot-core 无线更新选项的清晰度?

我已经为之前版本的 iot-core(带或不带 iot-hub)编写了自己的无线更新。最近 iot-core (10.0.14393.67) 的自动更新打破了它。现在,再次明确这一关键(debian 上的开箱即用功能)功能,我比以往任何时候都更加困惑。谁能回答:

  1. 这篇文章讨论了通过 iot-hub 更新固件。固件是否是我的(uwp)物联网核心应用程序(例如后台任务)?
  2. 这篇文章讨论了微软的 oem 交易,用于提供更新功能的物联网核心商业化 ( https://www.windowsforiotdevices.com/ )。但是,尚不清楚:
    • “选项一”是免费的吗?如果不是,那么问题是什么?
    • 此“选项一”中是否提供更新功能

充其量,我们需要在 iot-hub 与 oem app-package-update 场景之间进行权衡取舍,因为一旦开发人员决定采用其中一种或另一种路径,这就是一项重大投资。

更新

这里真正重要的是公司/开发人员清楚地了解有关“空中更新”的选项和限制:

  1. 我们的应用程序(Appx,无头,在我们的例子中。C#。)在 Visual Studio 2015 中构建。

  2. iot-core 操作系统(自动或预定...)。

  3. 带有(或结合)我们的应用程序的物联网核心操作系统。

这些选项及其成本尚不清楚。我们目前正在使用 azure iot-hub (et. al.),并希望尽可能地利用它。

发生的事情以及我急需解决的问题是上面的“3”:我在现场有一个 appx,并且正在使用 /System32/oemcustomization.bat 选项通过 C:/windows/appinstall 安装我的应用程序的新版本/...

几个月来,这在我所有的远程站点都运行良好。我确信一切都很稳定。突然间,我的网站都下线了。在我当地的实验室中,我可以连接到我的测试系统,在那里我注意到微软已经对 iot-core 进行了自动操作系统更新。发生了重大变化……这些变化现在的性质是,即使我修改它,我以前的空中更新方案也不再有效——有一些安全“修复”破坏了我当前的方法,我现在看到了去挽救它。

因此,我们真正需要 PM 清楚地说明上述 (1-3) 项,并且充其量是 C# 中第 1-3 项的完整、最小示例。

期待!

0 投票
1 回答
4771 浏览

c# - 改进代码以从事件中心读取消息,具体取决于最后消息日期

以下代码连接到 Azure 事件中心,它遍历所有分区,然后读取要处理的消息并将其插入数据库(待完成),代码工作正常,但每次它读取所有消息。

这将作为 Azure WebJob 安装,因此它将持续、实时、不间断地运行。

  1. 如何改进此代码以仅读取未处理的消息?
  2. 有没有更好的方法来编写 while/for 部分,你会用不同的方法吗?

    /li>
0 投票
1 回答
2575 浏览

azure - Azure ARM - 列出键 - 如何获取特定键的键值?

我已经使用 Azure 资源管理模板设置了 Azure IOThub。我需要获取“共享访问策略” - 'iothubowner' 的主键值并将其用于设置下游的另一个资源。

我可以使用 Azure ARM 模板 json 中的 listkeys 函数将所有共享访问策略及其各自的主键作为数组/对象获取,如下所示

这导致

....]

我需要知道如何只过滤“iothubowner”策略的主键?

我试过这个但出错了

错误

0 投票
2 回答
840 浏览

azure - 我如何知道我在 Azure IoT Hub 中的设备是否可以访问?

我有一个带有 2 个设备的 Azure IoT 中心。我从 RaspberryPi 向另一台设备发送消息。

我怎么知道消息是从其他设备收到的?

0 投票
1 回答
143 浏览

node.js - NodeJS - 微软 Azure 物联网

我正在对 Azure IoT Hub 进行一些研究,并惊喜地发现它没有用于 Objective C 的 SDK。

你建议我们如何解决这个问题?

一种选择可能是:

1) 使用 NodeJS 创建我们自己的 Web 服务器。

2) 使用 Azure IoT NodeJS SDK 将我们的 Web 服务器与 Azure IoT 连接起来。

3) 然后我们将创建 Web 服务 (API) 以将手机(Android、iOS)与 Web 服务器连接起来,进而连接到 Azure IoT ?

所以整个过程将是这样的:

• 用户想要查看他的配置文件(假设配置文件存储在 SQLAzure 中的一个表中)。

• 他点击“个人资料”按钮。

• API(很可能是REST API)调用是在“配置文件”按钮点击时从Mobile 到Web 服务器。

• 然后,我们的 Web 服务器将与 Azure 通信并进行必要的获取并将数据以 JSON 格式返回到移动设备。

• 然后我们将在最后解析这些信息并将其显示给用户。

我们希望使用上述方案实现独立于最终用户手机操作系统。如果我们没有将 Azure SDK 添加到我们的应用程序包中,而是通过 Web 服务器访问它们,这也将帮助我们使我们的应用程序变得轻量级。

希望这是正确的方法。如果有更好的方法来做同样的事情,请告诉我。

期待着听到您的意见。

有人建议我使用 Azure 移动服务 SDK,但我担心它不允许我利用 Azure IoT Hub SDK 中存在的命令。

再说一次,我可能完全错了,也许我不需要直接在我的手机上调用 IoT。也许我只需要在我的手机上显示从 Azure 推送和拉取的数据。

有 Azure 专家吗??帮助!!!

最好的

0 投票
1 回答
669 浏览

azure - 如何从单个 JSON(IOT HUB)将流分析输出转换为多行

我有来自 iot hub 的数据,需要输入到 SQL 表中。iot hub 的 JSON 数据如下所示——

[ {“设备ID”:“1”,

}, { "设备 ID": "2",

}]


桌子看起来像这样


设备ID| 描述 |价值


1 | 停车场1 | 10

1 | 停车场2 | 20

1 | 停车场3 | 30

1 | 停车位4 | 40

2 | 停车场1 | 10

2 | 停车场2 | 20


需要流动的答案-

  1. 所以我需要在流分析中编写查询,以便查询解析 JSON 数据并将其放入表的 4 行中,如上所述。让我知道需要编写什么查询来转换表每一行中的每个键。

  2. 此外,当设备 ID 在表中匹配时,应将 Parking1、Parking2、Parking3 和 Parking4 的值插入表中。

  3. 此外,每次表中的值都应该更新而不是插入。

提前致谢!

0 投票
1 回答
1525 浏览

asp.net-core - ASP.NET 或控制台应用程序中的 AKKA.NET?

我正在尝试将 AKKA 集成到使用框架 net46 上的 ASP.NET Core 构建的 IoT 应用程序中。我正在尝试找到最佳方法,并希望对这个问题发表任何评论,尽管它有点长。基于在 Java 和 AKKA.NET 中使用 AKKA 的经验的两条评论都将是相关的。

简而言之,我需要 AKKA.NET 从远程设备接收 IoT 消息并执行相当复杂的处理逻辑。

对于 IoT 通信,我们使用 Azure IoT-hub。IoT 消息由多线程控制台应用程序使用,遵循 Microsoft 此处的指南:

https://azure.microsoft.com/da-dk/documentation/articles/iot-hub-csharp-csharp-process-d2c/

同时,我们正在使用依赖注入和所有最新的最佳实践运行标准的 ASP.NET Core(框架 net46)应用程序。

我需要 AKKA.NET 来接管 IOT 消费者应用程序内部进行的部分处理,以及 ASP.NET 应用程序内部进行的部分处理。

我看到以下三个解决方案,我很好奇更有经验的 AKKA 开发人员会推荐这些解决方案。我自己的直觉是解决方案 1 是首选,请参阅下面的我自己的论点:

  • 解决方案 1:基于 AKKA.NET 创建一个新的 Console 应用程序,并使用 AKKA.Remoting 与 ASP.NET 应用程序和 IoT 消费者应用程序进行通信。这意味着所有参与者逻辑都将封装在一个隔离的控制台应用程序中。当然,AKKA.NET 也将在 ASP.NET 应用程序和 IoT 消费者应用程序中被引用和使用,但仅用于发送远程消息。

  • 解决方案 2:直接在 ASP.NET 应用程序中使用 AKKA.NET,并使用 AKKA.Remoting 与物联网消费者应用程序进行通信。这意味着 ASP.NET 应用程序将通过 Actor 逻辑与现有的基于控制器、等待/异步等的传统 ASP.NET 逻辑并排扩展。

  • 解决方案 3:与解决方案 2 相反,即在 IoT 消费者应用程序中直接使用 AKKA.NET,并使用 AKKA.Remoting 与 ASP.NET 应用程序进行通信。

可能会有更多变化,例如在 ASP.NET 和 IoT 消费者应用程序中集成 AKKA.NET 逻辑,但我不喜欢让参与者在不同的应用程序中运行的想法,至少在我所处的早期阶段不喜欢试图建立一个干净的新的基于actor的实现。

以下是我对解决方案 1 的论点:

  • 有人告诉我,如果配置正确,AKKA.NET 能够以最佳方式利用所有内核,而无需上下文切换。为了能够分析和优化配置,我更喜欢为 AKKA.NET 应用程序逻辑提供最简单的运行时环境。让 AKKA.NET 在 Web 容器内或已经使用线程和锁的控制台应用程序内运行,与只运行我的 AKKA.NET 演员的原始控制台应用程序相比,这似乎并不简单。

  • 由于 C# 中基于 actor 的逻辑与普通的过程/函数式编程有根本的不同(而且稍微复杂一些),我喜欢将其封装在一个单独的项目中,使用现有的应用程序项目作为依赖项。通过这种方式,我希望以后代码会更容易理解。

  • 我计划运行预定的演员来接管基于 cron 的处理。在我的 ASP.NET 应用程序中执行此操作似乎很脆弱,因为该应用程序可能会被基础结构带入睡眠状态。

  • 如果在某些时候我想扩展基于actor的处理,使用仅运行actor的纯控制台应用程序进行扩展似乎比扩展ASP.NET应用程序节点或扩展我的物联网消费者应用程序(其中如果不引入细微的错误,甚至可能是不可能的)。

0 投票
1 回答
143 浏览

c# - IOT Hub - RegistryManager 中缺少 QueryDevice 功能?

根据 Microsoft 的RegistryManager 类(Microsoft.Azure.Devices 命名空间)的 api 文档(及其用于 IOT Hub 的示例),应该公开几个“QueryDevices”方法。然而,当我创建一个新的控制台应用程序,从 Nuget 下载最新版本的 Microsoft.Azure.Devices 时,在 RegistryManager 类定义或智能感知中找不到它。我确实看到了许多其他方法,例如 GetDevices、AddDevices 等。

我正在尝试在我的设备上进行查询,以便可以向设备组发送消息。

我尝试了多个版本,包括:1.0.14(撰写本文时最新)、1.0.11、1.0.09 和 1.0.2。

是否知道 IOT 集线器设备的查询方法是否已移至另一个名称空间/类?或者也许我错过了什么?

0 投票
4 回答
2646 浏览

azure - Azure IoT 中心 AMQP 通信多路复用

在一些使用 Azure IoT 集线器的Microsoft 文档中,它提到在多个简单设备与本地集线器设备通信的情况下,可以在单个 TLS 连接(使用 AMQP 协议)下多路复用多个设备的通信。足够强大,可以与 IoT 中心进行通信。是否有任何示例说明如何实现这种多路复用?DeviceClient似乎不支持这一点(尽管我可能是错的)。也有人提到了这个场景的 IoT Gateway SDK,但我还没有找到一个明确的例子来说明如何使用它来设置多路复用。任何建议或对其他材料的引用将不胜感激。

0 投票
1 回答
309 浏览

azure - Azure Remote Monitoring IoT Suite 预配置的解决方案能否完全在本地计算机上运行?

我们确实探索了之前通过他们的门户创建的 Microsoft IoT Suite 预配置解决方案,并且我们意识到它是纯 100% 在 Azure 中的。然后我们通过 GitHub 进行探索,我们发现部分部署可以通过开发机器和 Azure 完成。

Azure Remote Monitoring IoT Suite 预配置的解决方案能否在本地机器上完全运行(在完全运行之前没有 Azure)?

我们之所以问这个问题是因为 IoT Azure 的开发/演示有点贵,即使在我们配置了基本服务之后也需要每月 200 美元左右才能运行,因为一旦设置为更高的服务,某些 Azure 组件就无法降级到免费的组件。

感谢您的输入。