【开源物联网平台】FastBee使用EMQX5.0接入步骤

​🌈 个人主页:帐篷Li

🔥 系列专栏:FastBee物联网开源项目

💪🏻 专注于简单,易用,可拓展,低成本商业化的AIOT物联网解决方案

目录

[一、将java内置mqtt broker切换成EMQX5.0](#一、将java内置mqtt broker切换成EMQX5.0)

[1.1 修改application.yml配置](#1.1 修改application.yml配置)

[1.2 使用docker-compose-emqx.yml进行部署](#1.2 使用docker-compose-emqx.yml进行部署)

二、EMQX5.0配置

[2.1 配置文件方式](#2.1 配置文件方式)

[2.2 控制台创建方式](#2.2 控制台创建方式)

2.2.1配置Http认证

[2.2.2 配置设备上下线回调](#2.2.2 配置设备上下线回调)

一、将java内置mqtt broker切换成EMQX5.0

1.1 修改application.yml配置

1.2 使用docker-compose-emqx.yml进行部署

复制代码
# 使用emqx版本mqtt broker输入该命令:
sudo cp -rf docker-compose-emqx.yml docker-compose.yml

二、 EMQX5.0 配置

  • 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中。

2.1 配置文件方式

下面内容复制到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.fastbee_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.fastbee_rule  =  
  {
    sql  =  "SELECT * FROM \"t/#\",\"$events/client_connected\", \"$events/client_disconnected\", \"$events/session_subscribed\""
    actions  =  ["webhook:fastbee_hook"]
    enable  =  true
    description  =  "处理设备上下线和订阅完主题的规则"
  }
}

2.2 控制台创建方式

2.2.1 配置Http认证
复制代码
请求方式:POST

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

请求Body:
{
  "clientid": "${clientid}",
  "password": "${password}",
  "username": "${username}",
  "peerhost": "${peerhost}"
}
2.2.2 配置设备上下线回调
  1. Webhook配置,设置回调http接口
复制代码
数据桥接名称:fastbee_hook (随意填写)

请求方式:POST

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

请求Body:
{"clientid" : "${clientid}", "event" : "${event}", "peername" : "${peername}"}
  1. 创建规则,让设备连接/断开连接/主题订阅完成时,回调http api
复制代码
规则名称:fastbee_rule (随意填写)
SQL编辑器内容(分别代表客户端连接/断开连接/主题订阅完成):
SELECT * FROM "t/#","$events/client_connected", "$events/client_disconnected", "$events/session_subscribed"  
动作:选择创建的数据桥接fastbee_hook
相关推荐
玩转4G物联网12 小时前
FS800DTU 新品上线|免费使用 DMP 设备管理平台,支持远程批量配置 & OTA 升级
物联网·网络协议·tcp/ip·云平台·核心板·fs800dtu·iot管理平台
鉴生Eric13 小时前
IoT基础设施产品商的未来:回归本质的三层能力
物联网
MetrixAeroCore13 小时前
畜牧牛羊定位耳标物联网卡纽扣电池供电与休眠唤醒策略优化
物联网
智圣新创0114 小时前
存量团学系统效能跃升:智圣新创“青春科大”智慧团学平台二期升级的全周期建设参考
大数据·人工智能·物联网
liguojun202514 小时前
智慧文体旅系统选哪家?豆米跳跳十年技术沉淀支持源码交付
java·大数据·人工智能·物联网·1024程序员节
乐橙开放平台16 小时前
明厨亮灶笔记:乐橙轻应用 H5 + 小程序插件,一套 BFF 出两张播放凭证
人工智能·笔记·物联网·小程序·音视频·notepad++
李永奉16 小时前
杰理可视化SDK开发-配置ANC主动降噪功能模块教程
单片机·嵌入式硬件·物联网
绿蕉17 小时前
“十五五”5 万亿电网投资落地:新型电力系统带动电力物联网通信模组产业爆发
物联网·5g redcap·新型电力系统·十五五·电力物联网模组·v2g 车网互动 #配网智能化
乐橙开放平台18 小时前
养殖 SaaS 笔记:乐橙 IoT 物模型管环境,视频 OpenAPI 管回看
数据库·笔记·物联网·mysql·音视频
会周易的程序员1 天前
Libnodave S7 通信库:架构设计与实现解析
linux·c++·物联网·架构·c·s7·工业协议