在本指南中,您将学习如何在树莓派上使用 IFTTT 。
IFTTT 是一项免费的基于 Web 的服务,代表” If 他的 T hen T hat”。
使用此服务,可以在满足特定条件时触发事件。
一个基本的例子可能是_If_检测到运动,然后_then_向您的手机发送通知。
在本指南中,我们将向您展示如何连接到 IFTTT ,如何在其中建立 Webhook ,以及如何从树莓派触发它。
设备清单
这是我们建议本教程在树莓派上使用 IFTTT 的设备的列表。
推荐的
树莓派 1、 2 、 3 或 4
Micro SD 卡
电源
Ethernet Cord 或 * WiFi dongle (Pi 3 和 4 具有内置 WiFi)
可选的
- 树莓派外壳
设置 IFTTT 操作
1 我们要做的第一件事是为 IFTTT 设置一个帐户。
首先转到 IFTTT 网站并注册一个帐户。
2 创建帐户后,我们现在可以创建操作。
首先单击您的头像 (1),然后单击” 创建” 选项 (2 )。
3 在此页面上,我们需要先为 IFTTT 动作选择触发器。
通过单击” + This “文本开始此过程,如下面的屏幕快照所示。
4 现在,我们需要选择要用于触发器的服务。
在本教程中,我们将向您展示如何利用 webhook 服务。
首先在搜索框中搜索” webhook “(1)。
接下来,我们需要单击” Webhooks “按钮 (2)。
5 接下来我们要做的是单击” Connect “按钮。
单击此按钮将使我们开始设置 Webhook 。
6 现在,我们需要选择此服务提供的触发器。
对于 Webhook ,只有一个可用的触发器,请单击它。
7 我们需要为此触发器指定一个事件名称 (1)。
该名称除下划线 (_) 字符外不得包含任何空格或符号。对于示例事件,我们使用” motion \ _detected “作为事件名称。
完成后,点击” 创建触发器” 按钮 (2)。
8 现在,为 IFTTT 触发器选择” That “操作。
我们在这里选择的是触发” Then “事件时将发生的情况。
我们需要单击” + That “文本以开始该过程。
9 下一步是选择我们要用于操作的服务。
对于本教程,我们将使用” 通知” 服务。当我们的事件被触发时,此服务会向 IFTTT 应用发送通知。
还有其他各种服务,但是通知是最容易设置的通知之一。
我们需要在搜索框中搜索” notifications “(1)。
当” 通知” 服务弹出时,单击它 (2)。
10 现在,单击” 连接” 按钮将 Notifications 服务连接到您的活动。
11 现在,我们需要选择此服务提供的操作。
在这种情况下,我们想向 IFTTT 应用发送简单的通知,因此请选择左侧的选项。
12 我们需要输入要在通知中显示的消息 (1)。
对于我们的示例,我们将仅使用文本” 树莓派检测到运动”。
您还可以将值发送到 Webhook 并通过在消息中包含 {{Value1}},
或
` 来显示它们,但这并不是我们要讨论的内容。本教程。
输入后,点击” 创建动作” 按钮 (2)。
13 现在,单击” 完成” 按钮。
14 返回 webhooks 页面,单击屏幕右上角的” 文档” 按钮。
单击此按钮将带我们到屏幕,在这里我们可以找到所需的 API 密钥。
15 在此页面上,复制 API 密钥 (1)
在下面,您可以看到将 Webhook 呼叫发送到的 URL 。该 URL 位于” 要触发事件” 标题 (2) 的下方。
为树莓派上的 IFTTT 做准备
在本节中,我们将向您展示如何与树莓派中新创建的 IFTTT Webhook 交互。
1 由于我们可能需要安装一些其他软件包,因此请首先确保我们的树莓派运行最新的可用软件。
您可以通过运行以下两个命令来执行此操作。
sudo apt update
sudo apt upgrade
2 使用最新的软件包,我们现在可以确保安装了 Python 3 及其某些依赖项。
我们将使用 Python 与 IFTTT 网络挂钩进行交互。
要确保已安装 Python ,请运行以下命令。
sudo apt install python3 python3-pip
3 现在安装了 Python 3,请确保我们可以访问 Python Requests 库。
运行以下命令以使用 pip
安装请求模块。
sudo pip3安装请求
现在,您可以继续编写 Python 脚本,该脚本将与树莓派中的 IFFTT Webhook 交互。
与树莓派中的 IFTTT 交互
1 让我们使用以下命令开始编写 Python 脚本的过程。
第一个脚本将向您展示如何使用 IFTTT Webhook 的基础知识。
vim 〜/ifttt.py
2 我们应该通过导入 requests
库来启动此脚本。
汇入要求
3 我们的下一步是向 IFTTT 提供的 Webhook URL 发出发布请求。
要发出请求,您需要了解两件事。
第一个是您为 Webhook 定义的” 事件名称”。在我们的示例中,我们使用了事件名称” motion \ _detected “。
您需要的第二件事是 webhook API 密钥。设置 IFTTT 动作时,您应该早在指南中找到了。
掌握了这两个值后,我们需要输入以下行。确保用相关信息替换” {EVENT \ _NAME} “和” {YOURAPIKEY} “。
requests.post('https://maker.ifttt.com/trigger/{EVENT_NAME}/with/key/{YOURAPIKEY}')
4 这是我们在 Python 中发出 Webhook 请求所要做的全部工作。
按 CTRL + X,然后按 Y ,然后按 Enter ,保存文件。
5 在测试此脚本之前,请确保您的手机上已安装 IFTTT 应用。
您可以通过适用于 Android 的 Google Play 商店或适用于 iPhone 的应用商店安装 IFTTT 应用://apps.apple.com/app/ifttt/id660944635)。
没有这个程序,您将永远不会收到通知。
6 一旦安装了 IFTTT 应用程序,请通过运行以下命令来测试脚本。
python3〜/ifttt.py
如果一切正常,您应该在设备上看到一条通知。
修改运动检测脚本以发送通知
在本节中,我们将向您展示如果我们在树莓派运动检测脚本中使用了相同的代码片段,将会如何显示。
1 通过运行以下命令,将脚本下载到树莓派中。
wget https://raw.githubusercontent.com/pimylifeup/motion_sensor/master/motion_sensor.py
2 现在,我们可以修改文件以添加新的导入内容和发布请求。
运行以下命令以开始编辑文件。
vim 运动_sensor.py
3 我们现在可以找到并添加一些其他行。
找
导入时间
在下方添加
汇入要求
找
print("GPIO引脚%s为%s"%(pir_sensor,current_state))
在下方添加
确保将”{EVENT_NAME}” 和”{YOURAPIKEY}” 替换为相关值。
requests.post('https://maker.ifttt.com/trigger/{EVENT_NAME}/with/key/{YOURAPIKEY}
4 进行更改后,按 CTRL + X,然后按 Y ,再按 Enter ,保存文件。
5 下次运行运动检测脚本时,每当检测到运动时它将发送通知。
希望在本教程的这一点上,您将了解如何在树莓派上使用 IFTTT 。
如果您在本教程中遇到任何问题或有任何反馈,请与我联系。