问题标签 [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.
windows-10-iot-core - Windows 10 iot-core 无线更新选项的清晰度?
我已经为之前版本的 iot-core(带或不带 iot-hub)编写了自己的无线更新。最近 iot-core (10.0.14393.67) 的自动更新打破了它。现在,再次明确这一关键(debian 上的开箱即用功能)功能,我比以往任何时候都更加困惑。谁能回答:
- 这篇文章讨论了通过 iot-hub 更新固件。固件是否是我的(uwp)物联网核心应用程序(例如后台任务)?
- 这篇文章讨论了微软的 oem 交易,用于提供更新功能的物联网核心商业化 ( https://www.windowsforiotdevices.com/ )。但是,尚不清楚:
- “选项一”是免费的吗?如果不是,那么问题是什么?
- 此“选项一”中是否提供更新功能
充其量,我们需要在 iot-hub 与 oem app-package-update 场景之间进行权衡取舍,因为一旦开发人员决定采用其中一种或另一种路径,这就是一项重大投资。
更新
这里真正重要的是公司/开发人员清楚地了解有关“空中更新”的选项和限制:
我们的应用程序(Appx,无头,在我们的例子中。C#。)在 Visual Studio 2015 中构建。
iot-core 操作系统(自动或预定...)。
带有(或结合)我们的应用程序的物联网核心操作系统。
这些选项及其成本尚不清楚。我们目前正在使用 azure iot-hub (et. al.),并希望尽可能地利用它。
发生的事情以及我急需解决的问题是上面的“3”:我在现场有一个 appx,并且正在使用 /System32/oemcustomization.bat 选项通过 C:/windows/appinstall 安装我的应用程序的新版本/...
几个月来,这在我所有的远程站点都运行良好。我确信一切都很稳定。突然间,我的网站都下线了。在我当地的实验室中,我可以连接到我的测试系统,在那里我注意到微软已经对 iot-core 进行了自动操作系统更新。发生了重大变化……这些变化现在的性质是,即使我修改它,我以前的空中更新方案也不再有效——有一些安全“修复”破坏了我当前的方法,我现在看到了去挽救它。
因此,我们真正需要 PM 清楚地说明上述 (1-3) 项,并且充其量是 C# 中第 1-3 项的完整、最小示例。
期待!
c# - 改进代码以从事件中心读取消息,具体取决于最后消息日期
以下代码连接到 Azure 事件中心,它遍历所有分区,然后读取要处理的消息并将其插入数据库(待完成),代码工作正常,但每次它读取所有消息。
这将作为 Azure WebJob 安装,因此它将持续、实时、不间断地运行。
- 如何改进此代码以仅读取未处理的消息?
有没有更好的方法来编写 while/for 部分,你会用不同的方法吗?
/li>
azure - Azure ARM - 列出键 - 如何获取特定键的键值?
我已经使用 Azure 资源管理模板设置了 Azure IOThub。我需要获取“共享访问策略” - 'iothubowner' 的主键值并将其用于设置下游的另一个资源。
我可以使用 Azure ARM 模板 json 中的 listkeys 函数将所有共享访问策略及其各自的主键作为数组/对象获取,如下所示
这导致
....]
我需要知道如何只过滤“iothubowner”策略的主键?
我试过这个但出错了
错误
azure - 我如何知道我在 Azure IoT Hub 中的设备是否可以访问?
我有一个带有 2 个设备的 Azure IoT 中心。我从 RaspberryPi 向另一台设备发送消息。
我怎么知道消息是从其他设备收到的?
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 专家吗??帮助!!!
最好的
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
需要流动的答案-
所以我需要在流分析中编写查询,以便查询解析 JSON 数据并将其放入表的 4 行中,如上所述。让我知道需要编写什么查询来转换表每一行中的每个键。
此外,当设备 ID 在表中匹配时,应将 Parking1、Parking2、Parking3 和 Parking4 的值插入表中。
此外,每次表中的值都应该更新而不是插入。
提前致谢!
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应用程序节点或扩展我的物联网消费者应用程序(其中如果不引入细微的错误,甚至可能是不可能的)。
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 集线器设备的查询方法是否已移至另一个名称空间/类?或者也许我错过了什么?
azure - Azure IoT 中心 AMQP 通信多路复用
在一些使用 Azure IoT 集线器的Microsoft 文档中,它提到在多个简单设备与本地集线器设备通信的情况下,可以在单个 TLS 连接(使用 AMQP 协议)下多路复用多个设备的通信。足够强大,可以与 IoT 中心进行通信。是否有任何示例说明如何实现这种多路复用?DeviceClient库似乎不支持这一点(尽管我可能是错的)。也有人提到了这个场景的 IoT Gateway SDK,但我还没有找到一个明确的例子来说明如何使用它来设置多路复用。任何建议或对其他材料的引用将不胜感激。
azure - Azure Remote Monitoring IoT Suite 预配置的解决方案能否完全在本地计算机上运行?
我们确实探索了之前通过他们的门户创建的 Microsoft IoT Suite 预配置解决方案,并且我们意识到它是纯 100% 在 Azure 中的。然后我们通过 GitHub 进行探索,我们发现部分部署可以通过开发机器和 Azure 完成。
Azure Remote Monitoring IoT Suite 预配置的解决方案能否在本地机器上完全运行(在完全运行之前没有 Azure)?
我们之所以问这个问题是因为 IoT Azure 的开发/演示有点贵,即使在我们配置了基本服务之后也需要每月 200 美元左右才能运行,因为一旦设置为更高的服务,某些 Azure 组件就无法降级到免费的组件。
感谢您的输入。