透过Ameba存取 IFTTT

IFTTT 介绍

IFTTT(If This Then That) 为一个云端平台提供免费网路服务来创建applets 或是简单的条件陈述来指定网路服务触发条件使其他像是Gmail, Facebook, Telegram, Instagram, Pinterest 等网路服务进行特定的反应动作。

材料准备

1

*Note: 登入后有多个云端服务整合在 IFTTT 平台

范例说明

  • 生成 IFTTT Applet

接下来示范如何透过 IFTTT Applet 来寄信至特定的收件者

这个范例中, 利用 ameba HTTP POST 功能来发布一个简单的webhook服务, IFTTT 收到后触发另一个网路服务(发送信件)

登录 https://ifttt.com/后, 点选My Applets

1

在Applet页面中点选 “New Applet”

1

点选下方指示的 +this 来新增触发服务

1

Choose a Service 中搜寻并选择 “Webhooks” 服务

1

接着会出现可用的触发服务, 目前 Webhooks 只有一个可选的 “Receive a web request” 触发服务

1

一旦选择 Receive a web request, 需要填入 event name 来成功辨别触发服务

范例中使用 “test_event” 来当作事件名称

接着选择 +That 栏位来创建 action service 对应的服务
范例中选择 Email 来当作触发后的执行动作

1

1

1

Action Service下有可用的 Actions 列表。此范例中只有 “Send me an Email”, 点选 Send me an Email 服务

1

Send me an Email 模板下, email 主旨与内文的内容是可编辑的。点选 Create Action 来完成执行的动作。注意 Email 服务是基于IFTTT帐号下注册的 email ID。

1

检阅完点选 Finish 来完成 Applet 的生成。接着可以在IFTTT页面中的 My Applet 下找到此应用。

1

  • 透过 Ameba 发布触发事件

一旦Applet在IFTTT仪表板中准备就绪, 范例程式即可烧录至 Ameba 来发布 HTTP 请求.

1. 范例程式放置在 “HTTP_IFTTT_POST” 资料夹中。请按照以下步骤操作:

1) 在Arduino IDE 打开 “File” -> “Examples” -> “AmebaWiFi” -> “HTTP_IFTTT_POST”。

2) 在程式码中编辑下列三项使程式可以顺利执行。

编辑 wi-fi 凭证来连接至 wi-fi 热点或是无线接入点

在 host name 栏位中输入 IFTTT 服务的 hostname “maker.ifttt.com”

在 Path 栏位中输入 EventName 并在 Key 栏位中输入 “trigger//with/key/”

− Event name: 必须与 IFTTT applet 所指定的名子一致, 此范例中的 event name 为 “test_event”

− Key: 在 IFTTT 帐户中的 Webhook 服务下可以找到

3) 如何获取 Webhooks key?

在 Services 标签中寻找 Webhooks 服务

1

1

在 Webhooks 服务页面中点选右上角的 Documentation 标签

可以在 documentation 页面中找到所需的key。另外, 如何使用HTTP请求如下图所示

1

1

范例程式码如下所示

2. 在 Ameba 执行范例程式

透过 USB 连接 Ameba

点选 Arduino “Sketch” -> “Verify/Compile” 来编译程式码. “Done compiling” 会显示在 Arduino IDE 视窗底部

点选 “Sketch” -> “Upload” 来上传程式码至 Ameba (D3 元件会出现闪烁来表示上传的过程)

上传完成后 (D3 元件会停止闪烁), “upload finish” 会显示在 Arduino IDE 视窗底部

打开 serial monitor 并按 “Reset” 按钮来查看输出日志

在serial monitor中出现 “Congratulations! You have fired the test_event event” 字串表示成功, 且电子邮件活动提醒将会发送

1

1

在 IFTTT Applet 所注册的接收者将会收到 email 通知

请先确认已安装QQ通讯软体