跳转至

参数配置协议说明

网关配置协议说明

备注

  • 适用网关型号:VG-L4GRF80
  • 协议编写格式:json
  • 更新说明
    • 协议更新日期:2023年11月17日
    • 适用固件版本:V2.3或更新版本
    • 协议更新内容:
      • 增加网关白名单操作
      • 增加appId

说明: 协议由三部分组成,如下:

  1. method:包含指令的类型,指令的目标对象
  2. sys:指令的基本属性,包含指令来源对象,指令应答需求
  3. params:指令携带的参数或者信息,以列表的方式装载不同的数据

在线远程操作和离线usb连接操作指令一致,如果服务器的通讯协议为MQTT,则MQTT的发布和订阅主题为基于method的值重新改造得来,格式:thing.\({device_id}.\).\({process}.\),比如: 目标网关设备的设备ID为01010101

  1. 获取设备信息时,发布的主题:thing.01010101.gw.config.get
  2. 如果要得到设备上报上来的设备信息,则需要订阅主题:thing.01010101.sv.config.push
  3. 接收心跳包,则需要订阅主题:thing.01010101.sv.ping
  4. 回复心跳包,则需要发布主题:thing.01010101.gw.pong

表 - 字段说明

序号 字段 类型 范围 说明
1 method 字符串 ===============================================================
({target}** 详见sys.src<br>**\) 过程操作,比如config、property、ack、login、ping、pong
${action} 操作动作,比如get、set、push。不是每个method都有action
2 sys 对象
- src 字符串 ext、sub、gw、sv 数据来源对象
ext为外设,比如网关的串口外设之类的
sub为无线或者有线的组网终端节点
gw为网关设备
sv为服务器
- ack 数字 =0,目标对象无需回复
=1,需要回复methodthing.sv.ack的信息
3 params 列表

表 - 指示灯说明

序号 指示灯 功能 说明
1 RF 无线收发指示灯 收到或者有无线数据发送时闪烁一下
2 COM 串行口收发指示灯 RS485接口收到或者有串行数据发送时闪烁一下
3 NET 网络状态收发指示灯 网络连接状态指示灯
1. 熄灭:如果是以太网方式联网,则表示网线未连接,如果是4G方式联网,则表示4G未能正常连接基站,可能原因未插SIM卡或者SIM卡无效
2. 快闪(200ms周期):硬件有故障,有损坏的可能
3. 慢闪(2S周期):网络连接正常,但是未能正常连接指定的服务器
4. 常亮:已连接指定服务器
4 CH 联网通道指示灯 联网通道指示灯
1. 常亮:通过以太网联网
2. 熄灭:通过4G通道联网
3. 以500毫秒周期翻转闪烁:正在自动选择可联网通道
5 PWR 电源灯 电源指示灯,以2秒周期翻转闪烁

表 - 外置接口说明

序号 接口 功能 说明
1 ANT-RF 无线天线 SMA母座,一般为sub-G无线天线,比如433MHz频段天线或者470MHz频段天线
或者868MHz频段天线或者915MHz频段天线或者2.4GHz频段天线
2 RST 复位按键 复位按键
1. 短按:重启设备
2. 长按3秒以上:恢复出厂设置,并自动重启
3 USB USB-micro-B接口 USB-micro-B接口
1. 可用于参数配置
2. 可用于固件升级
4 SIM SIM卡卡座 尺寸:中卡,可支持中国移动、中国联通以及中国电信
5 ANT-4G 4G通讯天线 SMA母座
6 DC-IN 供电电源 电压12V,电流1A以上,类型:内径:2.5mm 外径:6mm
7 G
RS485-A
RS485-B
RS485接口 G:接地或悬空
RS485-A:接485总线的A
RS485-B:接485总线的B
8 LAN RJ45接口 以太网网线连接

一、设备信息

表 - params[0].deviceInfor字段说明

序号 字段 类型 范围 默认值 说明
1 ver 字符串 1.0 当前网关的固件版本
2 dvId 字符串 当前网关设备ID
3 appId 字符串 当前网关应用ID,默认与dvId相同,主要是应用于无线通讯,无线终端上行数据带的目标设备id要与appId一致
4 netCh 数字 0~2 0 联网通道,
=0自动选择上网方式,
=1使用以太网联网,
=2使用4G联网

1、设备信息获取

示例

{
    "method": "thing.gw.config.get",
    "sys": {
        "src": "sv",
        "ack": 0
    },
    "params": [{
        "deviceInfor": 1
    }]
}

回复

{
    "params": [{
        "deviceInfor": {
            "ver": "1.4",
            "dvId": "72A60000",
            "appId": "72A60000",
            "netCh": 0
        }
    }],
    "method": "thing.sv.config.push",
    "sys": {
        "src": "gw",
        "ack": 0
    }
}

2、设备信息设置

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "deviceInfor": {
            "netCh": 0,
            "appId": "00000000"
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 1,
        "src": "gw"
    }
}

二、RS485的串口参数

表 - params[0].uart485字段说明

序号 字段 类型 范围 默认值 说明
1 br 数字 4个字节 9600 串口波特率
2 dl 数字 0~2 0 串口数据长度,
=0串口数据长度为8bit,
=1串口数据长度为9bit,
=2串口数据长度为7bit
3 sb 数字 0~2 0 =0串口停止位为1bit,
=1串口停止位为0.5bit,
=2串口停止位为2bit,
=3串口停止位为1.5bit
4 ll 数字 无效 预留
5 el 数字 无效 预留
6 fm 数字 无效 预留
7 cb 数字 无效 预留

1、RS485的串口参数获取

示例

{
    "method": "thing.gw.config.get",
    "sys": {
        "src": "sv",
        "ack": 0
    },
    "params": [{
        "uart485": 1
    }]
}

回复

{
    "params": [{
        "uart485": {
            "dl": 0,
            "fm": 0,
            "sb": 0,
            "ll": 0,
            "el": 0,
            "br": 9600,
            "cb": 0
        }
    }],
    "method": "thing.sv.config.push",
    "sys": {
        "src": "gw",
        "ack": 0
    }
}

2、RS485的串口参数设置

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "uart485": {
            "br": 9138840,
            "dl": 0,
            "sb": 0,
            "cb": 0,
            "el": 0,
            "fm": 0
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 1,
        "src": "gw"
    }
}

三、lora无线配置参数

表 - params[0].lwqnRf0字段说明

序号 字段 类型 范围 默认值 说明
1 dm 数字 0~1 无效 调制模式,
=0为FSK,
=1为lora
2 swl 数字 2个字节 无效 同步字长度
3 lr_cr 数字 1~4 lora的coderate,
=1为4/5,
=2为4/6,
=3为4/7,
=4为4/8
4 ch 数字 1个字节 无线信道
5 rxto 数字 2个字节 无效 接收超时时间,单位:毫秒
6 txto 数字 2个字节 无效 发送超时时间,单位:毫秒
7 pwr 数字 6~31 发射功率,
8 bf 数字 4个字节 无线基础频点,用于根据信道计算最终频点
9 band 数字 1个字节 无效 无线频段,用于根据信道计算最终频点
10 lr_crcl 数字 1个字节 lora的crc长度
11 pm 数字 1个字节 无效 数据包模式
12 pl 数字 2个字节 8 前导码长度
13 lr_ldr 数字 0~1 无效 使能低速率模式,
=0自动根据配置使能,
=1关闭低速率模式,
=2打开低速率模式
14 lr_hd 数字 无效 使能head模式,
=0关闭head模式,
=1打开head模式
15 fpl 数字 0 固定包模式长度,
=0动态数据包模式,
!=0固定包长度
16 crc 数字 无效 无线crc模式
17 lr_sf 数字 6~11 无线lora的扩频因子
18 dd 数字 无效 无线模组数据方向
19 lr_bw 数字 0~3 无线lora的带宽,
0: 62.5 kHz,
1: 125 kHz,
2: 250 kHz,
3: 500 kHz
20 sw 字符串 无效 同步字,hex格式
21 br 数字 无效 无线波特率
22 cs 数字 4个字节 920000 无线信道间隔,单位:Hz

1、lora无线配置参数获取

示例

{
    "method": "thing.gw.config.get",
    "sys": {
        "src": "sv",
        "ack": 0
    },
    "params": [{
        "lwpnRf0": 1
    }]
}

回复

{
    "params": [{
        "lwqnRf0": {
            "dm": 1,
            "swl": 4,
            "lr_cr": 4,
            "ch": 1,
            "rxto": 3000,
            "txto": 0,
            "pwr": 31,
            "bf": 433000000,
            "band": 1,
            "lr_crcl": 0,
            "pm": 0,
            "pl": 8,
            "lr_ldr": 0,
            "lr_hd": 0,
            "fpl": 0,
            "crc": 0,
            "lr_sf": 10,
            "dd": 0,
            "lr_bw": 2,
            "sw": "",
            "br": 2,
            "cs": 920000
        }
    }],
    "method": "thing.sv.config.push",
    "sys": {
        "src": "gw",
        "ack": 0
    }
}

2、lora无线配置参数设置

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "lwpnRf0": {
            "band": 0,
            "br": 0,
            "bf": 0,
            "ch": 0,
            "crc": 0,
            "cs": 0,
            "dd": 0,
            "dm": 0,
            "fpl": 0,
            "lr_bw": 0,
            "lr_cr": 1,
            "lr_crcl": 0,
            "lr_hd": 0,
            "lr_ldr": 0,
            "lr_sf": 5,
            "pl": 8,
            "pm": 0,
            "pwr": 0,
            "rxto": 8,
            "swl": 8,
            "txto": 0
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 1,
        "src": "gw"
    }
}

四、联网服务器参数

表 - params[0].server字段说明

序号 字段 类型 范围 默认值 说明
1 url 字符串 最长50字符 服务器域名
2 ip 字符串 0 服务器ip地址
3 port 数字 2字节 服务器端口号
4 np 数字 0~7 4 服务器通讯协议,
=0为TCP-server,
=1为TCP-client,
=2为UDP-server,
=3为UDP-client,
=4为MQTT,
=5为HTTP,
=6为HTTP-server
5 mlp 字符串 最长20字符 mqtt账号
6 mla 字符串 最长20字符 mqtt密码
7 hp 数字 2字节 心跳周期,单位:秒
8 mcid 字符串 最长20字符 无效 mqtt客户端ID,由软件自动生成
9 mpt 字符串 最长20字符 无效 mqtt发布主题,由软件自动生成
10 mst 字符串 最长20字符 无效 mqtt订阅主题,由软件自动生成
11 pw 数字 4个字节 0 设备登录密码

1、联网服务器参数获取

示例

{
    "method": "thing.gw.config.get",
    "sys": {
        "src": "sv",
        "ack": 0
    },
    "params": [{
        "server": 1
    }]
}

回复

{
    "params": [{
        "server": {
            "mlp": "xxxx",
            "mpt": "xxxx",
            "mcid": "ABCDEFG13123",
            "hp": 0,
            "ip": "000.000.000.000",
            "np": 4,
            "port": 1883,
            "mla": "xxxx",
            "mst": "xxxx",
            "url": "",
            "pw": 0
        }
    }],
    "method": "thing.sv.config.push",
    "sys": {
        "src": "gw",
        "ack": 0
    }
}

2、联网服务器参数设置

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "server": {
            "netProtocol": 0,
            "hp": 0,
            "port": 0,
            "pw": 0,
            "ip": "...",
            "mcid": "",
            "mla": "",
            "mlp": "",
            "mpt": "",
            "mst": "",
            "url": ""
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 0,
        "src": "gw"
    }
}

五、网关设备重启

表 - params[0].restart字段说明

序号 字段 类型 范围 默认值 说明
1 restart 数字 1 1 重启设备指令

1、设备重启

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "src": "sv",
        "ack": 1
    },
    "params": [{
        "restart": 1
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 0,
        "src": "gw"
    }
}

六、设置无线节点参数

表 - params[0].subParams字段说明

序号 字段 类型 范围 默认值 说明
1 device_id 字符串 必填,目标终端节点设备ID
2 dtTyp 字符串 hex、str 非必填,buffer数据包的数据格式,不填为str
3 cmd 数字 0 必填,设置命令
4 rfCh 数字 0~255 非必填,,无线信道,不填则使用设备当前设置信道
5 buffer 字符串 必填,配置参数

1、无线节点参数设置

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "src": "sv",
        "ack": 1
    },
    "params" : [ {
        "subParams" : {
            "device_id" : "00000000",
            "cmd" : 0,
            "rw" : 0,
            "dtTyp" : "hex",
            "rfCh" : 0,
            "buffer" : "123"
        }
    } ]
}

回复

七、网关无线设备白名单

表 - params[0]字段说明

序号 字段 类型 范围 默认值 说明
1 nodeId 数字 1 1 获取白名单

1、白名单获取

示例

{
    "method": "thing.gw.config.get",
    "sys": {
        "ack": 0,
        "src": "ext"
    },
    "params": [{
        "nodeId": 1
    }]
}

回复 表 - params[0].nodeId字段说明

序号 字段 类型 范围 默认值 说明
1 list 列表 白名单列表
2 counts 数字 白名单列表个数
3 maxCounts 数字 支持最大白名单列表个数
{
    "method": "thing.sv.config.push",
    "sys": {
        "src": "gw",
        "ack": 0
    },
    "params": [{
        "nodeId": {
            "list": ["D0824896"],
            "counts": 1,
            "maxCounts": 150
        }
    }]
}

2、白名单添加

表 - params[0].nodeIdAdd字段说明

序号 字段 类型 范围 默认值 说明
1 list 列表 需要添加的白名单列表,可以同时添加多个

示例,将一个设备id为1231231添加入白名单中

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "nodeIdAdd": {
            "list": ["1231231"]
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 0,
        "src": "gw"
    }
}

3、白名单移除

表 - params[0].nodeIdAdd字段说明

序号 字段 类型 范围 默认值 说明
1 list 列表 需要移除的白名单列表,可以同时移除多个

示例,将一个设备id为1231231从白名单中移除

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "nodeIdRmv": {
            "list": ["1231231"]
        }
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 0,
        "src": "gw"
    }
}

4、白名单清空

示例

{
    "method": "thing.gw.config.set",
    "sys": {
        "ack": 1,
        "src": "sv"
    },
    "params": [{
        "nodeIdClr": 1
    }]
}

回复

{
    "params": [{
        "message": "config set ok",
        "code": 200
    }],
    "method": "thing.sv.ack",
    "sys": {
        "ack": 0,
        "src": "gw"
    }
}