HTTP - 將IFTTT用於Web服務

IFTTT的 介紹

IFTTT(If This Then That)為一個雲端平台提供免費網路服務來創建applets或是簡單的陳述來指定網路服務觸發條件使其他像是 Gmail, Facebook, Instagram, Pinterest等網路服務進行特定的反應動作。

材料準備

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

  • 賬號來存取 IFTTT 服務* https://ifttt.com/

1

備註

登入後有多個雲端服務整合在 IFTTT 平台

範例説明

  • 生成IFTTT Applet

    接下來示範如何透過 IFTTT Applet 來寄信至特定的收件者。

    這個範例中,利用 Ameba HTTP POST 功能來發布一個簡單的webhook服務,IFTTT 收到後觸發另一個網路服務(發送信件)。

    登錄 https://ifttt.com/後,點選 Create

    2

    點選 “Add” 來新增觸發服務。

    3

    選擇 Webhooks 服務,如下所示。或者,通過在搜索欄中鍵入內容來搜索服務。

    4

    接著會出現可用的觸發服務,選擇 Receive a Web request

    5

    需要填入 event name 來成功辨別觸發服務 範例中使用 “test_event” 來當作事件名稱。

    6

    接著選擇 Then That 欄位中的 Add 來創建 action service 對應的服務

    7

    範例中選擇 Email 來當作觸發後的執行動作

    8

    點選 Send me an email

    9

    Send me an Email 模板下, email 主旨與內文的內容是可編輯的。點選 Create Action 來完成執行的動作。注意 Email 服務是基於IFTTT帳號下註冊的 email ID。

    10

  • 透過 Ameba 發布觸發事件

一旦Applet在IFTTT儀表板中準備就緒, 範例程式即可燒錄至 Ameba 來發布 HTTP 請求.
Open the example code in “File” “Examples” “WiFi” “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 服務下可以找到

11

要從 Webhooks 的documentation選項中獲取key,請在Explore選項中找到 Webhook 服務。

12

在 Webhooks 服務頁面中點選 Documentation 頁面

13

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

14

範例準備就緒後,透過 USB 連接 Ameba。
在 Arduino IDE 上,編譯代碼並將代碼上傳到 Ameba,然後按重置按鈕。事件成功觸發後,可以在串行監視器上看到“Congratulations! You have fired the test_event event”與將發送此事件的電子郵件提醒。

15

在 IFTTT Applet 所註冊的接收者將會收到 email 通知

16