底层协议绑定

底层协议绑定

底层协议绑定

Forms - 基本属性

NAME TYPE DEFAULT NOTE
href string - URL 地址
contentType string json 数据内容类型
response object - 应答消息定义
op array - 交互方法类型
subprotocol string - 子协议
security string - 安全信息
scopes string - 认证范围
modbus object - Modbus 协议

交互方法

NAME NOTE
readproperty 读属性值
writeproperty 修改属性值
observeproperty 观察属性
unobserveproperty 取消观察属性
invokeaction 调用操作
subscribeevent 订阅事件
unsubscribeevent 取消订阅事件
readallproperties 读所有属性值
writeallproperties 修改所有属性值
readmultipleproperties 读多个属性值
writemultipleproperties 修改多个属性值

数据格式

MQTT

使用 MQTT 时暂无限制,使用 JSON 数据格式

HTTP

使用 HTTP 协议时,云端不能主动向设备下发数据,使用 JSON 数据格式

CoAP

使用 CoAP 协议时,最大消息长度不能超过 1KB,使用 JSON 数据格式

Bluetooth

Modbus

使用 Modbus 协议时设备必须通过网关接入平台,且需要配置事物属性的 Modbus 参数

具体请参考 核心产品实现参考 一文中 Modbus 设备 一节

参考

TLV 编码介绍

TLV 是指由数据的类型 Tag,数据的长度 Length,数据的值 Value 组成的结构体,几乎可以描任意数据类型,TLV的 Value 也可以是一个 TLV 结构,正因为这种嵌套的特性,可以让我们用来包装协议的实现。

TAG LENGTH VALUE
类型 长度

Tag

NO. TYPE SIZE
bit6~7 类型, 0 表示基本数据类型
bit5 编码, 0 表示基本数据类型, 1 表示组合数据类型
bit0~4 Tag value1 类型值
bit7 Tag flag 1 表示还有更多字节
bit0~6 Tag value2 类型值

Tag value1:

0~30:可以表示 30 种类型的值,如果 Tag value1 为 31 则将通过更多字节来表示 Tag

在这里插入图片描述

Length

NO. TYPE NOTE
bit7 Flag 保留,总是为 0
bit0~6 Length 长度值
bit7 Length flag 1 表示还有更多字节
bit0~6 Length value2 长度值

Length:

0~128: 表示值的长度为 0 到 128, 如果值的长度超过 128,则需要将 bit7 置 1,并用更多字节表示长度

在这里插入图片描述

常用数据类型定义

串口参数 (Tag 类型为 1)

串口参数类型

TAG LENGTH VALUE NOTE
0 1 0~255 串口 ID
1 2 9600 波特率
2 1 'N', 'E', 'O' 校验方式
3 1 8,7 数据位
4 1 1,2 停止位
5 1 - 流控