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