Simple HTTP GET and POST with ESP8266.

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_HTTP_HelloWorld by ESP8266

Revision:
19:cd46817e9acf
Parent:
18:3209e51b731a
Child:
20:056e849ebfa4
--- a/main.cpp	Tue Jun 09 17:49:47 2015 +0000
+++ b/main.cpp	Tue May 03 13:41:35 2016 +0000
@@ -4,41 +4,57 @@
 #include "TCPSocketConnection.h"
 #include "Websocket.h"
 
-ESP8266Interface wifi(D1,D0,D2,"demossid","password",115200); // TX,RX,Reset,SSID,Password,Baud
+const char* ssid = "janUK";
+const char* pwd = "0624710192";
+
+ESP8266Interface wifi(D8, D2, D7, ssid, pwd, 115200); // TX,RX,Reset,SSID,Password,Baud
 RawSerial pc(USBTX, USBRX); // tx, rx
+
 HTTPClient http;
-char str[512];
 int main()
 {
-    pc.baud(9600);
+    // 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
     
-    //GET
-    pc.printf("\nTrying to fetch page using GET...\n\r");
-    int ret = http.get("http://54.175.222.246/get", str, 512);//IP address is httpbin.org/get
-    if (!ret) {
-        pc.printf("Page fetched successfully - read %d characters\n\r", strlen(str));
-        pc.printf("Result: %s\n\r", str);
-    } else {
-        pc.printf("Error - ret = %d - HTTP return code = %d\n\r", ret, http.getHTTPResponseCode());
+    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
-    HTTPMap map;
-    HTTPText inText(str, 512);
-    map.put("Hello", "World");
-    map.put("test", "1234");
-    printf("\nTrying to POST data to httpbin.org/post...\n\r");
-    ret = http.post("http://54.175.222.246/post", map, &inText);//IP address is httpbin.org/post
-    if (!ret)
+    
+    // POST to a page...
     {
-      printf("Executed POST successfully - read %d characters\n\r", strlen(str));
-      printf("Result: %s\n\r", str);
+        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());
+        }
     }
-    else
-    {
-      printf("Error - ret = %d - HTTP return code = %d\n\r", ret, http.getHTTPResponseCode());
-    }
-
 }