问题标签 [azure-iot-sdk]

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

azure - Azure IoT 中心设备孪生更改通知问题

当设备孪生属性更改时,我正在尝试在云后端接收通知。为此,我设置了一条路线,如下图链接所示

https://imgur.com/a/uh0mV

我还创建了一个 Azure 函数,该函数在内置端点事件的默认使用者组上触发。但是,当我为其中一台设备更新设备孪生文档时,不会触发 azure 功能。如果我使用 iothubexplorer 或设备资源管理器监视设备的事件,我根本看不到“updateTwin”事件。但是,如果我从收到的设备发送常规设备到云,它会起作用。

我使用以下代码更新设备孪生:

我还尝试使用 iothub-explorer 使用以下命令:iothub-explorer update-twin InitialDevice {\"properties\":{\"desired\": {\"interval\":9000}}} --login ""

0 投票
2 回答
816 浏览

azure-iot-hub - Azure IoT 设备预配

我正在研究使用 Azure IoT 中心在软件客户端和后端之间进行通信。软件客户端应充当 IoT 中心用语中的设备。

是否可以将软件客户端配置为具有 IoT 中心设备配置服务的设备,而无需在 TPM 模块中为每个客户端提供唯一标识符或唯一 X.509 证书?

我不需要在配置之前对客户端进行身份验证,我只希望每个客户端都能够与 IoT 中心安全地通信。配置后,客户端必须是唯一可识别的。那时,其他客户端应该无法冒充它。

目前,我认为客户端软件需要嵌入一个中间证书,它可以使用它来签署它在尝试配置自己时创建的证书。

是否有其他方法可以让 IoT 中心客户端设备自行配置而无需使用 SAS、令牌或其他唯一标识符进行预编程?

0 投票
2 回答
710 浏览

c# - 使用 GetTwinAsync() 未完全返回设备孪生

我正在使用适用于 .NET Core 的 Azure IoT 设备客户端 SDK(1.17.0-preview-001,但也尝试了 1.7.0-stable)。当调用deviceClient.GetTwinAsync()所有字段时,NULL除了Properties(期望和报告都在那里): 在此处输入图像描述

至少我希望像 DeviceId 这样的东西会在那里。此外,当我在 DeviceTwin 中添加任何标签时,这些标签都不会影响设备。

这是一个错误还是我错过了什么?

0 投票
1 回答
106 浏览

azure-iot-sdk - 出现错误:需要授权,使用提供的密钥重新发送请求

而不是 SDK,而是直接调用 azure iot provisioning rest api 来注册设备,然后注册它。

注册调用 rest api 工作正常,但注册调用失败并出现错误

""需要授权,使用提供的密钥重新发送请求""

  • 在错误响应中给我keyname 和 authenticationkey 。

我使用 fiddler 截获了 sdk 如何进行注册调用,并注意到 sdk 首先得到 401 并出现上述错误,然后它重新发出另一个成功的请求。

目前正在根据 azure dps 的共享键名和主键生成 sas 令牌。

我有一个 Windows 应用程序,它将调用这个 webapi 来在一个电话中注册+注册设备。我将registrationid、tpmendoresmentkey、storagekey 传递给api。这个 api 在内部对 azure rest api 进行了 2 个 httpclient 调用:

  1. 将设备注册为单独注册。
  2. 注册设备

请帮助任何有助于理解解决它的想法或指示。

0 投票
1 回答
316 浏览

node.js - Azure 设备孪生客户端错误管理

我并不是从设备双胞胎和天蓝色开始,而是更接近新手而不是专家。我无法弄清楚如何正确管理 azure 设备孪生的连接问题。

我有一个长时间运行的节点应用程序,可以打开一个客户端。我发现几天或几周后,它可能开始无法与支持的设备孪生进行通信。我不确定如何管理这个或更具体地说,捕获问题并重新连接。

这是代码:

}

有 twin.error 方法吗?

部分问题是我似乎无法理解/找到有关这些方法的正确文档。

0 投票
2 回答
547 浏览

azure - azure iothub 设备停止发送消息

我最近开始使用 Azure-Iot-SDK,想知道如何调查这种行为。我的应用程序可以在一段时间内向 IoT 中心发送消息,但突然停止发送。没有错误或任何其他可以帮助我找到根本原因的东西。只需重新启动应用程序(准确地说是一项服务)就足以让它再次工作。

代码是这样的(在 DataChangedEvent 上):

不知何故,“完成发送!” 消息停止出现在日志中,但“开始发送消息”不断出现。有人对如何进行有任何建议吗?

0 投票
1 回答
42 浏览

android - iothub-service-client 对 android 应用程序的支持

我使用 iothub 上的 Direct 方法在 Raspberry Pi 3 上制作了一个简单的程序,并且能够使用设备资源管理器打开/关闭 LED 并获得响应。

现在我想制作一个Android应用程序,我可以在其中打开/关闭设备并获得响应,但我发现Android上仍然不支持iothub服务客户端,

在此处输入图像描述

现在我想推荐一种更好的方法来使用我的 Android 应用程序访问 Raspberry Pi。

0 投票
1 回答
921 浏览

azure - 从 1000 台设备中获取 connectionState 的最佳方法 - Azure IoTHub

connectionState从 1000 台设备中获取的最佳方式。目前没有那么多设备,但需要一个有效的解决方案。

根据我的理解,目前我可以connectionState使用

  1. IotHubQueries(select * from devices)registryManager.GetDevicesAsync(100);-- 这些方法在查询 1000 台设备时不是实时的,或者在设备数量增加时效率不高。
  2. HeartBeat - 我不喜欢这样,因为当设备数量很大时这会导致配额过载,从而导致发送太多消息。
  3. 操作监控/诊断监控——第一个很好,但它在 2018 年 10 月被弃用,第二个需要大约 2 分钟才能在 eventthub 中收到消息(这个延迟我自己试过并发现了)。

如果我对上述任何一项有误,请提出一些方法并纠正我。

0 投票
3 回答
1437 浏览

azure - Azure 预配服务示例不适用于节点

我按照 node.js 教程通过 Azure DPS(设备配置服务)@ https://docs.microsoft.com/en-us/azure/iot-dps/quick-create-simulated-device-x509-node注册设备. 对于单个设备注册,它成功了,但是当我尝试通过注册组注册设备时它失败了。我曾经"create_test-cert.js root"生成我的根证书和

验证 。我还要used create_test-cert.js device {leafcertificate} {rootcertificate-name}创建设备证书。最后,我使用 register_x509.js 文件将我的设备注册到 Azure。执行这个文件我有以下错误

错误代码“401002 是 IotHubUnauthorizedAccess”

谢谢

0 投票
2 回答
93 浏览

azure - azure-iot-sdk-c 子模块/库版本

我想知道如何选择 azure-iot-sdk-c 使用的依赖项的版本。例如,我打算使用:

来自 github.com/Azure/azure-iot-sdk-c.git 的 azure-iot-sdk-c,release_2018_02_09_after_bump_version(3deb0ca3a8e2d220a50175bef71d16d1650a3a79),

那么我怎么知道它的正确子模块/库版本呢?例如https://github.com/Azure/azure-uamqp-c/releases、 github.com/Azure/azure-umqtt-c.git ...中的子模块?

提前致谢。