Example program streaming accelerometer data to a websocket server over a Sprint Mobile Broadband connection

Dependencies:   MMA7660 SprintUSBModem WebSocketClient mbed-rtos mbed

Committer:
chris
Date:
Wed Oct 31 00:40:09 2012 +0000
Revision:
7:e61aa764fba4
Parent:
6:b3fc13de8f5e
Modified example to use port 443; Added viewer URL in the comments

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:0389bce1c74d 1 #include "mbed.h"
donatien 0:0389bce1c74d 2 #include "SprintUSBModem.h"
donatien 4:c1ce97cb8d74 3 #include "Websocket.h"
chris 6:b3fc13de8f5e 4 #include "MMA7660.h"
chris 6:b3fc13de8f5e 5
chris 6:b3fc13de8f5e 6 MMA7660 MMA(p28, p27);
donatien 0:0389bce1c74d 7
donatien 0:0389bce1c74d 8 void test(void const*)
donatien 0:0389bce1c74d 9 {
chris 7:e61aa764fba4 10 SprintUSBModem modem(p18);
chris 7:e61aa764fba4 11 Websocket ws("ws://sockets.mbed.org:443/ws/sensors/wo");
chris 7:e61aa764fba4 12 // View the output at :
chris 7:e61aa764fba4 13 // http://tools.mbed.org/iot/
chris 7:e61aa764fba4 14 // Click "show all"
chris 6:b3fc13de8f5e 15 char json_str[100];
donatien 0:0389bce1c74d 16 Thread::wait(5000);
chris 6:b3fc13de8f5e 17 printf("Switching power on\r\n");
donatien 0:0389bce1c74d 18
chris 7:e61aa764fba4 19 modem.power(true);
chris 7:e61aa764fba4 20
donatien 0:0389bce1c74d 21 int ret = modem.connect();
donatien 0:0389bce1c74d 22 if(ret)
donatien 0:0389bce1c74d 23 {
donatien 2:9304861e65d6 24 printf("Could not connect\r\n");
donatien 0:0389bce1c74d 25 return;
donatien 0:0389bce1c74d 26 }
donatien 0:0389bce1c74d 27
donatien 4:c1ce97cb8d74 28 bool c = ws.connect();
donatien 4:c1ce97cb8d74 29 printf("Connect result: %s\r\n", c?"OK":"Failed");
donatien 4:c1ce97cb8d74 30
chris 6:b3fc13de8f5e 31 while (1) {
chris 6:b3fc13de8f5e 32 sprintf(json_str, "{\"id\":\"mbed-app-board\",\"ax\":\"%d\",\"ay\":\"%d\",\"az\":\"%d\"}", (int)(MMA.x()*200), (int)(MMA.y()*200), (int)(MMA.z()*200));
chris 6:b3fc13de8f5e 33 ws.send(json_str);
chris 6:b3fc13de8f5e 34 wait(0.2);
donatien 0:0389bce1c74d 35 }
donatien 0:0389bce1c74d 36
donatien 0:0389bce1c74d 37 }
donatien 0:0389bce1c74d 38
donatien 0:0389bce1c74d 39
donatien 0:0389bce1c74d 40 int main()
donatien 0:0389bce1c74d 41 {
donatien 0:0389bce1c74d 42 DBG_INIT();
donatien 0:0389bce1c74d 43 DBG_SET_SPEED(115200);
donatien 0:0389bce1c74d 44 DBG_SET_NEWLINE("\r\n");
donatien 0:0389bce1c74d 45 Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
donatien 0:0389bce1c74d 46 DigitalOut led(LED1);
donatien 0:0389bce1c74d 47 while(1)
donatien 0:0389bce1c74d 48 {
donatien 0:0389bce1c74d 49 led=!led;
donatien 0:0389bce1c74d 50 Thread::wait(1000);
donatien 0:0389bce1c74d 51 }
donatien 0:0389bce1c74d 52
donatien 0:0389bce1c74d 53 return 0;
donatien 0:0389bce1c74d 54 }