- 更新日期:2023年8月15日
- 适用网关型号:VG-L4GRF80
- 协议编写格式:json
说明:
协议由三部分组成,如下:
- method:包含指令的类型,指令的目标对象
- sys:指令的基本属性,包含指令来源对象,指令应答需求
- params:指令携带的参数或者信息,以列表的方式装载不同的数据
在线远程操作和离线usb连接操作指令一致,如果服务器的通讯协议为MQTT,则MQTT的发布和订阅主题为基于method
的值重新改造得来,格式:thing.${device_id}.${target}.${process}.${action},比如:
目标网关设备的设备ID为01010101
1、获取设备信息时,发布的主题:thing.01010101.gw.config.get
2、如果要得到设备上报上来的设备信息,则需要订阅主题:thing.01010101.sv.config.push
3、接收心跳包,则需要订阅主题:thing.01010101.sv.ping
4、回复心跳包,则需要发布主题:thing.01010101.gw.pong
表 – params[0].drtPkt字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | method | 字符串 | thing.${target}.${process}.${action} | ${target} 详见sys.src ${process} 过程操作,比如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,需要回复 method 为thing.sv.ack 的信息 |
|||
3 | params | 列表 |
一、网关注册信息
主题:thing.${device_id}.sv.login
{ "method" : "thing.sv.login", "sys" : { "src" : "gw", "ack" : 1 }, "params" : [ { "device_id" : "000000", "pw" : "000000", "svip" : "000.000.000.176", "svport" : "1883", "netCh" : "LAN", "version" : "V1.2", "netVer" : "2.1.2", "netImei" : "865328060000000", "netIccid" : "" } ] }
表 – params[0] 字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | device_id | 字符串 | 该信息来源设备的id,如果sys.src =gw ,则device_id 为网关设备的id |
||
2 | pw | 字符串 | 服务器登陆密码,用于设备登录判断 | ||
3 | svip | 字符串 | 服务器ip地址 | ||
4 | svport | 字符串 | 服务器端口 | ||
5 | netCh | 字符串 | 当前网关联网通道, LAN表示正使用以太网联网, SIM表示正使用4G网络联网 |
||
6 | version | 字符串 | 当前网关固件版本 | ||
7 | netImei | 字符串 | 当前网关4G模组的imei号,可用于4G模组的远程升级等用途 | ||
8 | netVer | 字符串 | 当前网关4G模组固件版本,可用于4G模组的远程升级等用途 |
二、网关心跳信息
当服务器收到该信息时,必须需回复pong信息,网关一个小时内没有收到任何数据,将自动重启设备
主题:thing.${device_id}.sv.ping
{ "method" : "thing.sv.ping", "params" : [ { "gwTemp" : "31.02", "rf0Rssi" : -109 } ], "sys" : { "src" : "gw", "ack" : 1 } }
表 – params[0] 字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | gwTemp | 字符串 | 当前网关的设备温度,单位:摄氏度 | ||
2 | rf0Rssi | 数字 | 有符号整型类型,环境无线信号强度,单位:dBm |
网关心跳服务器响应信息
主题:thing.${device_id}.gw.pong
{ "method" : "thing.gw.pong", "sys" : { "src" : "sv", "ack" : 0 }, "params" : [ { "time" : "2023-08-12 22:11:35" } ] }
表 – **params[0].**字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | time | 字符串 | 当前日期时间,格式:YYYY-MM-DD hh:mm:ss |
三、mqtt遗嘱信息
主题:thing.${device_id}.sv.will
备注:
- 当网关设备掉线超时后服务器会向订阅了主题为
thing.${device_id}.sv.will
的客户端发布该主题数据
{ "method" : "thing.sv.will", "sys" : { "src" : "gw", "ack" : 0 }, "params" : [ ] }
表 – params[0] 字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 |
四、lora无线数据透传普通数据信息
主题:thing.${device_id}.sv.property.push
透传数据包:01030002000125CA
,格式:hex
{ "method" : "thing.sv.property.push", "sys" : { "src" : "sub", "ack" : 0 }, "params" : [ { "drtPkt" : { "device_id" : "00000000", "rssi" : -53, "dtTyp" : "hex", "packet" : "01030002000125CA", "pktLen" : 8 } } ] }
表 – params[0].drtPkt字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | device_id | 字符串 | 该信息来源设备的id,如果sys.src =sub ,则device_id 为终端节点设备的id |
||
3 | rssi | 数字 | 有符号整型,无线数据包信号强度 | ||
4 | dtTyp | 字符串 | hex、str | packet数据包的数据格式 | |
5 | packet | 字符串 | 透传数据包 | ||
5 | pktLen | 数字 | 透传数据包长度 |
五、服务器下发无线透传普通数据信息
主题:thing.${device_id}.sub.property.push
透传数据包:01030002000125CA
,格式:hex
{ "method" : "thing.sub.property.push", "sys" : { "src" : "sv", "ack" : 0 }, "params" : [ { "drtPkt" : { "device_id" : "00000000", "dtTyp" : "hex", "packet" : "01030002000125CA" } } ] }
表 – params[0].drtPkt字段说明
序号 | 字段 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|---|
1 | device_id | 字符串 | 目标终端节点设备ID | ||
2 | dtTyp | 字符串 | hex、str | packet数据包的数据格式 | |
3 | packet | 字符串 | 透传数据包 |