Example program streaming accelerometer data to a websocket server over a Sprint Mobile Broadband connection
Dependencies: MMA7660 SprintUSBModem WebSocketClient mbed-rtos mbed
main.cpp@7:e61aa764fba4, 2012-10-31 (annotated)
- 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?
User | Revision | Line number | New 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 | } |