Simple HTTP GET and POST with ESP8266.

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_HTTP_HelloWorld by ESP8266

Files at this revision

API Documentation at this revision

Comitter:
janjongboom
Date:
Tue May 03 13:41:35 2016 +0000
Parent:
18:3209e51b731a
Child:
20:056e849ebfa4
Commit message:
Clean up the example code...

Changed in this revision

ESP8266Interface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/ESP8266Interface.lib	Tue Jun 09 17:49:47 2015 +0000
+++ b/ESP8266Interface.lib	Tue May 03 13:41:35 2016 +0000
@@ -1,1 +1,1 @@
-http://developer.mbed.org/teams/ESP8266/code/ESP8266Interface/#1f4dd0e91837
+http://developer.mbed.org/teams/ESP8266/code/ESP8266Interface/#03fd9333670d
--- 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());
-    }
-
 }