1

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of IFTTT_Ethernet_Example by Austin Blackstone

Committer:
yu10078999
Date:
Sun Sep 11 09:33:52 2016 +0000
Revision:
3:030beb806671
Parent:
2:678f949dccd7
0;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedAustin 0:0f0676c43e4b 1 #include "mbed.h"
mbedAustin 0:0f0676c43e4b 2 #include "EthernetInterface.h"
mbedAustin 1:3010b44f07ff 3 #include "TCPSocketConnection.h"
mbedAustin 1:3010b44f07ff 4
mbedAustin 0:0f0676c43e4b 5 EthernetInterface eth;
mbedAustin 1:3010b44f07ff 6 RawSerial pc(USBTX, USBRX); // tx, rx
mbedAustin 0:0f0676c43e4b 7
mbedAustin 1:3010b44f07ff 8 int main()
mbedAustin 0:0f0676c43e4b 9 {
mbedAustin 1:3010b44f07ff 10 pc.baud(9600);
mbedAustin 0:0f0676c43e4b 11 eth.init(); //Use DHCP
mbedAustin 0:0f0676c43e4b 12 eth.connect();
mbedAustin 0:0f0676c43e4b 13 printf("IP Address is %s \n\r", eth.getIPAddress());
mbedAustin 1:3010b44f07ff 14 TCPSocketConnection socket;
yu10078999 2:678f949dccd7 15
yu10078999 2:678f949dccd7 16 socket.connect("maker.ifttt.com", 80);
yu10078999 3:030beb806671 17
yu10078999 3:030beb806671 18 /*char eventName[]="OWJMAN";
yu10078999 3:030beb806671 19 char secretKey[]="bkJhw8soKcjx28zrqAgeW2";
yu10078999 3:030beb806671 20 const char * v1="sdasd";
yu10078999 3:030beb806671 21 const char * v2="sdad";
yu10078999 3:030beb806671 22 const char * v3="gklj";
yu10078999 3:030beb806671 23 char str[512] = {0};
yu10078999 3:030beb806671 24 char header[150] = {0};
yu10078999 3:030beb806671 25 sprintf(header, "POST /trigger/%s/with/key/%s HTTP/1.1\r\n",eventName,secretKey);
yu10078999 3:030beb806671 26 const char * host = "Host: maker.ifttt.com\r\n";
yu10078999 2:678f949dccd7 27 char contentLen[50] = {0};
yu10078999 3:030beb806671 28 const char * contentType = "Content-Type: application/json\r\n\r\n";
yu10078999 3:030beb806671 29 char valueData [150] = {0};
yu10078999 3:030beb806671 30 sprintf(valueData,"{\"value1\":\"%s\",\"value2\":\"%s\",\"value3\":\"%s\"}\r\n",v1,v2,v3);
yu10078999 3:030beb806671 31 sprintf(contentLen,"Content-Length: %d\r\n",strlen(valueData));
yu10078999 3:030beb806671 32 sprintf(str,"%s%s%s%s%s",header,host,contentLen,contentType,valueData);
yu10078999 3:030beb806671 33 printf("%s\n",str);*/
yu10078999 2:678f949dccd7 34 char *post = "POST /trigger/OWJMAN/with/key/bkJhw8soKcjx28zrqAgeW2 HTTP/1.1\r\n";
yu10078999 2:678f949dccd7 35 char *host = "Host: maker.ifttt.com\r\n";
yu10078999 2:678f949dccd7 36 char *type = "Content-Type: application/json\r\n\r\n";
yu10078999 2:678f949dccd7 37 char contentLen[] = "";
yu10078999 3:030beb806671 38 char *data = "{\"value1\":\"asdasdasd\",\"value2\":\"asdasdasd\",\"value3\":\"fffff\"}\r\n";
yu10078999 2:678f949dccd7 39 sprintf(contentLen,"Content-Length: %d\r\n",strlen(data));
yu10078999 2:678f949dccd7 40 socket.send_all(post, strlen(post));
yu10078999 2:678f949dccd7 41 socket.send_all(host, strlen(host));
yu10078999 3:030beb806671 42 socket.send_all(contentLen, strlen(contentLen));
yu10078999 2:678f949dccd7 43 socket.send_all(type, strlen(type));
yu10078999 2:678f949dccd7 44 socket.send_all(data, strlen(data));
yu10078999 3:030beb806671 45 printf("%s%s%s%s%s",post,host,contentLen,type,data);
yu10078999 3:030beb806671 46
yu10078999 2:678f949dccd7 47 char buffer[300];
yu10078999 2:678f949dccd7 48 int ret;
yu10078999 2:678f949dccd7 49 while (true) {
yu10078999 2:678f949dccd7 50 ret = socket.receive(buffer, sizeof(buffer)-1);
yu10078999 2:678f949dccd7 51 if (ret <= 0)
yu10078999 2:678f949dccd7 52 break;
yu10078999 2:678f949dccd7 53 buffer[ret] = '\0';
yu10078999 2:678f949dccd7 54 printf("Received %d chars from server:\n%s\n", ret, buffer);
yu10078999 2:678f949dccd7 55 }
yu10078999 2:678f949dccd7 56 printf("DONE!\n");
yu10078999 2:678f949dccd7 57
yu10078999 2:678f949dccd7 58 socket.close();
yu10078999 2:678f949dccd7 59
mbedAustin 1:3010b44f07ff 60 eth.disconnect();
yu10078999 2:678f949dccd7 61
yu10078999 2:678f949dccd7 62 while(1) {}
mbedAustin 0:0f0676c43e4b 63 }
yu10078999 2:678f949dccd7 64 extern "C" void mbed_mac_address(char *mac)
yu10078999 2:678f949dccd7 65 {
yu10078999 2:678f949dccd7 66 mac[0] = 0xD4;
yu10078999 2:678f949dccd7 67 mac[1] = 0x3F;
yu10078999 2:678f949dccd7 68 mac[2] = 0x7E;
yu10078999 2:678f949dccd7 69 mac[3] = 0x4C;
yu10078999 2:678f949dccd7 70 mac[4] = 0x7E;
yu10078999 2:678f949dccd7 71 mac[5] = 0x1C;
yu10078999 2:678f949dccd7 72 };