WebSocket Client for GSwifiInterface library Please see: http://mbed.org/users/gsfan/notebook/GSwifiInterface/

Dependencies:   GSwifiInterface mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
gsfan
Date:
Fri Mar 07 15:19:07 2014 +0000
Child:
1:bc2b47567c49
Commit message:
1st build

Changed in this revision

GSwifiInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GSwifiInterface.lib	Fri Mar 07 15:19:07 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/gsfan/code/GSwifiInterface/#c30ed7b1536d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Mar 07 15:19:07 2014 +0000
@@ -0,0 +1,63 @@
+#include "mbed.h"
+#include "GSwifiInterface.h"
+
+#define SEC  GSwifi::SEC_WPA_PSK
+#define SSID "SSID"
+#define PASS "PASSPHRASE"
+
+#define WS_SERVER "sockets.mbed.org"
+#define WS_URI    "/ws/username/rw"
+
+#ifndef CFG_ENABLE_WEBSOCKET
+#error Please enable "#define CFG_ENABLE_WEBSOCKET" in "GSwifi_conf.h"
+#endif
+
+Serial pc(USBTX, USBRX);
+
+int main() {
+    GSwifiInterface gs(p13, p14, p12, P0_22, p20, NC, 115200);
+    pc.baud(115200);
+    printf("WebSocket Client...\r\n");
+    gs.init(); //Use DHCP
+    if (gs.connect(SEC, SSID, PASS)) exit(-1); // join the network
+    printf("IP Address is %s\r\n", gs.getIPAddress());
+
+    int cid = gs.wsOpen (WS_SERVER, 80, WS_URI);
+    if (cid < 0) {
+        printf("error: wsOpen\r\n");
+        return -1;
+    }
+
+    printf("WebSocket ready\r\n");
+    for (;;) {
+        gs.poll();
+
+        if (pc.readable()) {
+            char c;
+            char buf[2];
+            c = pc.getc();
+            if (c == 0x1b) break; // ESC
+            pc.printf("send: %c\r\n", c);
+            buf[0] = c;
+            gs.wsSend(cid, buf, 1, "MASK");
+        }
+
+        if (gs.readable(cid)) {
+           int i, n;
+           char buf[40];
+           n = gs.recv(cid, buf, sizeof(buf));
+           printf("recv: ");
+           for (i = 0; i < n; i ++) {
+               printf(" %02x", buf[i]);
+           }
+           printf("\r\n");
+        }
+
+        if (!gs.isConnected(cid)) {
+            break;
+        }
+    }
+
+    gs.dissociate();
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Fri Mar 07 15:19:07 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#f88660a9bed1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Mar 07 15:19:07 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/8e73be2a2ac1
\ No newline at end of file