Simple HTTP GET and POST with ESP8266.
Dependencies: ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed
Fork of ESP8266_HTTP_HelloWorld by
main.cpp@19:cd46817e9acf, 2016-05-03 (annotated)
- Committer:
- janjongboom
- Date:
- Tue May 03 13:41:35 2016 +0000
- Revision:
- 19:cd46817e9acf
- Parent:
- 18:3209e51b731a
- Child:
- 20:056e849ebfa4
Clean up the example code...
Who changed what in which revision?
User | Revision | Line number | New 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 | 19:cd46817e9acf | 7 | const char* ssid = "janUK"; |
janjongboom | 19:cd46817e9acf | 8 | const char* pwd = "0624710192"; |
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 |