websocket over 3g using VodafoneUSBModem and app-board on-board sensors (acc - tmp)

Dependencies:   LM75B MMA7660 VodafoneUSBModem WebSocketClient mbed-rtos mbed

Revision:
0:c589d2050144
Child:
1:89d8a05a8f4d
diff -r 000000000000 -r c589d2050144 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Feb 08 12:34:40 2013 +0000
@@ -0,0 +1,66 @@
+#include "mbed.h"
+#include "VodafoneUSBModem.h"
+#include "Websocket.h"
+#include "LM75B.h"
+#include "MMA7660.h"
+
+// accelerometer
+MMA7660 acc(p28, p27);
+
+// temperature sensor
+LM75B tmp(p28,p27);
+
+Serial pc(USBTX, USBRX);
+
+void test(void const*)
+{
+    char json_str[100];
+
+    VodafoneUSBModem modem;
+    Websocket ws("ws://sockets.mbed.org:443/ws/sensors/wo");
+    
+
+    int ret = modem.connect("pp.vodafone.co.uk");
+    if(ret) {
+        printf("Could not connect\n");
+        return;
+    }
+
+    bool c = ws.connect();
+    printf("Connect result: %s\n", c?"OK":"Failed");
+
+    while(1) {
+        sprintf(json_str, "{\"id\":\"3g_app_board_EW2013\",\"ax\":%d,\"ay\":%d,\"az\":%d, \"tmp\":%d}", (int)(acc.x()*360), (int)(acc.y()*360), (int)(acc.z()*360), (int)tmp.read());
+        
+        // send str
+        ret = ws.send(json_str);
+        
+        if(ret<0) {
+            printf("Timeout\n");
+            ws.close();
+            c = ws.connect();
+            printf("Connect result: %s\n", c?"OK":"Failed");
+        }
+        
+        Thread::wait(100);
+    }
+
+    modem.disconnect();
+
+    while(1) {
+    }
+}
+
+
+int main()
+{
+    pc.baud(921600);
+    Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
+    DigitalOut led(LED1);
+    while(1) {
+        led=!led;
+        Thread::wait(1000);
+    }
+
+    return 0;
+}