跳至主要內容

数据类型

约 696 字大约 2 分钟

数据类型

ThingsCloud 设备属性支持以下数据类型:

Number(数值)

任意数值,不区分整数和浮点数,例如:

-12345
0
0.123
12.345
12345

附加选项:

  • 单位
  • 精度
  • 最小值
  • 最大值

提示

当设置数值属性的最大值或最小值后,如果上报或下发的数值属性不符合该条件,ThingsCloud 会拒绝处理,您可以在设备调试中查看详细错误提示,便于修改合理的限制条件。

例如,设备上报数值型的属性格式:

{
    "temperature": 23.2,
    "humidity": 56.1
}

Text(文本)

Plaintext 字符串,例如:

auto

例如,设备上报文本型的属性格式:

{
    "mode": "auto"
}

Switch(开关量)

Switch 开关量用于表示两种状态,例如 LED 的开/关,继电器的闭合/断开。

开关量使用布尔类型,如下:

true/false

为了支持各种硬件设备的开关量表达方式,开关量允许在设备和云平台之间的消息 JSON 中使用多种开关值,如下:

  • 布尔类型
true/false
  • 整数类型
1/0
  • 文本类型
ON/OFF

附加选项:

  • ON 文字
  • OFF 文字

例如,设备上报开关量型的属性格式:

{
    "switch1": false,
    "switch2": true
}

Enum(枚举型)

Enum 类型的属性,本身也是一种文本类型,区别在于必须在限定的枚举值中取值。

例如,设备上报枚举型的属性格式:

{
    "mode": "1"
}

Object(键值对集合)

{
    "key1": value1,
    "key2": value2,
    "key3": value3,
    ...
}

value 表示已支持的任意基本数据类型。

例如,设备上报键值对型的属性格式:

{
    "data": {
        "temperature": 31.2,
        "switch": true,
        "mode": "1"
    }
}

List(列表)

[
    value1,
    value2,
    value3,
    ...
]

value 表示已支持的任意基本数据类型。

例如,设备上报列表型的属性格式:

{
    "data": [
        1,
        3,
        5
    ]
}

MapPoint(地理坐标)

该数据类型用于表示地理坐标,可在内置的坐标转换和电子围栏等规则中使用。

该数据类型的结构如下:

{
    "lat": number,
    "lng": number
}

例如,设备上报地理坐标型的属性格式:

{
    "location": {
        "lat": 41.0203,
        "lng": 38.3183
    }
}

MapCircle(地理圆形围栏)

该数据类型用于表示地理圆形围栏,可在内置的电子围栏规则中使用。

该数据类型的结构如下:

{
    "centerPoint": {
        "lat": number,
        "lng": number
    },
    "radius": number
}
  • centerPoint:圆形区域的中心点位置。
  • radius:圆形的半径,单位是米。

例如,设备上报地理圆形围栏型的属性格式:

{
    "map_circle": {
        "centerPoint": {
            "lat": 41.0203,
            "lng": 38.3189
        },
        "radius": 500
    }
}

MapPolygon(地理多边形围栏)

该数据类型用于表示地理多边形围栏,可在内置的电子围栏规则中使用。

该数据类型的结构如下:

[
    {
        "lat": number,
        "lng": number
    },
    {
        "lat": number,
        "lng": number
    },
    {
        "lat": number,
        "lng": number
    },
    ...
]