EMQX + pushplus:规则匹配后推到微信
效果:MQTT 消息命中规则后,EMQX 用你拼好的 JSON 调
/send,微信收到主题和载荷摘要。
用 Rule Engine / Data Integration 的 HTTP Server 动作。不要把默认 Webhook 原样 JSON 对着 /send 扔,除非你在 Body 里显式写了 title 和 content。
前置条件
- 一个 pushplus token(官网扫码获取)
- EMQX Dashboard 能建规则与动作(4.x / 5.x 菜单名称略有差别)
配置步骤
- 打开 Integration → Rules(5.x;4.x 为 Rule Engine → Rules)→ Create。
- SQL 先收窄主题,例如:
SELECT * FROM "alarm/#"。 - Add action → HTTP Server(5.x 也可能先建 Connector → HTTP Server 再挂到规则)。
- 填写:
- URL:
https://www.pushplus.plus/send - Method:
POST - Headers:
Content-Type: application/json - Body:
- URL:
{
"token": "你的token",
"title": "EMQX 告警",
"content": "topic=${topic} payload=${payload}",
"template": "markdown"
}
- 占位符以当前 EMQX 模板语法为准(常见
${topic}、${payload}、${clientid})。content必填,不要留空。 - Update / Enable 后,用 MQTTX 往该主题发一条测试消息。EMQX 节点需能访问
www.pushplus.plus。
只能填 URL 时用 GET 固定文案:
https://www.pushplus.plus/send?token=你的token&title=EMQX规则触发&content=请打开EMQX规则指标查看
完整字段见 消息接口。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"EMQX 配置测试","content":"token 可用","template":"markdown"}'
常见问题
规则命中次数在涨、微信没有? 看 HTTP 动作的成功/失败计数和响应体,code 应为 200。见 收不到消息、接口限制。
高频主题打满额度? 在 SQL 里加过滤,或上桥接再节流。