websocket over 3g using VodafoneUSBModem and app-board on-board sensors (acc - tmp)
Dependencies: LM75B MMA7660 VodafoneUSBModem WebSocketClient mbed-rtos mbed
main.cpp
- Committer:
- samux
- Date:
- 2013-02-08
- Revision:
- 0:c589d2050144
- Child:
- 1:89d8a05a8f4d
File content as of revision 0:c589d2050144:
#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; }