# Node-RED 接入 Server酱：IoT 传感器事件推送微信（2026 教程）

> 用 Node-RED http request 节点调用 Server酱 API，将传感器越限、设备状态变化等 IoT 事件推送到微信。

- 网页版：https://sct.ftqq.com/docs/integrations/node-red/
- 更新日期：2026-07-17

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

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

## 前置条件

- Server酱 SendKey：登录 sct.ftqq.com，在「SendKey」页面复制（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）
- 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。参数 `title` 和 `desp` 按需填写。

如 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 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**部署后没有收到微信消息？**

通过 Node-RED 的调试功能查看返回值，确认是否成功。如有错误，根据返回信息排查。更多排查方法见[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)。

**频率限制是怎样的？**

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

**能否推送到钉钉群或飞书群？**

可以。Server酱 支持推送到企业微信、钉钉群、飞书群等通道，详见[通道说明](https://sct.ftqq.com/docs/getting-started/channels/)。

## 相关集成

- [/integrations/python/](https://sct.ftqq.com/docs/integrations/python/) —— Python 脚本推送
- [/integrations/uptime-kuma/](https://sct.ftqq.com/docs/integrations/uptime-kuma/) —— Uptime Kuma 宕机告警
- [/integrations/qinglong/](https://sct.ftqq.com/docs/integrations/qinglong/) —— 青龙面板任务通知


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

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

```text
请帮我把 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 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

