Node-RED + Server酱:IoT 传感器事件推送微信

效果:Node-RED 流程中的传感器越限、设备状态变化等事件,通过 http request 节点调用 Server酱 API,实时推送到微信。

前置条件

  • Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程
  • Node-RED 运行环境,能访问外网
  • 一个可触发事件的流程(如 MQTT 输入、传感器数据等)

配置步骤

1. 构造消息并发送请求

在触发节点之后添加两个节点:先用 function(或 change)节点把 msg.payload 设为 {"title":"通知标题","desp":"通知内容"};再连接一个 http request 节点,Method 选 POST,URL 填 https://sctapi.ftqq.com/你的SENDKEY.send,并将请求体设为发送 msg.payload(JSON)。

你的SENDKEY 替换为实际 SendKey。参数 titledesp 按需填写。

如 SendKey 以 sctp 开头,请查阅 Server酱 官方文档获取正确的请求 URL。

2. 添加 http request 节点

在 function 节点之后添加 http request 节点,配置其从 msg 对象读取请求信息(具体配置方式以 Node-RED 版本为准)。

3. 连接并部署

将触发节点 → function 节点 → http request 节点依次连接,点击 Deploy 部署。

完整示例

你可以根据上述步骤自行构建流程。如需导入现成流程,请参考 Node-RED 文档中关于导入流程 JSON 的说明,并注意节点属性兼容性。

常见问题

免费额度是多少?

免费用户每天 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

部署后没有收到微信消息?

通过 Node-RED 的调试功能查看返回值,确认是否成功。如有错误,根据返回信息排查。更多排查方法见常见问题与排查

频率限制是怎样的?

每分钟最多 50 条。IoT 场景下若传感器高频触发,建议在 function 节点中加入去重或限流逻辑,避免短时间内重复推送。

能否推送到钉钉群或飞书群?

可以。Server酱 支持推送到企业微信、钉钉群、飞书群等通道,详见通道说明

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。