我想更改模拟 tempSensor 模块的频率,以便它每 60 秒而不是每 5 秒向 IoT 中心发送遥测数据。我找不到代码来创建我自己的 C# 模块或修改 Azure 提供的示例模块。如何更改 IoT Edge 演练中使用的模拟温度传感器模块的遥测频率?
https://hub.docker.com/r/microsoft/azureiotedge-simulated-temperature-sensor/
我有一个每天有 8000 条消息的 Azure 物联网中心和模拟的物联网边缘设备以及通过 Docker 设置的 tempSensor 和 filterModule 等...一切运行良好。
我可以编写另一个类似于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 Edge 中使用的模块之间进行转换。
https://learn.microsoft.com/en-us/dotnet/api/overview/azure/iot?view=azure-dotnet
我在这里没有看到 API 引用:
https://learn.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
最佳答案
源代码目前尚未开源。
更新:
目前(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\"]}"
}
}
关于azure-iot-hub - 如何更改 Azure IoT Edge 模拟 tempSensor 模块的遥测频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48615437/