# 云边通道简介

云边通道是基于 MQTT 协议实现的边缘端设备发现与管理的通道。很多的边端设备都提供了 HTTP 服务,方便用户 在局域网内通过浏览器查看服务的状态或者进行相应的设置。但是很多时候用户需要从云端对边缘设备提供的 HTTP 服务进行访问,因为没有公网 IP,边缘端提供的 HTTP 服务无法直接进行访问。通过建立好云边通道, 可以实现由云到边的反向 HTTP 服务的访问。

# 功能

可扩展的云边通道 (MQTT)

  • 支持配置文件添加组件信息

  • 组件状态实时上报

  • 边缘端服务的实时响应

# 获取edge-agent

edge-agent-bin-x86_64.tar.gz (opens new window)

edge-agent-bin-aarch64.tar.gz (opens new window)

edge-agent-bin-armv7.tar.gz (opens new window)

# 前置要求

首先用户需要创建产品创建设备

# 运行参数

可通过 edge-agent -h 获取帮助信息, 如下:

edge-agent 0.1.0
The components manager, gateway and proxy for edge device

USAGE:
    edge-agent [FLAGS] [OPTIONS] [FILE]...

FLAGS:
    -d, --daemon     Daemon mode
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --broker <broker>          Set host [default: localhost:1883]
    -l, --log-level <log-level>    Level mode (error, warn, info, debug, trace.) [default: info]
    -p, --path <path>              Path/to/file [default: config.yaml]

ARGS:
    <FILE>...    Files to process

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  • daemon 启动(默认非daemon):
sudo edge-agent -d
1
  • 指定配置文件路径(默认情况是当前文件夹):
edge-agent -p path/to/file
1
  • 设置日志等级, 支持(error, warn, info, debug, trace)几种, 默认是info:
edge-agent -l log-level
1
  • 指定broker地址(默认是localhost:1883):
edge-agent -b ip:port
1

# 参数配置

将设备的三元组信息,更新到 edge-agent 的配置文件 config.yaml。

image-20210812143729046

---
device_name: Raspberry
product_key: KS8D0G1U 
secret: 87b3883794faa3a12e9b9e61642a8703
observer_interval: 1000
update_interval: 10000

comp_list:
- category: 1
  name: ekuiper_1
  node_type: 3
  endpoint: http://127.0.0.1:9081
  url: http://127.0.0.1:9081/ping
  status: 0
  broker: localhost:1883
  auto_recover: 1
  auto_start: 1
- category: 2
  node_type: 3
  name: neuron_1
  endpoint: http://127.0.0.1:7000
  url: http://127.0.0.1:7000/api/v1/funcno10
  api_version: 1
  status: 0
  broker: localhost:1883
  auto_recover: 1
  auto_start: 1
- category: 3
  node_type: 3
  name: edge_1
  endpoint: http://127.0.0.1:8081
  url: http://127.0.0.1:8081/api/v4
  api_version: 1
  key: 292MY64LSUBEUJVDAGYG
  secret: 92MY64L
  status: 0
  broker: localhost:1883
  auto_recover: 1
  auto_start: 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

然后根据边缘端提供的设备,修改comp_list,fabric默认提供三种功能,即ekuiper, neuron edge,如果在边缘端有自己的服务,可以加在最后面。

  - category: 4
  node_type: 3
  name: 服务名
  endpoint: 服务地址
  url: 服务的ping接口
  api_version: 版本
  key: 292MY64LSUBEUJVDAGYG
  secret: 92MY64L
  status: 0 状态初始值为0
  broker: 连接到的broker地址
  auto_recover: 是否支持自恢复
  auto_start: 是否支持自启动
1
2
3
4
5
6
7
8
9
10
11
12

其中observer_interval 为探测服务的时间间隔,update_interval为更新服务时间间隔。更新完配置文件即可启动edge-agent,可以看到边缘端提供的服务已经上线

image-20210812150105525

然后我们点击服务列表中所提供的服务,即可访问对应的服务

image-20210812150317277

image-20210812150404579

image-20210812150437305