Slack是一种消息服务,允许与团队成员进行通信。Slack 允许创建频道,团队成员可以在其中发送消息和共享文件。Incoming Webhooks 是将消息从自定义应用程序发送到 Slack 通道的方法之一。
本教程展示了如何使用 Incoming Webhooks 和 ESP8266 NodeMCU 开发板向 Slack 频道发送消息。
Components
NO | Components | 数量 |
---|---|---|
1. | ESP8266 NodeMCU + Micro USB 数据线 | 1个 |
Incoming Webhooks 集成
为了使用 Incoming Webhooks,我们需要创建一个 Slack 应用程序。按着这些次序:
- 登录Slack并创建一个应用程序。
- 提供应用程序名称并选择要与该应用程序关联的工作区。单击“创建应用程序”。
- 在“添加特性和功能”部分下,单击“Incoming Webhooks”。
- 在下一个屏幕中,打开开关以激活 Incoming Webhooks。
- 然后会出现额外的选项。单击“将新 Webhook 添加到工作区”。
- 在新屏幕中,选择一个频道并单击“允许”。您将被重定向回 Incoming Webhooks 设置。
- 您可以看到如下所示的 Webhook URL:
https://hooks.slack.com/services/TXXXXXXXXXX/BXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX
- 复制 Webhook URL。它将用于将消息发送到在设置中选择的频道。在这种情况下,
general
频道已被选中。
获取 SSL 证书的指纹
为了使用 HTTPS 协议从 ESP8266 NodeMCU 向服务器发送 GET 请求,我们需要获取 SSL 证书的指纹。如果您使用 Chrome 浏览器,请按照以下步骤操作:
- 打开浏览器并输入Slack 网站的 URL 地址。
- 单击地址栏中的锁定图标,然后选择“证书”选项。
- 在新窗口中,选择“详细信息”选项卡并在列表中找到“指纹”字段。复制指纹。它将在代码中使用。
注意:证书到期时应更新指纹。
代码
我们定义常量来存储 Wi-Fi 网络 SSID 和密码、Webhook URL 和 SSL 证书的指纹。
在该setup
函数中,串行通信被初始化。我们设置站 (STA) 模式以连接到 Wi-Fi 网络。
在loop
函数中,我们生成从 1 到 100(含)的随机数。使用 POST 请求以 JSON 格式发送到 Slack 通道的消息。
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char *WIFI_SSID = "YOUR WIFI NETWORK NAME";
const char *WIFI_PASSWORD = "YOUR WIFI PASSWORD";
const char *URL = "https://hooks.slack.com/services/XX/XX/XX";
const char *FINGERPRINT = "71f8c380fe88b8ab308b3fe15eb8f6769878cc30";
WiFiClientSecure client;
HTTPClient httpsClient;
void setup()
{
Serial.begin(9600);
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected");
client.setFingerprint(FINGERPRINT);
}
void loop()
{
int value = random(1, 101);
String data = "{"text":"" + String(value) + ""}";
httpsClient.begin(client, URL);
httpsClient.addHeader("Content-Type", "application/json");
httpsClient.POST(data);
httpsClient.end();
delay(5000);
}
测试
打开 Slack 频道以查看 ESP8266 NodeMCU 开发板发布的消息。
原文链接:https://lindevs.com/send-message-to-slack-channel-using-incoming-webhooks-and-esp8266-nodemcu
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/im/17528.html