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
Diff: main.cpp
- Revision:
- 9:91fe783e1dd4
- Parent:
- 8:af3b0b5438ad
- Child:
- 12:978788c2156c
--- a/main.cpp Fri May 01 15:40:01 2015 +0000 +++ b/main.cpp Fri May 01 17:54:08 2015 +0000 @@ -1,36 +1,35 @@ #include "mbed.h" #include "ESP8266Interface.h" -#include "UDPSocket.h" +#include "TCPSocketConnection.h" const char* ECHO_SERVER_ADDRESS = "192.168.2.4"; const int ECHO_SERVER_PORT = 8080; ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password RawSerial pc(USBTX, USBRX); // tx, rx - + int main() { pc.baud(115200); wifi.init(); //Use DHCP wifi.connect(); - - UDPSocket sock; - sock.init(); + pc.printf("IP Address is %s\n", wifi.getIPAddress()); - Endpoint echo_server; - echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); + TCPSocketConnection socket; + while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) { + pc.printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); + wait(1); + } - pc.printf("\r\nESP IP: %s\r\n",wifi.getIPAddress()); - - char out_buffer[] = "Hello World\n"; - sock.sendTo(echo_server, out_buffer, sizeof(out_buffer)); + char hello[] = "Hello World\n"; + socket.send_all(hello, sizeof(hello) - 1); - char in_buffer[256]; - int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer)); - - in_buffer[n] = '\0'; - pc.printf("%s\n", in_buffer); + char buf[256]; + int n = socket.receive(buf, 256); + buf[n] = '\0'; + pc.printf("%s", buf); - sock.close(); - + socket.close(); wifi.disconnect(); - while(1) {} -} \ No newline at end of file + + while(true) {} +} + \ No newline at end of file