2

我想更改模拟 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

4

1 回答 1

2

源代码目前不是开源的。

更新:

目前(2018 年 4 月)代码在 MIT 许可下开源,可以在 GitHub 上找到:链接

为了解决您的迫切需求,有一个未记录的设置用于调整延迟。模拟温度传感器模块的所有可用设置(和默认值):

"MessageDelay": "00:00:05",

"machineTempMin": 21,

“machineTempMax”:100,

“机器压力最小值”:1,

“机器压力最大”:10,

“环境温度”:21,

“环境湿度”:25

这可以在“createOptions”部分中设置为环境变量,如下所示:

      "tempSensor": {
        "version": "1.0",
        "type": "docker",
        "status": "running",
        "restartPolicy": "always",
        "settings": {
          "image": "microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview",
          "createOptions": "{\"Env\":[\"MessageDelay=00:01:00\"]}"
        }
      }
于 2018-02-05T16:29:12.987 回答