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

Dependencies:   HTTPClient SprintUSBModem mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SprintUSBModem.h"
00003 #include "HTTPClient.h"
00004 
00005 void test(void const*) 
00006 {
00007     SprintUSBModem modem(p18);
00008     HTTPClient http;
00009     char str[512];
00010     
00011     Thread::wait(5000);
00012     printf("Switching power on\r\n");
00013     
00014     modem.power(true);
00015     
00016     int ret = modem.connect();
00017     if(ret)
00018     {
00019       printf("Could not connect\r\n");
00020       return;
00021     }
00022     
00023     //GET data
00024     printf("Trying to fetch page...\r\n");
00025     ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
00026     if (!ret)
00027     {
00028       printf("Page fetched successfully - read %d characters\r\n", strlen(str));
00029       printf("Result: %s\r\n", str);
00030     }
00031     else
00032     {
00033       printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
00034     }
00035     
00036     //POST data
00037     HTTPMap map;
00038     HTTPText text(str, 512);
00039     map.put("Hello", "World");
00040     map.put("test", "1234");
00041     printf("Trying to post data...\r\n");
00042     ret = http.post("http://httpbin.org/post", map, &text);
00043     if (!ret)
00044     {
00045       printf("Executed POST successfully - read %d characters\r\n", strlen(str));
00046       printf("Result: %s\r\n", str);
00047     }
00048     else
00049     {
00050       printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
00051     }
00052     
00053     printf("Disconnecting\r\n");
00054     
00055     modem.disconnect(); 
00056     
00057     printf("Disconnected\r\n");
00058     
00059     modem.power(false); 
00060     
00061     printf("Powered off\r\n");
00062 
00063     while(1) {
00064     }
00065 }
00066 
00067 
00068 int main()
00069 {
00070   DBG_INIT();
00071   DBG_SET_SPEED(115200);
00072   DBG_SET_NEWLINE("\r\n");
00073   Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
00074   DigitalOut led(LED1);
00075   while(1)
00076   {
00077     led=!led;
00078     Thread::wait(1000);  
00079   }
00080 
00081   return 0;
00082 }