延凡科技文档 延凡科技文档
  • 系统运行
  • 系统部署
  • 使用说明
  • 小程序和App
  • 硬件SDK说明
  • 规则引擎
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
  • 组态

    • 组态使用
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 用能分析
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • 参数配置⼊⻔教程
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • DTU设置边缘采集
  • 二次开发

    • 平台主题
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其它

    • 使用Emqx5
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMediakit录像部署
    • 常见问题
    • 相关文档
返回官网 (opens new window)
  • 系统运行
  • 系统部署
  • 使用说明
  • 小程序和App
  • 硬件SDK说明
  • 规则引擎
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
  • 组态

    • 组态使用
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 用能分析
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • 参数配置⼊⻔教程
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • DTU设置边缘采集
  • 二次开发

    • 平台主题
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其它

    • 使用Emqx5
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMediakit录像部署
    • 常见问题
    • 相关文档
返回官网 (opens new window)
  • 文档

    • 系统运行
    • 系统部署
    • 使用说明
    • 小程序和App
    • 硬件SDK说明
    • 规则引擎
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
    • OAT升级
  • 组态

    • 新建设备
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 能源监控
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • 项目部署
  • 二次开发

    • 平台主题
    • 物模型格式
    • 告警和场景格式
    • 消息流转
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其他

    • 使用Emqx5
      • 一、Docker安装Emqx5
      • 二、Emqx5配置
        • 配置文件方式
        • 控制台创建方式
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMedia录像部署
    • 常见问题
    • 视频监控常见问题
    • 相关文档
目录

使用Emqx5

# 一、Docker安装Emqx5

docker run \
--name emqx \
--publish 1883:1883 \
--publish 8083:8083 \
--publish 8883:8883 \
--publish 8084:8084 \
--publish 18083:18083 \
--env TimeZone=Asia/Shanghai \
--volume /etc/localtime:/etc/localtime \
--restart unless-stopped \
--detach \
emqx:5.1
1
2
3
4
5
6
7
8
9
10
11
12

# 二、Emqx5配置

  • Emqx配置Http认证和Webhook(处理客户端上下线),有两种方式:

    • 通过emqx.conf文件配置,已有配置好的文件位于 docker/data/emqx/ect文件夹;
    • 通过18083端口,打开Emqx控制台,创建客户端认证,数据桥接和规则
  • Emqx账号

    • 控制台默认账号 (admin,public)
    • docker-compose方式部署,emqx.conf中配置的账号(admin,admin123)

注意

Emqx控制台修改的账号,配置的Http认证、Webhook和规则会被emqx.conf中对应配置覆盖掉。官网解释如下:

  • 通过 Dashboard、HTTP API 或 CLI 进行的更改将在运行时写入 data/configs/cluster.hocon 文件并立即生效。
  • 如果相同的配置项在 etc/emqx.conf 文件中设置不同值,则在重新启动后,最终生效的是 etc/emqx.conf 中的配置。 为避免混淆,强烈建议不要在 cluster.hocon 和 emqx.conf 中具有相同的配置键。

emqx.conf配置文件中存在任何规则,设备消息转发的规则,也要配置在emqx.conf中。

# 配置文件方式

下面内容复制到emqx.conf文件中

# 设置控制台端口和默认账号
dashboard {
    listeners.http {
        bind = 18083
    }
    default_username = "admin"
    default_password = "admin123"
}

# http 认证
authentication  = [
  {
    mechanism = password_based
    backend = http
    enable = true
    method = post
    url = "http://177.7.0.13:8080/iot/tool/mqtt/authv5"
    body {
        clientid = "${clientid}"
        username = "${username}"
        password = "${password}"
        peerhost = "${peerhost}"
    }
    headers {
        "Content-Type" = "application/json"
        "X-Request-Source" = "EMQX"
    }
  }
]

# WebHook(匹配上线和下线规则后触发)
bridges {
  webhook.延凡科技_hook  =
  {
    enable  =  true
    connect_timeout  =  15s
    retry_interval  =  60s
    pool_type  =  random
    pool_size  =  8
    enable_pipelining  =  100
    max_retries  =  2
    request_timeout  =  15s
    method  =  post
    url  =  "http://177.7.0.13:8080/iot/tool/mqtt/webhookv5"
    body  =  "{\"clientid\" : \"${clientid}\",\"event\" : \"${event}\",\"peername\" : \"${peername}\"}"
    headers  =  {  accept = "application/json"  "cache-control" = "no-cache"  connection = "keep-alive"  "content-type" = "application/json"  "keep-alive" = "timeout=5"}
  }
}

# 规则(处理上线和下线)
rule_engine {
  ignore_sys_message  =  true
  jq_function_default_timeout  =  10s
  rules.延凡科技_rule  =  
  {
    sql  =  "SELECT * FROM \"t/#\",\"$events/client_connected\", \"$events/client_disconnected\", \"$events/session_subscribed\""
    actions  =  ["webhook:延凡科技_hook"]
    enable  =  true
    description  =  "处理设备上下线和订阅完主题的规则"
  }
}
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

# 控制台创建方式

  1. 配置Http认证
请求方式:POST

请求地址:http://177.7.0.13:8080/iot/tool/mqtt/authv5  (地址可以是内网或者外网,确保能访问)

请求Body:
{
  "clientid": "${clientid}",
  "password": "${password}",
  "username": "${username}",
  "peerhost": "${peerhost}"
}
1
2
3
4
5
6
7
8
9
10
11
  1. 配置WebHook

Webhook配置,先创建数据桥接,然后创建规则,规则跟数据桥接关联

数据桥接名称:延凡科技_hook (随意填写)

请求方式:POST

请求地址:http://177.7.0.13:8080/iot/tool/mqtt/webhookv5 (地址可以是内网或者外网,确保能访问)

请求Body:
{"clientid" : "${clientid}", "event" : "${event}", "peername" : "${peername}"}
1
2
3
4
5
6
7
8
规则名称:延凡科技_rule (随意填写)

SQL编辑器内容(分别代表客户端连接/断开连接/主题订阅完成):
SELECT * FROM "t/#","$events/client_connected", "$events/client_disconnected", "$events/session_subscribed"  

动作:选择创建的数据桥接延凡科技_hook
1
2
3
4
5
6
Mqtt服务端
三方登录

← Mqtt服务端 三方登录→

Theme by Vdoing | Copyright © 2021-2024 延凡科技
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式