Skip to content

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