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:
sarahmarshy
Date:
Wed Jun 03 19:03:50 2015 +0000
Revision:
13:5f2bb0dc134b
Parent:
12:978788c2156c
Child:
14:1f0a842f8750
Changed message sent

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 9:91fe783e1dd4 3 #include "TCPSocketConnection.h"
sarahmarshy 12:978788c2156c 4 #include "TCPSocketServer.h"
sarahmarshy 12:978788c2156c 5 #include "Websocket.h"
sarahmarshy 12:978788c2156c 6
sarahmarshy 12:978788c2156c 7
sarahmarshy 12:978788c2156c 8
sarahmarshy 12:978788c2156c 9 ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password,Baud
mbedAustin 7:d2c97b20d237 10 RawSerial pc(USBTX, USBRX); // tx, rx
mbedAustin 9:91fe783e1dd4 11
mbedAustin 7:d2c97b20d237 12 int main() {
mbedAustin 3:5175e53017e4 13 pc.baud(115200);
sarahmarshy 12:978788c2156c 14 wifi.init(); //Reset
sarahmarshy 12:978788c2156c 15 wifi.connect(); //Use DHCP
mbedAustin 9:91fe783e1dd4 16 pc.printf("IP Address is %s\n", wifi.getIPAddress());
mbedAustin 7:d2c97b20d237 17
sarahmarshy 12:978788c2156c 18 Websocket ws("ws://192.168.1.20:8888/ws");
mbedAustin 7:d2c97b20d237 19
sarahmarshy 12:978788c2156c 20 //Check for successful socket connection
sarahmarshy 12:978788c2156c 21 if(!ws.connect())
sarahmarshy 12:978788c2156c 22 ws.close();
sarahmarshy 12:978788c2156c 23 else{
sarahmarshy 12:978788c2156c 24 char str[100];
sarahmarshy 12:978788c2156c 25
sarahmarshy 12:978788c2156c 26 for(int i=0; i<0x7fffffff; ++i) {
sarahmarshy 12:978788c2156c 27 // string with a message
sarahmarshy 13:5f2bb0dc134b 28 sprintf(str, "%d WebSocket Hello World over wifi", i);
sarahmarshy 12:978788c2156c 29 ws.send(str);
sarahmarshy 12:978788c2156c 30
sarahmarshy 12:978788c2156c 31 // clear the buffer and wait a sec...
sarahmarshy 12:978788c2156c 32 memset(str, 0, 100);
sarahmarshy 12:978788c2156c 33 wait(0.5f);
sarahmarshy 12:978788c2156c 34
sarahmarshy 12:978788c2156c 35 // websocket server should echo whatever we sent it
sarahmarshy 12:978788c2156c 36 if (ws.read(str)) {
sarahmarshy 12:978788c2156c 37 pc.printf("rcv'd: %s\n", str);
sarahmarshy 12:978788c2156c 38 }
sarahmarshy 12:978788c2156c 39 }
sarahmarshy 12:978788c2156c 40 }
sarahmarshy 12:978788c2156c 41 ws.close();
mbedAustin 9:91fe783e1dd4 42
mbedAustin 9:91fe783e1dd4 43 while(true) {}
mbedAustin 9:91fe783e1dd4 44 }
mbedAustin 9:91fe783e1dd4 45