• “智能设备(智能灯)”云端数据点定义教程


    数据点即设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。




    1.1 显示名称:自定义功能点名称。
    1.2 标识名:用于应用层传输,客户端或业务云开发时需要使用。命名规则遵循标准的开发语言变量名命名规范,支持英文字母、数字和下划线,以英文字母开头。
    1.3 读写类型:
    ① 只读:表示该数据点非控制,数据只支持从设备上报。
    ② 可写:表示该数据点可控制。设备端可上报该数据点数据;云端/客户端可对该数据点数据做出下发控制。
    ③ 报警:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。
    ④ 故障:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。云端会对设备上报的该数据点做统计,可在“运行状态”查看。
    1.4 数据类型:
    ① 布尔值:表示两个状态:0,或1。如开关状态等,建议使用布尔数据类型。例如gokit开发板的“宠物屋”,“开启/关闭红色灯”该数据点。
    ② 枚举类型:可定义一个有限的取值集合。当定义的某个功能(元器件)有固定的若干个值。例如GoKit开发板的“宠物屋”,“设定LED组合颜色”该数据点的枚举定义值:“自定义,黄色,紫色,粉色”。
    ③ 数值:填写数值范围,数值可为负数/小数,机智云自动将数值转换为正数。例如GoKit开发板的“宠物屋”,“设定电机转速”该数据点:电机有正反转、调速功能,数据点值可定义为:-5~5。
    ④ 扩展:填写数据长度,数据内容由用户自定义。对于上述功能点无法满足的复杂功能可采用。机智云不建议使用此类型数据,设备上报该数据点的数据,机智云无法识别。
    1.5 备注:选填,用一段文本描述当前数据点的功能及定义方法,对字符格式不做限制。只用于提高数据点的易读性,如果需要团队协作开发,建议规范填写。
    1.6 数据点数值型分辨率、增量换算实现原理
    如以上提到,在定义数值型数据点的时候,取值范围可以使用包括小数、负数等非uint类型数值,熟悉嵌入式开发的开发者会知道,这些数值在设备端都是不被支持的。
    机智云为了让设备功能定义更加简单直接、所见即所得,研究出来一套算法,用于将用户输入的数值转换成设备能够识别的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

    2.根据产品需求,分析硬件开发需求

    “智能灯”的产品需求是:将灯的开关状态同步到手机APP,可以使用APP远程控制灯。

        “温湿度计”的产品需求是:将温度和湿度的状态同步到手机APP。

    3.结合设备功能需求,分析设备数据点需求
    <ignore_js_op>

    <ignore_js_op>
    4.创建对应数据点

     <ignore_js_op><ignore_js_op><ignore_js_op><ignore_js_op><ignore_js_op> 
  • 相关阅读:
    08-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建完成-测试通信
    07-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建-安装MQTT软件(Linux系统)
    07-STM32+W5500+AIR202基本控制篇-实现功能1,功能2和功能4服务器搭建-安装MQTT软件(.Windows系统)
    Ceph剖析:Paxos算法实现
    Linux命令小结:crontab/netstat/iostat/sar
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    Prometheus监控+Grafana+Alertmanager告警安装使用 (图文详解)
    Go语言mgo使用情况
    gob,protobuf,json在golang中的序列化效率对比
    golang json性能分析详解
  • 原文地址:https://www.cnblogs.com/dapangsen/p/7154496.html
Copyright © 2020-2023  润新知