HTTP - 将 IFTTT 用于 Web 服务
IFTTT 介绍
IFTTT (If This Then That) 为一个云端平台提供免费网路服务来创建applets 或是简单的条件陈述来指定网路服务触发条件使其他像是Gmail, Facebook, Telegram, Instagram, Pinterest 等网路服务进行特定的反应动作。
材料准备
- AmebaD [ AMB23 / AMB21 / AMB22 / BW16 / AW-CU488 Thing Plus ] x 1
- 帐户来存取 IFTTT 服务* https://ifttt.com/
*Note: 登入后有多个云端服务整合在 IFTTT 平台
范例说明
- 生成 IFTTT Applet
接下来示范如何透过 IFTTT Applet 来寄信至特定的收件者
这个范例中,利用 ameba HTTP POST 功能来发布一个简单的webhook服务,IFTTT 收到后触发另一个网路服务(发送信件)
登录 https://ifttt.com/后,点选 Create
点选 “Add” 来新增触发服务
选择 Webhooks 服务,如下所示。或者,通过在搜索栏中键入内容来搜索服务。
接着会出现可用的触发服务,选择 Receive a Web request
需要填入 event name 来成功辨别触发服务 范例中使用 “test_event” 来当作事件名称。
接着选择 Then That 栏位中的 Add 来创建 action service 对应的服务
范例中选择 Email 来当作触发后的执行动作
点选 Send me an email
在 Send me an Email 模板下, email 主旨与内文的内容是可编辑的。点选 Create Action 来完成执行的动作。注意 Email服务是基于IFTTT帐号下注册的 email ID。
- 透过 Ameba 发布触发事件
一旦Applet在IFTTT仪表板中准备就绪, 范例程式即可烧录至 Ameba 来发布 HTTP 请求.
打开范例 “File” -> “Examples” -> “AmebaHttp” -> “HTTP_IFTTT_Post”
在程式码中编辑下列三项使程式可以顺利执行。
1. 编辑 wi-fi 凭证来连接至 wi-fi 热点或是无线接入点
2. 在 host name 栏位中输入 IFTTT 服务的 hostname “maker.ifttt.com”
3. 在 Path 栏位中输入 EventName 并在 Key 栏位中输入 “trigger//with/key/”
-Event name: 必须与 IFTTT applet 所指定的名子一致, 此范例中的 event name 为 “test_event”
-Key Field: 在 IFTTT 帐户中的 Webhook 服务下可以找到
要从 Webhooks 的documentation选项中获取key,请在Explore选项中找到 Webhook 服务。
在 Webhooks 服务页面中点选 Documentation 页面
可以在 documentation 页面中找到所需的key。另外, 如何使用HTTP请求如下图所示
范例准备就绪后,透过 USB 连接 Ameba。
在 Arduino IDE 上,编译代码并将代码上传到 Ameba,然后按重置按钮。事件成功触发后,可以在串行监视器上看到“Congratulations! You have fired the test_event event”与将发送此事件的电子邮件提醒。
在 IFTTT Applet 所注册的接收者将会收到 email 通知
- IFTTT Line 通知
或者,可以使用 IFTTT Applet 透过 iPhone 或 Android 上的 LINE 应用程序发送消息的范例。可以通过修改“Then That”设置来实现。
您可以按照之前“Generate Applet from IFTTT”部分中的相同步骤来创建 Webhooks 服务作为触发器。识别触发器所需的事件名称将保留为“test_event”。接下来,单击“Then That”字段中的“Add”按钮以创建响应上次触发所采取的操作服务。
选择Line作为服务。
点选 “Send message”。
点选 “Connect” 并登入Line 帐号。
选择LINE帐号,将Recipient设置为“1-on-1 chat with LINE Notify”,即IFTTT触发的消息会直接发送到你的聊天室中。接下来,在“Message”下方的输入框中输入您想要的消息。要发送图片,您可以在“Photo URL”下的输入框中插入照片的链接。
在 Arduino IDE 上,编译代码并将代码上传到 Ameba 并按下重置按钮。事件成功触发后,您将在手机或 PC 上收到来自“LINE Notify”的消息。