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

Dependencies:   MMA7660 SprintUSBModem WebSocketClient mbed-rtos mbed

Committer:
donatien
Date:
Wed Oct 10 08:34:59 2012 +0000
Revision:
2:9304861e65d6
Parent:
0:0389bce1c74d
Child:
4:c1ce97cb8d74
Sprint lib update

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 0:0389bce1c74d 3 #include "HTTPClient.h"
donatien 0:0389bce1c74d 4
donatien 0:0389bce1c74d 5 void test(void const*)
donatien 0:0389bce1c74d 6 {
donatien 0:0389bce1c74d 7 SprintUSBModem modem(p18);
donatien 0:0389bce1c74d 8 HTTPClient http;
donatien 0:0389bce1c74d 9 char str[512];
donatien 0:0389bce1c74d 10
donatien 0:0389bce1c74d 11 Thread::wait(5000);
donatien 0:0389bce1c74d 12 printf("Switching power on\r\n");
donatien 0:0389bce1c74d 13
donatien 0:0389bce1c74d 14 modem.power(true);
donatien 0:0389bce1c74d 15
donatien 0:0389bce1c74d 16 int ret = modem.connect();
donatien 0:0389bce1c74d 17 if(ret)
donatien 0:0389bce1c74d 18 {
donatien 2:9304861e65d6 19 printf("Could not connect\r\n");
donatien 0:0389bce1c74d 20 return;
donatien 0:0389bce1c74d 21 }
donatien 0:0389bce1c74d 22
donatien 0:0389bce1c74d 23 //GET data
donatien 2:9304861e65d6 24 printf("Trying to fetch page...\r\n");
donatien 0:0389bce1c74d 25 ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
donatien 0:0389bce1c74d 26 if (!ret)
donatien 0:0389bce1c74d 27 {
donatien 2:9304861e65d6 28 printf("Page fetched successfully - read %d characters\r\n", strlen(str));
donatien 2:9304861e65d6 29 printf("Result: %s\r\n", str);
donatien 0:0389bce1c74d 30 }
donatien 0:0389bce1c74d 31 else
donatien 0:0389bce1c74d 32 {
donatien 2:9304861e65d6 33 printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
donatien 0:0389bce1c74d 34 }
donatien 0:0389bce1c74d 35
donatien 0:0389bce1c74d 36 //POST data
donatien 0:0389bce1c74d 37 HTTPMap map;
donatien 0:0389bce1c74d 38 HTTPText text(str, 512);
donatien 0:0389bce1c74d 39 map.put("Hello", "World");
donatien 0:0389bce1c74d 40 map.put("test", "1234");
donatien 2:9304861e65d6 41 printf("Trying to post data...\r\n");
donatien 0:0389bce1c74d 42 ret = http.post("http://httpbin.org/post", map, &text);
donatien 0:0389bce1c74d 43 if (!ret)
donatien 0:0389bce1c74d 44 {
donatien 2:9304861e65d6 45 printf("Executed POST successfully - read %d characters\r\n", strlen(str));
donatien 2:9304861e65d6 46 printf("Result: %s\r\n", str);
donatien 0:0389bce1c74d 47 }
donatien 0:0389bce1c74d 48 else
donatien 0:0389bce1c74d 49 {
donatien 2:9304861e65d6 50 printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
donatien 0:0389bce1c74d 51 }
donatien 0:0389bce1c74d 52
donatien 2:9304861e65d6 53 printf("Disconnecting\r\n");
donatien 2:9304861e65d6 54
donatien 0:0389bce1c74d 55 modem.disconnect();
donatien 0:0389bce1c74d 56
donatien 2:9304861e65d6 57 printf("Disconnected\r\n");
donatien 2:9304861e65d6 58
donatien 0:0389bce1c74d 59 modem.power(false);
donatien 2:9304861e65d6 60
donatien 2:9304861e65d6 61 printf("Powered off\n");
donatien 0:0389bce1c74d 62
donatien 0:0389bce1c74d 63 while(1) {
donatien 0:0389bce1c74d 64 }
donatien 0:0389bce1c74d 65 }
donatien 0:0389bce1c74d 66
donatien 0:0389bce1c74d 67
donatien 0:0389bce1c74d 68 int main()
donatien 0:0389bce1c74d 69 {
donatien 0:0389bce1c74d 70 DBG_INIT();
donatien 0:0389bce1c74d 71 DBG_SET_SPEED(115200);
donatien 0:0389bce1c74d 72 DBG_SET_NEWLINE("\r\n");
donatien 0:0389bce1c74d 73 Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
donatien 0:0389bce1c74d 74 DigitalOut led(LED1);
donatien 0:0389bce1c74d 75 while(1)
donatien 0:0389bce1c74d 76 {
donatien 0:0389bce1c74d 77 led=!led;
donatien 0:0389bce1c74d 78 Thread::wait(1000);
donatien 0:0389bce1c74d 79 }
donatien 0:0389bce1c74d 80
donatien 0:0389bce1c74d 81 return 0;
donatien 0:0389bce1c74d 82 }