Interface with the If This Then That (IFTTT). This example uses both POST and GET to interface with IFTTT. Up to 3 values can be sent along with the trigger event name.
Dependencies: ESP8266Interface IFTTT mbed
Fork of IFTTT_Ethernet_Example by
Revision 1:15dd4d0a3af0, committed 2015-07-13
- Comitter:
- mbedAustin
- Date:
- Mon Jul 13 17:55:59 2015 +0000
- Parent:
- 0:0f0676c43e4b
- Child:
- 2:7677729fe02d
- Commit message:
- Initial Example for If This Then That with ESP8266
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ESP8266Interface.lib Mon Jul 13 17:55:59 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/ESP8266/code/ESP8266Interface/#03fd9333670d
--- a/EthernetInterface.lib Sun Jun 28 03:41:06 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/EthernetInterface/#2fc406e2553f
--- a/HTTPClient-SSL.lib Sun Jun 28 03:41:06 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/users/ansond/code/HTTPClient-SSL/#a18a06b000f3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IFTTT.lib Mon Jul 13 17:55:59 2015 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/mbedAustin/code/IFTTT/#c916e13a269a
--- a/main.cpp Sun Jun 28 03:41:06 2015 +0000 +++ b/main.cpp Mon Jul 13 17:55:59 2015 +0000 @@ -1,60 +1,29 @@ #include "mbed.h" -#include "EthernetInterface.h" -#include "HTTPClient.h" - -EthernetInterface eth; -HTTPClient http; -char str[512] = {}; -char json[125] = {}; -char eventName[] = "helloworld"; -char key[] = "ChangeThisToTheKeyProvidedByIFTTonTheMakerChannel"; -char value1[] = {"A"}, value2[] = {"B"}, value3[] = {"C"}; +#include "ESP8266Interface.h" +#include "TCPSocketConnection.h" +#include "ifttt.h" + +ESP8266Interface wifi(D1,D0,D2,"ssid","passkey",115200); // TX,RX,Reset,SSID,Password,Baud +RawSerial pc(USBTX, USBRX); // tx, rx -int main() +int main() { - eth.init(); //Use DHCP - eth.connect(); - printf("IP Address is %s \n\r", eth.getIPAddress()); + pc.baud(9600); + wifi.init(); //Reset + wifi.connect(); //Use DHCP + printf("IP Address is %s \n\r", wifi.getIPAddress()); + TCPSocketConnection socket; - //GET - printf("GETing data... \n\r"); - sprintf(str, "https://maker.ifttt.com/trigger/%s/with/key/%s?value1=%s&value2=%s&value3=%s",eventName,key,value1,value2,value3); - printf("String is : %s\n\r",str); - int ret = http.get(str, str, 128); - if (!ret) - { - printf("Page fetched successfully - read %d characters\n\r", strlen(str)); - printf("Result: %s\n", str); - } - else - { - printf("Error - ret = %d - HTTP return code = %d \n\r", ret, http.getHTTPResponseCode()); - } - - //POST - HTTPMap map; - HTTPText inText(str, 512); - map.put("value1", value1); - map.put("value2", value2); - map.put("value3", value3); - sprintf(str, "https://maker.ifttt.com/trigger/%s/with/key/%s",eventName,key); - printf("String is : %s\n\r",str); - printf("POSTing data ....\n\r"); - ret = http.post(str, map, &inText); - if (!ret) - { - printf("Executed POST successfully - read %d characters \n\r", strlen(str)); - printf("Result: %s \n\r", str); - } - else - { - printf("Error - ret = %d - HTTP return code = %d \n\r", ret, http.getHTTPResponseCode()); - } - - - - eth.disconnect(); - + // Initialize ifttt object, add up to 3 optional values, trigger event. + IFTTT ifttt("YourEventName","ChangeToYourSecretKey", &socket); // EventName, Secret Key, socket to use + ifttt.addIngredients("this is awesome","test-ing","data!!!"); // 3 optional Values to send along with trigger. + ifttt.trigger(); + + ifttt.addIngredients("Sending","GET","data"); + ifttt.trigger(IFTTT_GET); + + ifttt.addIngredients("Sending","POST","things"); + ifttt.trigger(IFTTT_POST); while(1) { } }
--- a/mbed-rtos.lib Sun Jun 28 03:41:06 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed-rtos/#d3d0e710b443