This is the mbed code for handling Wifi websocket control from a Python based Tornado Web Server.
Dependencies: ESP8266Interface HTTPClient Motordriver WebSocketClient mbed
Fork of ESP8266_WebSockets_HelloWorld by
main.cpp@12:978788c2156c, 2015-06-03 (annotated)
- Committer:
- sarahmarshy
- Date:
- Wed Jun 03 18:47:14 2015 +0000
- Revision:
- 12:978788c2156c
- Parent:
- 9:91fe783e1dd4
- Child:
- 13:5f2bb0dc134b
Web sockets for ESP8266!
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 | 12:978788c2156c | 28 | sprintf(str, "%d WebSocket Hello World over Ethernet", 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 |