A sample program that trigger on IFTTT Maker channel with ESP8266

Dependencies:   ESP8266Interface mbed

Fork of ESP8266_Test by ESP8266

Committer:
ytsuboi
Date:
Fri Jul 24 04:05:52 2015 +0000
Revision:
12:33e4fa29ade9
Parent:
9:91fe783e1dd4
initial commit for publish

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaeljkoster 0:6a891da014a3 1 #include "mbed.h"
michaeljkoster 0:6a891da014a3 2 #include "ESP8266Interface.h"
mbedAustin 9:91fe783e1dd4 3 #include "TCPSocketConnection.h"
ytsuboi 12:33e4fa29ade9 4
ytsuboi 12:33e4fa29ade9 5 // You need to change these 4 lines.
ytsuboi 12:33e4fa29ade9 6 #define SSID "YOUR SSID"
ytsuboi 12:33e4fa29ade9 7 #define WIFIKEY "YOUR WIFI KEY"
ytsuboi 12:33e4fa29ade9 8 const char EVENT[] = "YOUR IFTTT EVENT NAME";
ytsuboi 12:33e4fa29ade9 9 const char KEY[] = "PUT YOUT IFTTT SECRET KEY HERE";
ytsuboi 12:33e4fa29ade9 10 //
ytsuboi 12:33e4fa29ade9 11
ytsuboi 12:33e4fa29ade9 12 const char* ECHO_SERVER_ADDRESS = "54.243.120.63"; // maker.ifttt.com
ytsuboi 12:33e4fa29ade9 13 const int ECHO_SERVER_PORT = 80;
ytsuboi 12:33e4fa29ade9 14
ytsuboi 12:33e4fa29ade9 15 ESP8266Interface wifi(p28,p27,p29,SSID,WIFIKEY,115200); // TX,RX,Reset,SSID,Password
mbedAustin 7:d2c97b20d237 16 RawSerial pc(USBTX, USBRX); // tx, rx
ytsuboi 12:33e4fa29ade9 17 AnalogIn pot1 (p19);
ytsuboi 12:33e4fa29ade9 18 AnalogIn pot2 (p20);
mbedAustin 9:91fe783e1dd4 19
mbedAustin 7:d2c97b20d237 20 int main() {
mbedAustin 3:5175e53017e4 21 pc.baud(115200);
ytsuboi 12:33e4fa29ade9 22
ytsuboi 12:33e4fa29ade9 23 int http_cmd_sz=800;
ytsuboi 12:33e4fa29ade9 24 char http_cmd[http_cmd_sz];
ytsuboi 12:33e4fa29ade9 25
mbedAustin 7:d2c97b20d237 26 wifi.init(); //Use DHCP
mbedAustin 7:d2c97b20d237 27 wifi.connect();
mbedAustin 9:91fe783e1dd4 28 pc.printf("IP Address is %s\n", wifi.getIPAddress());
mbedAustin 7:d2c97b20d237 29
mbedAustin 9:91fe783e1dd4 30 TCPSocketConnection socket;
mbedAustin 9:91fe783e1dd4 31 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
mbedAustin 9:91fe783e1dd4 32 pc.printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
mbedAustin 9:91fe783e1dd4 33 wait(1);
mbedAustin 9:91fe783e1dd4 34 }
mbedAustin 7:d2c97b20d237 35
ytsuboi 12:33e4fa29ade9 36 char Val1[6];
ytsuboi 12:33e4fa29ade9 37 char Val2[6];
ytsuboi 12:33e4fa29ade9 38 char Val3[6];
ytsuboi 12:33e4fa29ade9 39 snprintf(Val1,5,"%.2f", (float)pot1);
ytsuboi 12:33e4fa29ade9 40 snprintf(Val2,5,"%.2f", (float)pot2);
mbedAustin 7:d2c97b20d237 41
ytsuboi 12:33e4fa29ade9 42 snprintf(http_cmd, http_cmd_sz, "GET /trigger/%s/with/key/%s/?value1=%s&value2=%s&value3=%s HTTP/1.1\r\nHost: maker.ifttt.com\r\nConnection: close\r\n\r\n", EVENT, KEY, Val1, Val2, Val3);
ytsuboi 12:33e4fa29ade9 43 pc.printf(http_cmd);
ytsuboi 12:33e4fa29ade9 44 socket.send_all(http_cmd, sizeof(http_cmd) - 1);
ytsuboi 12:33e4fa29ade9 45
ytsuboi 12:33e4fa29ade9 46 char buf[512];
ytsuboi 12:33e4fa29ade9 47 int n = socket.receive(buf, 512);
mbedAustin 9:91fe783e1dd4 48 buf[n] = '\0';
ytsuboi 12:33e4fa29ade9 49 pc.printf("%s\r\n", buf);
mbedAustin 7:d2c97b20d237 50
mbedAustin 9:91fe783e1dd4 51 socket.close();
mbedAustin 8:af3b0b5438ad 52 wifi.disconnect();
mbedAustin 9:91fe783e1dd4 53
mbedAustin 9:91fe783e1dd4 54 while(true) {}
mbedAustin 9:91fe783e1dd4 55 }
mbedAustin 9:91fe783e1dd4 56