复杂遥测的可视化和处理

时间:2018-06-27 19:53:07

标签: azure-iot-central

我有几个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-总计”。呈现的数据有可能吗?

Example

所以,我

  • “按原样”发布此数据,并以某种方式使用表示法获取嵌套数据并进行汇总?
  • 在IoT设备上对其进行处理以使其扁平化,例如unit1_name,unit1_address,unit1_connector_1_a,unit1_connector_1_b,unit1_connector_1_c等。
  • “按原样”发布此数据,并以与在到达应用程序之前(通过流分析?)在本地进行处理的方式相同的天蓝色方式处理/展平数据。

我所见过的所有样本都具有“平坦”的结构,例如根json对象上的温度和压力,因此我不确定什么是最好的方法。

这如何适合Application Insights?我也有“开始”,“停止”等事件,是否应该为此使用遥测客户端(在Java的Application Insights中)?那日志呢?使用log4j2。一切都要经过DeviceClient,然后再通过Stream Analytics进行分析和分发?

谢谢!

1 个答案:

答案 0 :(得分:1)

IoT Central当前仅支持平面JSON进行设备测量。因此,在形成要发布到IoT中心的有效负载时,请展平设备上的JSON。对于“开始”,“停止”等事件,您可以使用State measurement

Azure IoT Central与Application Insights是不同的产品。 Application Insights的主要重点是应用程序/用户监视,而IoT Central仅专注于IoT场景,并且具有完全不同的堆栈。