1. 基本概念
FTTT基於任務的條件觸發,類似程式語言,即:「若XXX進行YYY行為,執行ZZZ。」。每一個可以觸發或者作為任務的網站叫做一個Channel,觸發的條件叫做Triggers,之後執行的任務叫做Actions,綜合上面的一套流程叫做Task。(來源:維基百科)
FTTT基於任務的條件觸發,類似程式語言,即:「若XXX進行YYY行為,執行ZZZ。」。每一個可以觸發或者作為任務的網站叫做一個Channel,觸發的條件叫做Triggers,之後執行的任務叫做Actions,綜合上面的一套流程叫做Task。(來源:維基百科)
2. 設定IFTTT
(1) 開一個新的專案
(2)點選If This (add)
(3)搜尋webhooks
(4)選擇觸發方式receive a web request
(5)設定傳送名稱ex:line
(6)設定觸發後的動作
//本範例是利用一顆按鈕觸發LINE發送訊號 #include#include #define SW1 5 //設定按鈕腳位 // 設定網路基地台SSID跟密碼 const char* ssid = "EE620"; const char* password = "ee620ee620"; const char* host = "maker.ifttt.com"; //Ifttt主機 const char* eventName = "LINE001"; //Ifttt觸發條件名稱 const char* key = "dLORvC4astBhJ1NQ4nuEAk"; //Ifttt授權碼 void setup() { Serial.begin(9600); //序列埠連接包率 Serial.print("Connecting to "); //顯示文字 Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); pinMode(SW1,INPUT); } void loop() { Serial.print("connecting to "); Serial.println(host); WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } if(SW1==0) { String url = "/trigger/"; //組合觸發網址 url += eventName; url += "/with/key/"; url += key; url += "?value1="; url += String(555); Serial.print("Requesting URL: "); Serial.println(url); client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); int timeout = millis() + 5000; while (client.available() == 0) { if (timeout - millis() < 0) { Serial.println("Client Timeout !"); client.stop(); return; } } while(client.available()){ //顯示回應訊息 String line = client.readStringUntil('\r'); Serial.print(line); } } Serial.println(); Serial.println("closing connection"); delay(1000); //每秒鐘一次 }
張貼留言