test

Dependencies:   C027 HTTPClient UbloxUSBModem mbed

Fork of C027_HTTPClientTest by u-blox

Committer:
mazgch
Date:
Mon Mar 03 07:57:11 2014 +0000
Revision:
15:9350ec2ec1cd
Parent:
14:88552ae75244
Child:
16:b2b75c8a01fa
remove gprs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:f3f18ac13e0c 1 #include "mbed.h"
mazgch 6:77c131006c67 2 #include "C027.h"
mazgch 14:88552ae75244 3 #include "UbloxModem.h"
mazgch 6:77c131006c67 4
donatien 0:f3f18ac13e0c 5 #include "HTTPClient.h"
donatien 0:f3f18ac13e0c 6
mazgch 10:e2315bcdd7be 7 C027 c027;
mazgch 10:e2315bcdd7be 8
mazgch 14:88552ae75244 9 #ifndef MODEM_APN
mazgch 14:88552ae75244 10 #warning APN not specified, using "internet"
mazgch 14:88552ae75244 11 #define MODEM_APN "internet"
mazgch 14:88552ae75244 12 #endif
mazgch 14:88552ae75244 13
mazgch 14:88552ae75244 14 #ifndef MODEM_USERNAME
mazgch 14:88552ae75244 15 #warning username not specified
mazgch 14:88552ae75244 16 #define MODEM_USERNAME NULL
mazgch 14:88552ae75244 17 #endif
mazgch 14:88552ae75244 18
mazgch 14:88552ae75244 19 #ifndef MODEM_PASSWORD
mazgch 14:88552ae75244 20 #warning password not specified
mazgch 14:88552ae75244 21 #define MODEM_PASSWORD NULL
mazgch 14:88552ae75244 22 #endif
mazgch 14:88552ae75244 23
mazgch 7:c558c74ceb0f 24 void test(void const*)
donatien 0:f3f18ac13e0c 25 {
mazgch 15:9350ec2ec1cd 26 #if 1 // Switch this to select between the Serial and USB interface
mazgch 14:88552ae75244 27 // Serial is supported by LISA-C, LISA-U and SARA-G
mazgch 10:e2315bcdd7be 28 c027.mdmPower(true);
mazgch 14:88552ae75244 29 wait_ms(5000);
mazgch 14:88552ae75244 30 UbloxSerModem modem;
mazgch 14:88552ae75244 31 #else
mazgch 14:88552ae75244 32 // USB is supported by LISA-C or LISA-U
mazgch 14:88552ae75244 33 c027.mdmUsbEnable(true);
mazgch 14:88552ae75244 34 c027.mdmPower(true);
mazgch 14:88552ae75244 35 wait_ms(5000);
mazgch 14:88552ae75244 36 UbloxUSBModem modem;
mazgch 14:88552ae75244 37 #endif
mazgch 14:88552ae75244 38
donatien 1:6ea9ac27702c 39 HTTPClient http;
donatien 1:6ea9ac27702c 40 char str[512];
mazgch 7:c558c74ceb0f 41
mazgch 14:88552ae75244 42 int ret;
mazgch 14:88552ae75244 43 for (;;)
mazgch 14:88552ae75244 44 {
mazgch 14:88552ae75244 45 ret = modem.connect(MODEM_APN, MODEM_USERNAME, MODEM_PASSWORD); // eventaully set another apn here
mazgch 14:88552ae75244 46 if (!ret)
mazgch 14:88552ae75244 47 break;
mazgch 14:88552ae75244 48 wait_ms(1000);
mazgch 14:88552ae75244 49 }
mazgch 8:95a97898084a 50 if(ret)
mazgch 8:95a97898084a 51 {
mazgch 8:95a97898084a 52 printf("Could not connect %d\n", ret);
mazgch 7:c558c74ceb0f 53 return;
donatien 1:6ea9ac27702c 54 }
mazgch 8:95a97898084a 55
donatien 1:6ea9ac27702c 56 //GET data
donatien 1:6ea9ac27702c 57 printf("Trying to fetch page...\n");
donatien 0:f3f18ac13e0c 58 ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
mazgch 7:c558c74ceb0f 59 if (!ret) {
mazgch 7:c558c74ceb0f 60 printf("Page fetched successfully - read %d characters\n", strlen(str));
mazgch 7:c558c74ceb0f 61 printf("Result: %s\n", str);
mazgch 7:c558c74ceb0f 62 } else {
mazgch 7:c558c74ceb0f 63 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:f3f18ac13e0c 64 }
mazgch 7:c558c74ceb0f 65
donatien 1:6ea9ac27702c 66 //POST data
donatien 0:f3f18ac13e0c 67 HTTPMap map;
donatien 0:f3f18ac13e0c 68 HTTPText text(str, 512);
donatien 0:f3f18ac13e0c 69 map.put("Hello", "World");
donatien 0:f3f18ac13e0c 70 map.put("test", "1234");
donatien 1:6ea9ac27702c 71 printf("Trying to post data...\n");
donatien 0:f3f18ac13e0c 72 ret = http.post("http://httpbin.org/post", map, &text);
mazgch 7:c558c74ceb0f 73 if (!ret) {
mazgch 7:c558c74ceb0f 74 printf("Executed POST successfully - read %d characters\n", strlen(str));
mazgch 7:c558c74ceb0f 75 printf("Result: %s\n", str);
mazgch 7:c558c74ceb0f 76 } else {
mazgch 7:c558c74ceb0f 77 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:f3f18ac13e0c 78 }
mazgch 7:c558c74ceb0f 79
mazgch 7:c558c74ceb0f 80 modem.disconnect();
mazgch 10:e2315bcdd7be 81 c027.mdmPower(false);
mazgch 10:e2315bcdd7be 82
donatien 1:6ea9ac27702c 83 while(1) {
donatien 1:6ea9ac27702c 84 }
donatien 0:f3f18ac13e0c 85 }
donatien 0:f3f18ac13e0c 86
donatien 0:f3f18ac13e0c 87
donatien 0:f3f18ac13e0c 88 int main()
donatien 0:f3f18ac13e0c 89 {
mazgch 7:c558c74ceb0f 90 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
mazgch 10:e2315bcdd7be 91 DigitalOut led(LED); // on rev A you should reasign the signal to A0
mazgch 7:c558c74ceb0f 92 while(1) {
mazgch 7:c558c74ceb0f 93 led=!led;
mazgch 7:c558c74ceb0f 94 Thread::wait(1000);
mazgch 7:c558c74ceb0f 95 }
donatien 0:f3f18ac13e0c 96
mazgch 7:c558c74ceb0f 97 return 0;
donatien 0:f3f18ac13e0c 98 }