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:
Thu Apr 30 21:26:41 2015 +0000
Revision:
7:d2c97b20d237
Parent:
6:9ca92d1d90dd
Child:
8:af3b0b5438ad
Validation of TCP with TCPEchoClient (http://developer.mbed.org/teams/mbed/code/TCPEchoClient/)

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 6:9ca92d1d90dd 3 #include "TCPSocketConnection.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 7:d2c97b20d237 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 7:d2c97b20d237 14 pc.printf("IP Address is %s\n", wifi.getIPAddress());
mbedAustin 7:d2c97b20d237 15
mbedAustin 7:d2c97b20d237 16 TCPSocketConnection socket;
mbedAustin 7:d2c97b20d237 17 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
mbedAustin 7:d2c97b20d237 18 pc.printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
mbedAustin 7:d2c97b20d237 19 wait(1);
mbedAustin 4:d02fdd139307 20 }
mbedAustin 7:d2c97b20d237 21
mbedAustin 7:d2c97b20d237 22 char hello[] = "Hello World\n";
mbedAustin 7:d2c97b20d237 23 socket.send_all(hello, sizeof(hello) - 1);
mbedAustin 7:d2c97b20d237 24
mbedAustin 7:d2c97b20d237 25 char buf[256];
mbedAustin 7:d2c97b20d237 26 int n = socket.receive(buf, 256);
mbedAustin 7:d2c97b20d237 27 buf[n] = '\0';
mbedAustin 7:d2c97b20d237 28 pc.printf("%s", buf);
mbedAustin 7:d2c97b20d237 29
mbedAustin 7:d2c97b20d237 30 socket.close();
mbedAustin 7:d2c97b20d237 31 wifi.disconnect();
mbedAustin 7:d2c97b20d237 32
mbedAustin 7:d2c97b20d237 33 while(true) {}
michaeljkoster 0:6a891da014a3 34 }
mbedAustin 7:d2c97b20d237 35