#3 ESP32 와 IFTTT 연동 하기
ESP32 아두이노 프로그램과 안드로이드 어플리케이션 다운로드
IFTTT Webhook 키값 확인하러 가기 !!
위의 화면에서 "Documentation" 을 클릭해 주세요 사용자 Key 값과 테스트를 할 수 있습니다.
이제 Your Key is : ~~~ 숫자와 영어의 조합으로 적힌 키값이 표시 됩니다. 이 키값은 노출되지 않도록 주의하세요.
만약 노출이 되어 다른 사용자가 테스트를 하면 IFTTT App 에 수많은 알림이 갈수도....
이제 키값도 알아 냈으니 아두이노 코드를 작성해 볼까요 ??
첫 포스팅 #1 에서 설치한 아두이노를 실행 시켜주세요 !
간단하게 wifi 를 이용해서 IFTTT의 webhook에 접근을 해보겠습니다.
아두이노 소스코드는 다음과 같습니다.
#include <wifi.h>
#define AP_NAME "Your use Access Point" #define AP_PASSWD "Your use Access Point Passwd" #define IFTTT_Host "maker.ifttt.com" #define IFTTT_KEY "Your IFTTT webhook Key" void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(AP_NAME, AP_PASSWD); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Wifi Connection ...."); } Serial.println("Connected to AP "); Serial.println(WiFi.localIP()); send_event("Very_Hot"); delay(30000); } void loop() { } void send_event(const char *event){ Serial.print("Connecting to "); Serial.println(IFTTT_Host); WiFiClient client; const int httpPort = 80; if (!client.connect(IFTTT_Host, httpPort)) { Serial.println("Connection failed"); return; } String url = "/trigger/"; url += event; url += "/with/key/"; url += IFTTT_KEY; String mJson = String("{\"value1\":\"") +"Tes Gom EE~\"}"; Serial.print("Requesting URL: "); Serial.println(url); client.println(String("POST ") + url + " HTTP/1.1"); client.println(String("Host: ") + IFTTT_Host); client.println("Content-Type: application/json"); client.print("Content-Length: "); client.println(mJson.length()); client.println(); client.println(mJson); while(client.connected()){ if(client.available()){ String line = client.readStringUntil('\r'); Serial.print(line); } else { delay(50); }; } Serial.println(); Serial.println("closing connection"); client.stop(); }
프로그램에 관련이 있으신 분들에게는 쉬운 wifi 사용 예제 코드입니다. 약간 수정했어요.
위의 코드를 그대로 사용 하신다면, 몇가지 수정을 해주셔야 합니다.
바로 AP 관련 설정과 앞서 받아온 Webhook의 Key값을 말이죠 !
#define AP_NAME "Your use Access Point" #define AP_PASSWD "Your use Access Point Passwd" #define IFTTT_KEY "Your IFTTT webhook Key"
AP_Name : 사용 할 수 있는 공유기 이름 (반드시 네트워크가 되야 합니다.)
AP_Passwd : 사용 하려는 AP 의 패스워드 없다면, 비워두셔도 됩니다.
IFTTT_KEY : IFTTT webhook 에서 받아온 Your Key value 입니다.
아두이노 탭의 Board 를 확인해 주세요 Board 와 Port 가 모두 ESP32 를 가르켜야 합니다.
하나라도 안맞으면 업로드가 아니되옵니다 ~~
이렇게 말이죠 !!
아두이노 업로드가 완료되면 시리얼 모니터를 통해 어떤 메시지가 나가는지 확인해 보시죠 !
시리얼 모니터는 아두이노 화면 오른쪽 상단에 위치한 돋보기 모양이에요 !!
시리얼 모니터에 아무 것도 안나타난다면 ?? -> ESP 32 를 리셋 해주세요 !!
아참 !! Event 명을 말씀을 안드렸네요.
send_event("Very_Hot");
처음 IFTTT 어플을 열게 되면 로그인을 하라고 표시가 됩니다. 이전 포스팅에서 회원가입한 계정을 통해 로그인을 해주세요 !!
IFTTT 어플 설치에 로그인까지 완료되면 이제 진짜 다 끝났어요 !!
짝짝짝 ㅋㅋㅋ
이로써 ESP32 와 IFTTT 연동이 완료 되었습니다. !! 고생하셨습니다 !
-> Tes Gom EE~ 라고 나타나는 이유는 소스코드에 있습니다. 수정 해보시지요 케케
다음 포스팅에서는 ESP32 와 BME680 센서를 연결하고, 온도 센서가 일정값 이상으로 높아지거나 낮아지면 서로 다른 메시지가 나타나게 하는 것을 확인 해보겠습니다.
감사합니다.
'Development Project > ESP 32 & IFTTT ' 카테고리의 다른 글
ESP 32 와 IFTTT 연동하기 #2 (0) | 2018.08.13 |
---|---|
ESP 32 와 IFTTT 연동하기 #1 (0) | 2018.08.10 |