数据接入开放协议-数据定义

协议的基础数据定义都是以ProtoBuff的语法形式来进行定义,通讯数据编码和解码也是基于ProtoBuff来实现。

值类型定义

enum ValueType { 
Unknown = 0; 
Integer = 1; // 整数类型 
Double = 2; // 浮点类型 
Boolean = 3; // 布尔类型 
String = 4; // 字符串类型 
Bytes = 5; // 字节流类型 
}

存档压缩定义

message CompressSpec 
{ 
bool enable = 1; // 压缩设置启用标识 默认 false 
float value = 2; // 工程量参数 
int64 maxElapse = 3; // 最大上送周期 (s) 
}

位号元数据

元数据定义

message MetaTag 
{ 
int32 version = 1; // 位号版本,位号信息发生变化时进行更新 
string name = 2; // 位号名称(字符开头,不能包含非法字符) 
string showName = 3; // 位号可读名称 (任意字符,可选) 
string description = 4; // 位号描述 (可选) 
ValueType type = 5; // 位号值类型 
string unit = 6; // 位号单位 (可选) 
string range = 7; // 位号量程(下限-上限),值域取闭区间,如0-100 (可选) 
RtdValue defaultValue = 8; // 位号默认值 (可选) 
bool storage = 9; // 位号存档置,true:表示记存档,false:表示不记存档。设备首次接入时生效,后续修改平台侧不再生效。(可选) 
CompressSpec compress = 10; // 位号压缩设置 (可选) 
}

元数据列定义

message MetaTagSequence 
{ 
repeated MetaTag tags = 1; 
}

实时数据

实时数据定义

message RtdValue 
{ 
int64 timeStamp = 1; // UTC毫秒时间戳 
int64 quality = 2; // 质量码,0-标识正常值 
oneof value 
{ ​ 
int64 intVal = 3; ​ 
double dblVal = 4; ​ 
bool boolVal = 5; ​ 
string strVal = 6; ​ 
bytes bytVal = 7; 
} 
}

命名实时数据定义

message NamedValue 
{ 
string name = 1; // 位号名称 
RtdValue value = 2; // 位号实时值 
}

实时数据列定义

message ValueSequence 
{ 
repeated NamedValue values = 1; 
}

续传数据

同ValueSequence

事件数据

message RtdEvent 
{ 
string topic = 1; bytes payload = 2; 
}

时间同步

message GatewayCoordinate 
{ 
int64 localTimeStamp =1; 
} message ServerCoordinate 
{ 
int64 localTimeStamp =1; 
int64 serverTimeStamp =2; 
}

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值