Example demonstrating the use of the Vodafone USB Modem library with the HTTP Client

Dependencies:   HTTPClient VodafoneUSBModem mbed-rtos mbed

Fork of VodafoneK3770HTTPClientTestBeta by Donatien Garnier

Committer:
donatien
Date:
Fri Aug 17 15:53:46 2012 +0000
Revision:
1:6ea9ac27702c
Parent:
0:f3f18ac13e0c
Child:
2:d1a092234f72
Initial Commit

Who changed what in which revision?

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