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”的消息。