Simple HTTP GET and POST with ESP8266.

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_HTTP_HelloWorld by ESP8266

main.cpp

Committer:
janjongboom
Date:
2016-05-03
Revision:
20:056e849ebfa4
Parent:
19:cd46817e9acf

File content as of revision 20:056e849ebfa4:

#include "mbed.h"
#include "HTTPClient.h"
#include "ESP8266Interface.h"
#include "TCPSocketConnection.h"
#include "Websocket.h"

const char* ssid = "YOUR_SSID";
const char* pwd = "YOUR_PWD";

ESP8266Interface wifi(D8, D2, D7, ssid, pwd, 115200); // TX,RX,Reset,SSID,Password,Baud
RawSerial pc(USBTX, USBRX); // tx, rx

HTTPClient http;
int main()
{
    // 115200 baud rate to talk back to the PC
    pc.baud(115200);
    
    // need debug messages? check ESP8266Interface/ESP8266/ESP8266.cpp and change the #if 0 to #if 1
    
    pc.printf("\nTrying to connect to %s...!\r\n", ssid);
    wifi.init(); //Reset
    wifi.connect(); //Use DHCP
    
    pc.printf("Connected to WiFi. IP address = %s\r\n", wifi.getIPAddress());
    
    // For some reason DNS doesn't work. Just use raw IPs for now.
    // GET a page...
    {   
        char buffer[1024];
        HTTPResult ret = http.get("http://54.175.222.246/get", buffer, sizeof(buffer)); //IP address is httpbin.org/get
        if (ret == HTTP_OK) {
            pc.printf("Page fetched successfully - read %d characters\r\n", strlen(buffer));
            pc.printf("Result: %s\n\r", buffer);
        } else {
            pc.printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
        }
    }
    
    // POST to a page...
    {
        HTTPMap map;
        char buffer[1024];
        HTTPText inText(buffer, sizeof(buffer));
        map.put("Hello", "World");
        map.put("test", "1234");
        printf("\nTrying to POST data to httpbin.org/post...\r\n");
        HTTPResult ret = http.post("http://54.175.222.246/post", map, &inText); //IP address is httpbin.org/post
        if (ret == HTTP_OK)
        {
            pc.printf("Executed POST successfully - read %d characters\r\n", strlen(buffer));
            pc.printf("Result: %s\n\r", buffer);
        }
        else
        {
            pc.printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
        }
    }
}