透過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通訊軟體