Basic websocket demo esp8266

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed-dev

Fork of ESP8266_HTTP_HelloWorld by ESP8266

Revision:
7:d2c97b20d237
Parent:
6:9ca92d1d90dd
Child:
8:af3b0b5438ad
diff -r 9ca92d1d90dd -r d2c97b20d237 main.cpp
--- a/main.cpp	Thu Apr 30 19:07:47 2015 +0000
+++ b/main.cpp	Thu Apr 30 21:26:41 2015 +0000
@@ -1,78 +1,35 @@
 #include "mbed.h"
-#define DEBUG 1
 #include "ESP8266Interface.h"
-//#include "UDPSocket.h"
 #include "TCPSocketConnection.h"
-#include "Endpoint.h"
-
-RawSerial pc(USBTX, USBRX); // tx, rx
+ 
+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
-
-TCPSocketConnection tcp;
-//bool UDP_blocking = false;
-//unsigned int UDP_timeout = 100;
-
-
-int main()
-{
+RawSerial pc(USBTX, USBRX); // tx, rx
+ 
+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);
-
-    check = tcp.connect("192.168.2.4",8080);
-    printf("\r\tcp.connect() result is: %d \r\n",check);
-
-    char testString[] = "Hello There!!";
-   // check = tcp.send((char *)testString, sizeof(testString));
-//    printf("\r\tcp.send() result is : %d",check);
-
-//    if(wifi.is_connected()) {
-//        pc.printf("\r\nConnected to Wifi!\r\n");
-//    } else {
-//        pc.printf("\r\nFailed to Connect to Wifi...\r\n");
-//    }
-
-    //pc.printf("\n\rIP = %s \n\r",wifi.getIPAddress());
-
-    char receiveString[30] = {0};
-    while(1) {
-        check = tcp.send((char *)testString, sizeof(testString));
-        check = tcp.receive(receiveString,sizeof(receiveString));
-        for(int x =0; x<check; x++) {
-            pc.putc(receiveString[x]);
-        }
+    wifi.init(); //Use DHCP
+    wifi.connect();
+    pc.printf("IP Address is %s\n", wifi.getIPAddress());
+    
+    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\n#####Starting Interactive Terminal:#####\r\n");
-    while(1) {
-        if(pc.readable()) {
-            char c = pc.getc();
-            wifi.putc(c);
-        }
-        if(wifi.readable()) {
-            char c = wifi.getc();
-            pc.putc(c);
-        }
-    }
+    
+    char hello[] = "Hello World\n";
+    socket.send_all(hello, sizeof(hello) - 1);
+    
+    char buf[256];
+    int n = socket.receive(buf, 256);
+    buf[n] = '\0';
+    pc.printf("%s", buf);
+    
+    socket.close();
+    wifi.disconnect();
+    
+    while(true) {}
 }
+ 
\ No newline at end of file