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:
Mon Jun 08 21:32:56 2015 +0000
Revision:
14:4ee468971ae0
Parent:
13:5f2bb0dc134b
Added send message printf(), removed unnecessary pc.printf. Made UART baud rate 9600 to match default of others.

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