ESP8266 web sockets

Dependencies:   ESP8266Interface WebSocketClient mbed

Fork of ESP8266_Test 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 websockets. It will connect and send a message to this web socket server location: 192.168.1.20 : 8888.

You can find the python server code here.

ESP8266_WebSockets_HelloWorld

  1. Initiliaze ESP8266 with DHCP enabled
  2. Create a socketed connection with the above server
  3. It will send this message "n WebSocket Hello World over wifi", where n is the number of times it has sent.
  4. Websocket server echoes the string sent (backwards)

You can view the debug messages of this program by using a serial terminal set to 115200 baud.

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