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

时间:2018-02-05 03:19:37

标签: azure-iot-hub azure-iot-edge

我想更改模拟tempSensor模块的频率,以便每隔60秒(而非每5秒)向IoT Hub发送遥测。我无法找到代码来创建自己的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

1 个答案:

答案 0 :(得分:2)

源代码目前不是开源的。

更新

目前(2018年4月)该代码是根据MIT许可证开源的,可以在GitHub上找到:link

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

  

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

     

" machineTempMin":21,

     

" machineTempMax":100,

     

" machinePressureMin":1,

     

" machinePressureMax":10,

     

" ambientTemp":21,

     

" ambientHumidity":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\"]}"
        }
      }