数据类型详解
SagooIOT遵循ICA数据标准,提供了7种数据类型,分别为:整 数型、浮点型、枚举型、布尔型、字符串、时间型和JSON对象,各数据类型的详细定义如下:
整数型
类型 | 结构 | |||
---|---|---|---|---|
整数型 | 最小值 | 最大值 | 单位 | 单位维度 |
【定义】 32位有符号整型int32。
【格式说明】 最小值、最大值:整数类型数据的取值范围,仅支持整型数值。 单位维度、单位:单位维度表示单位所属的类别,通常一个单位维度下会包含一个或者多个不同单位。例如,单位维度『长度』,其中包含: 毫米(mm),厘米(cm),米(m),千米(km)等。
【应用场景举例】 如下数据表示,环境温度可以在-20~55摄氏度(℃)的范围内变化。
数据名称 | 数据类型 | 最大值 | 最小值 | 单位 | 单位维度 |
---|---|---|---|---|---|
环境温度 | 整数类型 | -20 | 55 | 摄氏度(℃) | 温度 |
浮点型
类型 | 结构 | ||||
---|---|---|---|---|---|
浮点类型 | 最小值 | 最大值 | 浮点精度 | 单位 | 单位维度 |
【定义】 带小数的浮点类型,float类型(单精度)或者double类型(双精度)。
【格式说明】 浮点精度:分为单精度(float)和双精度(double)。 最小值、最大值:浮点类型数据的取值范围。 单位维度、单位:单位维度表示单位所属的类别,通常一个单位维度下会包含一个或者多个不同单位。例如,单位维度『电流』,其中包含: 毫安(mA),安(A)等。
【应用场景举例】 如下数据表示,插座的电流值可在0~16安之间变化,数值有效小数位为0.1,可表示为8.1A,12.3A。
数据名称 | 数据类型 | 最大值 | 最小值 | 浮点精度 | 单位 | 单位维度 |
---|---|---|---|---|---|---|
插座电流 | 浮点型 | 0 | 16 | 双精度 | 安(A) | 电流 |
枚举型
类型 | 结构 |
---|---|
枚举型 | 枚举值1:枚举值名称1;枚举值2:枚举值名称2...枚举值n:枚举值名称n |
【定义】 有限变量值的集合,每个变量值只限于列举出来的值的范围内,通常适用于模式功能
【格式说明】 枚举值:仅支持整型(不超过2位即0-99),最多支持定义25个枚举值。 枚举值名称:表示枚举值代表的意义。
【应用场景举例】 如下数据表示,电风扇风速分为0:低档,1:中档,2:高档,可以在3个档位间切换。
数据名称 | 数据类型 | 枚举值 |
---|---|---|
风速档位 | 枚举值 | 0:低档1:中档2:高档 |
布尔型
类型 | 结构 | |
---|---|---|
布尔型 | 0(False):状态描述 | 1(True):状态描述 |
【定义】 只有真、假两种状态的二值型变量,通常适用于开关功能。
【格式说明】 0:表示False状态,例如开关的关闭状态。该状态的描述可定义,例如,关闭、停止、撤防。 1:表示True状态,例如开关的开启状态。该状态的描述可定义,例如,打开、启动、布防。
【应用场景举例】 如下数据表示,电灯开关有两个状态,0表示关灯,1表示开灯。
数据名称 | 数据类型 | 布尔值 | |
---|---|---|---|
电灯开关 | 布尔型 | 0:关灯 | 1:开灯 |
字符串
类型 | 结构 |
---|---|
字符串 | 最大字符串字节长度 |
【定义】 字符串组成的一段文本。
【最大字符串字节长度】 字符串最大的字节长度,最大值为255。
【应用场景举例】 如下数据表示,设备日志,用字符串来记录设备运行状态,但字符串不能超过100个字节。
数据名称 | 数据类型 | 最大字符串字节长度 |
---|---|---|
设备日志 | 字符串 | 100字节 |
时间型
类型 | 数据类型 |
---|---|
时间型 | long整型(毫秒) |
【定义】 long整型,表示从(1970年01月01日0:00:00)开始计算的毫秒数。
JSON对象(结构体)
类型 | 结构 | |
---|---|---|
JSON对象 | 属性参数(2..N) | 数据类型 |
【定义】 由2个或者2个以上属性参数组合而成,用来表示多个属性相互紧密关联,同时存在才有意义的数据类型,例如颜色RGB,HSV等。
【格式说明】 属性参数:属性参数可以对应于不同的数据类型,但不能是结构体类型。(结构体类型数据不支持嵌套)
【应用场景举例】 如下 数据表示,灯的颜色用RGB表示,其中Red,Green,Blue三个参数要同时存在才能准确描述一种颜色。
数据名称 | 数据类型 | 属性参数 | 数据类型及结构 | ||||
---|---|---|---|---|---|---|---|
数据类型 | 最小值 | 最大值 | 单位维度 | 单位 | |||
灯的颜色 | JSON对象 | Red | 整数型 | 0 | 255 | 无 | 无 |
Green | 整数型 | 0 | 255 | 无 | 无 | ||
Blue | 整数型 | 0 | 255 | 无 | 无 |