![](/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@13:5f2bb0dc134b, 2015-06-03 (annotated)
- Committer:
- sarahmarshy
- Date:
- Wed Jun 03 19:03:50 2015 +0000
- Revision:
- 13:5f2bb0dc134b
- Parent:
- 12:978788c2156c
- Child:
- 14:4ee468971ae0
Changed message sent
Who changed what in which revision?
User | Revision | Line number | New 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 |