1

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of IFTTT_Ethernet_Example by Austin Blackstone

main.cpp

Committer:
yu10078999
Date:
2016-09-11
Revision:
3:030beb806671
Parent:
2:678f949dccd7

File content as of revision 3:030beb806671:

#include "mbed.h"
#include "EthernetInterface.h"
#include "TCPSocketConnection.h"

EthernetInterface eth;
RawSerial pc(USBTX, USBRX); // tx, rx

int main()
{
    pc.baud(9600);
    eth.init(); //Use DHCP
    eth.connect();
    printf("IP Address is %s \n\r", eth.getIPAddress());
    TCPSocketConnection socket;
    
    socket.connect("maker.ifttt.com", 80);
    
    /*char eventName[]="OWJMAN";
    char secretKey[]="bkJhw8soKcjx28zrqAgeW2";
    const char * v1="sdasd";
    const char * v2="sdad";
    const char * v3="gklj";
    char str[512] = {0};
    char header[150] = {0};
    sprintf(header, "POST /trigger/%s/with/key/%s HTTP/1.1\r\n",eventName,secretKey);
    const char * host = "Host: maker.ifttt.com\r\n";
    char contentLen[50] = {0};
    const char * contentType = "Content-Type: application/json\r\n\r\n";
    char valueData [150] = {0};
    sprintf(valueData,"{\"value1\":\"%s\",\"value2\":\"%s\",\"value3\":\"%s\"}\r\n",v1,v2,v3);
    sprintf(contentLen,"Content-Length: %d\r\n",strlen(valueData));
    sprintf(str,"%s%s%s%s%s",header,host,contentLen,contentType,valueData);  
    printf("%s\n",str);*/
    char *post = "POST /trigger/OWJMAN/with/key/bkJhw8soKcjx28zrqAgeW2 HTTP/1.1\r\n";
    char *host = "Host: maker.ifttt.com\r\n";
    char *type = "Content-Type: application/json\r\n\r\n";
    char contentLen[] = "";
    char *data = "{\"value1\":\"asdasdasd\",\"value2\":\"asdasdasd\",\"value3\":\"fffff\"}\r\n";
    sprintf(contentLen,"Content-Length: %d\r\n",strlen(data));
    socket.send_all(post, strlen(post));
    socket.send_all(host, strlen(host));
    socket.send_all(contentLen, strlen(contentLen));
    socket.send_all(type, strlen(type));
    socket.send_all(data, strlen(data));
    printf("%s%s%s%s%s",post,host,contentLen,type,data);
    
    char buffer[300];
    int ret;
    while (true) {
        ret = socket.receive(buffer, sizeof(buffer)-1);
        if (ret <= 0)
            break;
        buffer[ret] = '\0';
        printf("Received %d chars from server:\n%s\n", ret, buffer);
    }
    printf("DONE!\n");
      
    socket.close();
    
    eth.disconnect();
    
    while(1) {}
}
extern "C" void mbed_mac_address(char *mac)
{
    mac[0] = 0xD4;
    mac[1] = 0x3F;
    mac[2] = 0x7E;
    mac[3] = 0x4C;
    mac[4] = 0x7E;
    mac[5] = 0x1C;
};