Simple HTTP GET and POST with ESP8266.

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_HTTP_HelloWorld by ESP8266

Committer:
janjongboom
Date:
Tue May 03 13:42:28 2016 +0000
Revision:
20:056e849ebfa4
Parent:
19:cd46817e9acf
Put placeholders for SSID/PWD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaeljkoster 0:6a891da014a3 1 #include "mbed.h"
sarahmarshy 14:1f0a842f8750 2 #include "HTTPClient.h"
michaeljkoster 0:6a891da014a3 3 #include "ESP8266Interface.h"
mbedAustin 9:91fe783e1dd4 4 #include "TCPSocketConnection.h"
sarahmarshy 12:978788c2156c 5 #include "Websocket.h"
sarahmarshy 12:978788c2156c 6
janjongboom 20:056e849ebfa4 7 const char* ssid = "YOUR_SSID";
janjongboom 20:056e849ebfa4 8 const char* pwd = "YOUR_PWD";
janjongboom 19:cd46817e9acf 9
janjongboom 19:cd46817e9acf 10 ESP8266Interface wifi(D8, D2, D7, ssid, pwd, 115200); // TX,RX,Reset,SSID,Password,Baud
mbedAustin 7:d2c97b20d237 11 RawSerial pc(USBTX, USBRX); // tx, rx
janjongboom 19:cd46817e9acf 12
sarahmarshy 14:1f0a842f8750 13 HTTPClient http;
sarahmarshy 14:1f0a842f8750 14 int main()
sarahmarshy 14:1f0a842f8750 15 {
janjongboom 19:cd46817e9acf 16 // 115200 baud rate to talk back to the PC
janjongboom 19:cd46817e9acf 17 pc.baud(115200);
janjongboom 19:cd46817e9acf 18
janjongboom 19:cd46817e9acf 19 // need debug messages? check ESP8266Interface/ESP8266/ESP8266.cpp and change the #if 0 to #if 1
janjongboom 19:cd46817e9acf 20
janjongboom 19:cd46817e9acf 21 pc.printf("\nTrying to connect to %s...!\r\n", ssid);
sarahmarshy 12:978788c2156c 22 wifi.init(); //Reset
sarahmarshy 12:978788c2156c 23 wifi.connect(); //Use DHCP
mbedAustin 7:d2c97b20d237 24
janjongboom 19:cd46817e9acf 25 pc.printf("Connected to WiFi. IP address = %s\r\n", wifi.getIPAddress());
janjongboom 19:cd46817e9acf 26
janjongboom 19:cd46817e9acf 27 // For some reason DNS doesn't work. Just use raw IPs for now.
janjongboom 19:cd46817e9acf 28 // GET a page...
janjongboom 19:cd46817e9acf 29 {
janjongboom 19:cd46817e9acf 30 char buffer[1024];
janjongboom 19:cd46817e9acf 31 HTTPResult ret = http.get("http://54.175.222.246/get", buffer, sizeof(buffer)); //IP address is httpbin.org/get
janjongboom 19:cd46817e9acf 32 if (ret == HTTP_OK) {
janjongboom 19:cd46817e9acf 33 pc.printf("Page fetched successfully - read %d characters\r\n", strlen(buffer));
janjongboom 19:cd46817e9acf 34 pc.printf("Result: %s\n\r", buffer);
janjongboom 19:cd46817e9acf 35 } else {
janjongboom 19:cd46817e9acf 36 pc.printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
janjongboom 19:cd46817e9acf 37 }
sarahmarshy 12:978788c2156c 38 }
janjongboom 19:cd46817e9acf 39
janjongboom 19:cd46817e9acf 40 // POST to a page...
sarahmarshy 14:1f0a842f8750 41 {
janjongboom 19:cd46817e9acf 42 HTTPMap map;
janjongboom 19:cd46817e9acf 43 char buffer[1024];
janjongboom 19:cd46817e9acf 44 HTTPText inText(buffer, sizeof(buffer));
janjongboom 19:cd46817e9acf 45 map.put("Hello", "World");
janjongboom 19:cd46817e9acf 46 map.put("test", "1234");
janjongboom 19:cd46817e9acf 47 printf("\nTrying to POST data to httpbin.org/post...\r\n");
janjongboom 19:cd46817e9acf 48 HTTPResult ret = http.post("http://54.175.222.246/post", map, &inText); //IP address is httpbin.org/post
janjongboom 19:cd46817e9acf 49 if (ret == HTTP_OK)
janjongboom 19:cd46817e9acf 50 {
janjongboom 19:cd46817e9acf 51 pc.printf("Executed POST successfully - read %d characters\r\n", strlen(buffer));
janjongboom 19:cd46817e9acf 52 pc.printf("Result: %s\n\r", buffer);
janjongboom 19:cd46817e9acf 53 }
janjongboom 19:cd46817e9acf 54 else
janjongboom 19:cd46817e9acf 55 {
janjongboom 19:cd46817e9acf 56 pc.printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
janjongboom 19:cd46817e9acf 57 }
sarahmarshy 14:1f0a842f8750 58 }
mbedAustin 9:91fe783e1dd4 59 }
sarahmarshy 14:1f0a842f8750 60