Ameba Arduino: [RTL8722CSM] [RTL8722DM] [RTL8722DM MINI] 透過Ameba存取 IFTTT

IFTTT 介绍

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

材料準備

  • AmebaD [RTL8722DM / RTL8722CSM / RTL8722DM MINI] x 1
  • 帳戶來存取 IFTTT 服務* https://ifttt.com/

1

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

範例說明

  • 生成 IFTTT Applet

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

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

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

1

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

1

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

1

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

1

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

1

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

1

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

1

點選 Send me an email

1

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

1

  • 透過 Ameba 發布觸發事件

一旦Applet在IFTTT儀表板中準備就緒, 範例程式即可燒錄至 Ameba 來發布 HTTP 請求.

打開範例 “File” -> “Examples” -> “AmebaWiFi” -> “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 服務下可以找到

1

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

1

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

1

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

1

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

1

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

1

請先確認已安裝QQ通訊軟體