1
Dependencies: EthernetInterface mbed-rtos mbed
Fork of IFTTT_Ethernet_Example by
main.cpp@3:030beb806671, 2016-09-11 (annotated)
- Committer:
- yu10078999
- Date:
- Sun Sep 11 09:33:52 2016 +0000
- Revision:
- 3:030beb806671
- Parent:
- 2:678f949dccd7
0;
Who changed what in which revision?
| User | Revision | Line number | New 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 | }; |
