HTTP Client with ESP8266 working example

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_WebSockets_HelloWorld by ESP8266

This repository has been superceded

This project has moved to https://developer.mbed.org/teams/ESP8266/code/mbed-os-example-esp8266/

Introduction

This is a basic Hello World program for interfacing the ESP8266 chip with HTTP. It will execute a GET on httpbin.org/get, and a POST to httpbin.org/post.

ESP8266_HTTP_HelloWorld

  1. change ssid and passphrase to match your wifi connection
  2. Initialize ESP8266 with DHCP enabled
  3. Get mbed.org
    1. Print the information retrieved
  4. Post to httbin.org
    1. Print the information retrieved

You can view the information retrieved through a serial terminal set to 9600 baud.

Successful Execution

you should see something like the following on the terminal if the program successfully executes. /media/uploads/mbedAustin/httpclient.png

Committer:
mbedAustin
Date:
Fri May 01 15:40:01 2015 +0000
Revision:
8:af3b0b5438ad
Parent:
7:d2c97b20d237
Child:
9:91fe783e1dd4
safety commit, working on UDP

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaeljkoster 0:6a891da014a3 1 #include "mbed.h"
michaeljkoster 0:6a891da014a3 2 #include "ESP8266Interface.h"
mbedAustin 8:af3b0b5438ad 3 #include "UDPSocket.h"
mbedAustin 7:d2c97b20d237 4
mbedAustin 7:d2c97b20d237 5 const char* ECHO_SERVER_ADDRESS = "192.168.2.4";
mbedAustin 7:d2c97b20d237 6 const int ECHO_SERVER_PORT = 8080;
mbedAustin 3:5175e53017e4 7 ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password
mbedAustin 7:d2c97b20d237 8 RawSerial pc(USBTX, USBRX); // tx, rx
mbedAustin 8:af3b0b5438ad 9
mbedAustin 7:d2c97b20d237 10 int main() {
mbedAustin 3:5175e53017e4 11 pc.baud(115200);
mbedAustin 7:d2c97b20d237 12 wifi.init(); //Use DHCP
mbedAustin 7:d2c97b20d237 13 wifi.connect();
mbedAustin 8:af3b0b5438ad 14
mbedAustin 8:af3b0b5438ad 15 UDPSocket sock;
mbedAustin 8:af3b0b5438ad 16 sock.init();
mbedAustin 7:d2c97b20d237 17
mbedAustin 8:af3b0b5438ad 18 Endpoint echo_server;
mbedAustin 8:af3b0b5438ad 19 echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
mbedAustin 7:d2c97b20d237 20
mbedAustin 8:af3b0b5438ad 21 pc.printf("\r\nESP IP: %s\r\n",wifi.getIPAddress());
mbedAustin 8:af3b0b5438ad 22
mbedAustin 8:af3b0b5438ad 23 char out_buffer[] = "Hello World\n";
mbedAustin 8:af3b0b5438ad 24 sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));
mbedAustin 7:d2c97b20d237 25
mbedAustin 8:af3b0b5438ad 26 char in_buffer[256];
mbedAustin 8:af3b0b5438ad 27 int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
mbedAustin 8:af3b0b5438ad 28
mbedAustin 8:af3b0b5438ad 29 in_buffer[n] = '\0';
mbedAustin 8:af3b0b5438ad 30 pc.printf("%s\n", in_buffer);
mbedAustin 7:d2c97b20d237 31
mbedAustin 8:af3b0b5438ad 32 sock.close();
mbedAustin 7:d2c97b20d237 33
mbedAustin 8:af3b0b5438ad 34 wifi.disconnect();
mbedAustin 8:af3b0b5438ad 35 while(1) {}
mbedAustin 8:af3b0b5438ad 36 }