我有几个IoT设备(代码为Java),这些设备又在本地连接到多个设备。这些单元中的每个单元都向IoT设备报告数据,并且IoT设备将所有数据发布在可变嵌套对象数组中,该嵌套对象还具有以下数组:
{
"data":{
"version":"1.2.3",
"sensorData":{
"a":18.50733137829912,
"b":8.165982404692084,
"c":20.75894428152493,
},
"units":[
{
"address":"192.168.254.16",
"name":"Unit 1",
"connectors":[
{
"id":1,
"measurement":{
"a":13.44,
"b":0.0,
"c":0.0
},
"status":"running"
}
]
},
{
"address":"192.168.254.17",
"name":"Unit 2",
"connectors":[
{
"id":1,
"measurement":{
"a":0.0,
"b":0.0,
"c":0.0
},
"status":"initialized",
}
]
}
]
},
"notificationType":"Status",
"type":"Notification"
}
理想情况下,我希望能够继续使用诸如Contoso示例之类的仪表板应用程序,然后单击此IoT设备,并查看在sensorData上显示a,b,c的图形,该图形是平坦且固定的,而且还显示“单位1”和“单位2”分别作为曲线,例如“单位1-a”,“单位1-b”,“单位1-c”,或将它们汇总为“单位1-总计”。呈现的数据有可能吗?
所以,我
我所见过的所有样本都具有“平坦”的结构,例如根json对象上的温度和压力,因此我不确定什么是最好的方法。
这如何适合Application Insights?我也有“开始”,“停止”等事件,是否应该为此使用遥测客户端(在Java的Application Insights中)?那日志呢?使用log4j2。一切都要经过DeviceClient,然后再通过Stream Analytics进行分析和分发?
谢谢!
答案 0 :(得分:1)
IoT Central当前仅支持平面JSON进行设备测量。因此,在形成要发布到IoT中心的有效负载时,请展平设备上的JSON。对于“开始”,“停止”等事件,您可以使用State measurement。
Azure IoT Central与Application Insights是不同的产品。 Application Insights的主要重点是应用程序/用户监视,而IoT Central仅专注于IoT场景,并且具有完全不同的堆栈。