EMQX示例
运行环境:JAVA17、EMQX5.8开源版、Redis6+
开通外网端口:1883(mqtt)、18083(emqx api)、9010(java api)
EMQX文档:https://docs.emqx.com/zh/emqx/v5.8/
1、安装EMQX
https://docs.emqx.com/zh/emqx/v5.8/deploy/install-open-source.html
2、设置语言

3、创建API密钥


4、创建客户端认证



5、创建规则
5.1创建规则 rule_message


text
SELECT
*, base64_encode(payload) as payload
FROM
"#",
"$events/message_delivered"
5.2创建规则 rule_event

text
SELECT
*
FROM
"$events/client_connected",
"$events/client_disconnected",
"$events/session_subscribed",
"$events/session_unsubscribed"
5.3创建连接器 http_message


text
http://127.0.0.1:9010/powerbank-protocol-v1/emqx/message

5.4创建连接器 http_event

text
http://127.0.0.1:9010/powerbank-protocol-v1/emqx/event
6、置规则动作 ac_message




7、设置规则动作 ac_event




8、配置spirngboot

text
spring:
data:
# redis服务地址
redis:
port: 6379
host: 127.0.0.1
emqx:
mqtt:
# 用于设备MQTT连接地址,必须是外网可访问。服务器需开放1883端口
url: mqtt.alascloud.com
port: 1883
api:
# API用户密钥
url: http://localhost:18083/api/v5
username: ee26b0dd4af7e749
password: OgNVogSs9BqYduxSJPkGx1GggrNaKdDIlM2pZUuYxMcF
notifyList:
# 配置所有消息回调地址(测试)
- url: http://localhost:9010/powerbank-protocol-v1/notify/test/iot
timeout: 15000
enabled: true
9、启动项目

text
java -jar powerbank-protocol-1.0-SNAPSHOT.jar
text
API : http://127.0.0.1:9010/powerbank-protocol-v1
Swagger Document : http://127.0.0.1:9010/powerbank-protocol-v1/doc.html