代码之家  ›  专栏  ›  技术社区  ›  Markus

我可以在格拉瓦纳图度量中使用数学方程吗?

  •  1
  • Markus  · 技术社区  · 6 年前

    我的处境:

    我正在用一个臂上的浮子测量我的雨水箱的水位,这个浮子连接到一个可变的电位计上,由一个Arduino监控。 当油箱下降时,电压读数以正弦波的方式下降(对于pi/2弧度的范围,即90度)。

    目前我正在通过Grafana远程读取一个influxdb的值,它只是显示电压水平。随着液位下降,随着角度的变化,读数将越来越不准确。

    为了解决这个问题,我想在grafana/graph/metrics部分添加一个sin(theta)方程。但我不知道这是否可行。 从我发现的情况来看,这似乎超出了格拉法纳的能力范围,但我的手指交叉了,因为唯一的其他选择是尝试在infuxdb中添加一些东西(超出我的知识范围),或者直接将代码添加到arduino中,通过安装和连接在我的雨水箱中,这是我不喜欢的。做。

    如果有人能让我知道是否有可能(或不可能)通过格拉法那将是非常感谢。

    谢谢你。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Samuel Toh    6 年前

    问: 我可以在格拉瓦纳图度量中使用数学方程吗?

    答: 简短回答 . Grafana是一个数据可视化工具,用于从数据集中获得意义。

    A的工作 timeseries 面板状 Graph 接受一组时间序列数据集,格式如下,并相应地绘制数据点。

    示例数据集:

    [
      {
        "target":"upper_75", // The field being queried for
        "datapoints":[
          [622,1450754160000],  // Metric value as a float , unixtimestamp in milliseconds
          [365,1450754220000]
        ]
      },
      {
        "target":"upper_90",
        "datapoints":[
          [861,1450754160000],
          [767,1450754220000]
        ]
      }
    ]
    

    InfluxDb 支持 Sin 数学运算,但我不确定这是否足够你。我高中数学不及格,所以我不确定 sin(theta) == sin() 或者没有。

    如果 influxdb 数据源UI不支持 SIN 但实际上,您可以切换“高级查询版本”模式来手动构建它。见下面的IMG。

    此外,您还可以了解有关influx数学语法的更多信息 here .

    enter image description here

    参考文献:

    https://github.com/grafana/simple-json-datasource

    https://play.grafana.org/d/Zzlfq17mk/influx-table-merge?panelId=2&fullscreen&edit&orgId=1

    https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#sin