Integrating the ublox LISA C200 modem

Fork of SprintUSBModemHTTPClientTest by Donatien Garnier

Committer:
sam_grove
Date:
Tue Oct 01 21:39:27 2013 +0000
Revision:
13:c920eb6774de
Parent:
11:3baeddcea132
Child:
14:cd53f77f8afe
Tested a few different URL's

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