设置数据点的分辨率,偏移量的代码在哪里呢
我上传的值为200,应该显示20.0,但是显示是200.0,我看是哪里的问题数据点定义:http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html#%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E7%82%B9
机智云为了让设备功能定义更加简单直接、所见即所得,研究出来一套算法,用于将用户输入的数值转换成设备能够识别的uint类型,这套算法的核心公式是:y=kx+m。
y表示“显示值”,就是用户可见的最终数值,也是数据点定义时输入的值。包括Ymin(最小值) 和 Ymax(最大值)。
x表示“传输值”,就是实际指令间传输使用的数值,云端/客户端接收到的值。一定是uint格式。也包括 Xmin 和 Xmax。
k表示“分辨率”,就是用户输入的分辨率一值,确定了每个取值的步进。
m表示“取值偏移量”或“增量”,算法通过m值将y值偏移到满足x值uint格式的要求,m值默认等于Ymin,确保Xmin=0 。
以下用一个电子温度计举例说明换算过程 数据点内容: 取值范围:-30(Ymin) ~ 50(Ymax),分辨率:0.1
根据公式:y=kx+m,m默认等于Ymin -30
Xmin = (-30+30) / 0.1 = 0
Xmax = (50+30) / 0.1 = 800
页:
[1]