example websocket server
Dependencies: EthernetInterface WebSocketClient WiflyInterface mbed-rtos mbed
Revision 0:90270ce862ec, committed 2012-09-06
- Comitter:
- wangstabill
- Date:
- Thu Sep 06 19:00:02 2012 +0000
- Commit message:
- intial commit
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EthernetInterface.lib Thu Sep 06 19:00:02 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/EthernetInterface/#a0ee3ae75cfa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebSocketClient.lib Thu Sep 06 19:00:02 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/samux/code/WebSocketClient/#86e89a0369b9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiflyInterface.lib Thu Sep 06 19:00:02 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/WiflyInterface/#fb4494783863
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Sep 06 19:00:02 2012 +0000
@@ -0,0 +1,89 @@
+#include "mbed.h"
+//#include "EthernetInterface.h"
+#include "WiflyInterface.h"
+#include "Websocket.h"
+
+#define WS_SERVER_IP_ADDR "ws://192.168.42.61:8080/"
+#define SSID "mbed"
+#define PASSPHRASE "6033937142"
+
+static DigitalOut led1(LED1);
+static DigitalOut led2(LED2);
+static DigitalOut led3(LED3);
+static DigitalOut led4(LED4);
+
+static int count = 0;
+static char buffer[2];
+
+/* wifly object where:
+* - p13 and p14 are for the serial communication
+* - p22 is for the reset pin
+* - p21 is for the connection status
+* - SSID is the ssid of the network
+* - PASSPHRASE is the password
+* - WPA is the security
+*/
+WiflyInterface wifly(p13, p14, p22, p21, SSID, PASSPHRASE, WPA);
+
+void static clear_leds () {
+ led1 = led2 = led3 = led4 = 0;
+}
+
+void static counter () {
+ if (count == 99) {
+ count = 0;
+ }
+ count++;
+ sprintf(buffer, "%d", count);
+}
+
+/*static int connect_eth () {
+ EthernetInterface eth;
+ // Use DHCP
+ eth.init();
+ eth.connect();
+ // screen /dev/tty.usbmodem*
+ //printf("IP Address is %s\n\r", eth.getIPAddress());
+ return 0;
+}*/
+
+static int connect_wifi () {
+ wifly.init(); // use DHCP
+ while (!wifly.connect()); // join the network
+ return 0;
+}
+
+static Websocket connect_ws (char* ip_addr) {
+ // Viewable at: http://sockets.mbed.org/demo/viewer
+ //Websocket ws("ws://sockets.mbed.org:443/ws/demo/wo");
+
+ Websocket ws(ip_addr);
+ //printf("WS Constructed\n\r");
+ while(!ws.connect());
+ //printf("WS Connected\n\r");
+ return ws;
+}
+
+static Websocket connect (char* ip_addr) {
+ clear_leds();
+ //led1 = !connect_eth();
+ led1 = !connect_wifi();
+ Websocket ws = connect_ws(ip_addr);
+ led2 = 1;
+ return ws;
+}
+
+int main () {
+ Websocket ws = connect(WS_SERVER_IP_ADDR);
+
+ while (1) {
+ counter();
+ if (ws.is_connected()) {
+ //printf("Sending...%s\n\r", buffer);
+ ws.send(buffer);
+ } else {
+ clear_leds();
+ }
+ //wait(0.1);
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Thu Sep 06 19:00:02 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-rtos/#9654a71f5a90
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Sep 06 19:00:02 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/10b9abbe79a6 \ No newline at end of file