![](/media/cache/group/ESP01v0.jpg.50x50_q85.jpg)
ESP8266 web sockets
Dependencies: ESP8266Interface WebSocketClient mbed
Fork of ESP8266_Test by
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
- Initiliaze ESP8266 with DHCP enabled
- Create a socketed connection with the above server
- It will send this message "n WebSocket Hello World over wifi", where n is the number of times it has sent.
- 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.
main.cpp
- Committer:
- mbedAustin
- Date:
- 2015-04-28
- Revision:
- 3:5175e53017e4
- Parent:
- 1:f61c1001ee60
- Child:
- 4:d02fdd139307
File content as of revision 3:5175e53017e4:
#include "mbed.h" #define DEBUG 1 #include "ESP8266Interface.h" #include "UDPSocket.h" #include "Endpoint.h" RawSerial pc(USBTX, USBRX); // tx, rx ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password UDPSocket server; bool UDP_blocking = false; unsigned int UDP_timeout = 100; uint8_t macbytes[6] = {0}; char MAC[20] = "665544332211"; int main() { pc.baud(115200); int check = 0; pc.printf("\n\rSystemCoreClock=: %d", SystemCoreClock / 1000000) ; // Init ESP8266 pc.printf("\r\nwifi.init: "); check = wifi.init(); // initialize the interface, reset the module pc.printf("%d",check); // Initialize Socket pc.printf("\r\nwifi.connect: "); check = wifi.connect(); // join AP and get DHCP settings pc.printf("%d",check); // printf("\r\nsocket init: "); // check = server.init(); // printf("%d",check); // // printf("\r\nsocket bind: "); // check = server.bind(0); // printf("%d",check); // // printf("\r\nset blocking option"); // server.set_blocking(UDP_blocking, UDP_timeout); wifi.sendCommand("AT+CWJAP?", NULL, NULL, 1000); check = wifi.is_connected(); pc.printf("\r\nwifi connected: %d,\r\n",check); char * ip = NULL; ip = wifi.getIPAddress(); pc.printf("\n\rIP = %s \n\r",ip); pc.printf("\r\nStarting while1 loop\r\n"); while(1) { if(pc.readable()) { char c = pc.getc(); //pc.putc(c); // echo character back to computer for sanity wifi.putc(c); } if(wifi.readable()) { char c = wifi.getc(); pc.putc(c); } } }