远程管理

1. 需求

Fox-Edge 作为部署在现场侧的设备,运维和管理人员普遍需要在数据中心/管理中心,对现场侧的Fox-Edge进行远程管理。

2. 方案

2.1 组网

现场侧的Fox-Edge通过MQTT向在数据中心侧的MQTT Broker服务器发起连接,订阅指定的Topic,等待用户的服务通过MQTT Broker 发起的操作请求,并对其进行响应后,返回对应的内容。

2.2 部署

用户在自己的服务中心,需要部署一套MQTT Broker。目前国内流行的MQTT平台,主要有MQTTX、Mica-MQTT、Smart-MQTT。

Fox-Edge的 manager-service 服务,配置好mqtt连接参数后,重启后,会连接云端的MQTT Broker,等待来自云端的请求。

2.3 接口

Fox-Edge的 manager-service 服务,本身能够接受自带Web UI的各种HTTP restful操作请求。

为了减少不必要的重复性开发,manager-service服务在提供MQTT接口,在采用了restful Like的风格。

开发者,只需参考前端Web UI的restful接口,然后按在MQTT接口上进行传输数据,即可对Fox-Edge进行远程操作。

2.3.1 Web UI

HTTP的Restful API

查询system 通道查询API 请求接口

resource: /kernel/manager/channel/page
method: post
body: 	
{
	"pageNum": 1,
	"pageSize": 1
}

查询system 通道查询API 响应接口

{
	"msg": "操作成功",
	"code": 200,
	"data": {
		"total": 24,
		"list": [{
			"channelParam": {
				"ip": "127.0.0.1",
				"port": 102,
				"rack": 0,
				"slot": 1,
				"plcType": "S1200"
			},
			"createTime": 1696820977407,
			"channelName": "西门子-S7-PLC-1",
			"channelType": "s7plc",
			"updateTime": 1696907665211,
			"id": 59
		}]
	}
}

2.3.2 MQTT Remote

MQTT的Restful Like API

1、查询system 通道查询API 请求接口


topic:/fox/proxy/c2e/BFEBFBFF000906A3/forward

context:

{
	"uuid": "1b1df78266b9449c9d5705f821a2b4c1",
	"resource": "/kernel/manager/channel/page",
	"method": "post",
	"body": {
		"pageNum": 1,
		"pageSize": 1
	}
}

查询system 通道查询API 响应接口

topic:/fox/proxy/e2c/forward/BFEBFBFF000906A3

context:

{
    "topic": "/fox/proxy/c2e/BFEBFBFF000906A3/forward",
	"uuid": "1b1df78266b9449c9d5705f821a2b4c1",
	"resource": "/kernel/manager/channel/page",
	"method": "post",
	"body": {
		"msg": "操作成功",
		"code": 200,
		"data": {
			"total": 24,
			"list": [{
				"channelParam": {
					"ip": "127.0.0.1",
					"port": 102,
					"rack": 0,
					"slot": 1,
					"plcType": "S1200"
				},
				"createTime": 1696820977407,
				"channelName": "西门子-S7-PLC-1",
				"channelType": "s7plc",
				"updateTime": 1696907665211,
				"id": 59
			}]
		}
	},
	"msg": "",
	"code": 200
}