我想更改模拟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
答案 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\"]}"
}
}