Test program for the Sprint/Sierra Wireless 598U dongle using the HTTPClient library

Dependencies:   HTTPClient SprintUSBModem mbed-rtos mbed

Committer:
donatien
Date:
Tue Oct 30 10:06:11 2012 +0000
Revision:
0:43ee25ebfe6b
Intial commit

Who changed what in which revision?

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