USSDTest, working with SARA-G350 on C027
Dependencies: C027 UbloxUSBModem mbed
Fork of C027_HTTPClientTest by
main.cpp@13:9350ec2ec1cd, 2014-03-03 (annotated)
- Committer:
- mazgch
- Date:
- Mon Mar 03 07:57:11 2014 +0000
- Revision:
- 13:9350ec2ec1cd
- Parent:
- 12:88552ae75244
- Child:
- 14:b2b75c8a01fa
remove gprs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:f3f18ac13e0c | 1 | #include "mbed.h" |
mazgch | 6:77c131006c67 | 2 | #include "C027.h" |
mazgch | 12: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 | 12:88552ae75244 | 9 | #ifndef MODEM_APN |
mazgch | 12:88552ae75244 | 10 | #warning APN not specified, using "internet" |
mazgch | 12:88552ae75244 | 11 | #define MODEM_APN "internet" |
mazgch | 12:88552ae75244 | 12 | #endif |
mazgch | 12:88552ae75244 | 13 | |
mazgch | 12:88552ae75244 | 14 | #ifndef MODEM_USERNAME |
mazgch | 12:88552ae75244 | 15 | #warning username not specified |
mazgch | 12:88552ae75244 | 16 | #define MODEM_USERNAME NULL |
mazgch | 12:88552ae75244 | 17 | #endif |
mazgch | 12:88552ae75244 | 18 | |
mazgch | 12:88552ae75244 | 19 | #ifndef MODEM_PASSWORD |
mazgch | 12:88552ae75244 | 20 | #warning password not specified |
mazgch | 12:88552ae75244 | 21 | #define MODEM_PASSWORD NULL |
mazgch | 12:88552ae75244 | 22 | #endif |
mazgch | 12:88552ae75244 | 23 | |
mazgch | 7:c558c74ceb0f | 24 | void test(void const*) |
donatien | 0:f3f18ac13e0c | 25 | { |
mazgch | 13:9350ec2ec1cd | 26 | #if 1 // Switch this to select between the Serial and USB interface |
mazgch | 12:88552ae75244 | 27 | // Serial is supported by LISA-C, LISA-U and SARA-G |
mazgch | 10:e2315bcdd7be | 28 | c027.mdmPower(true); |
mazgch | 12:88552ae75244 | 29 | wait_ms(5000); |
mazgch | 12:88552ae75244 | 30 | UbloxSerModem modem; |
mazgch | 12:88552ae75244 | 31 | #else |
mazgch | 12:88552ae75244 | 32 | // USB is supported by LISA-C or LISA-U |
mazgch | 12:88552ae75244 | 33 | c027.mdmUsbEnable(true); |
mazgch | 12:88552ae75244 | 34 | c027.mdmPower(true); |
mazgch | 12:88552ae75244 | 35 | wait_ms(5000); |
mazgch | 12:88552ae75244 | 36 | UbloxUSBModem modem; |
mazgch | 12:88552ae75244 | 37 | #endif |
mazgch | 12:88552ae75244 | 38 | |
donatien | 1:6ea9ac27702c | 39 | HTTPClient http; |
donatien | 1:6ea9ac27702c | 40 | char str[512]; |
mazgch | 7:c558c74ceb0f | 41 | |
mazgch | 12:88552ae75244 | 42 | int ret; |
mazgch | 12:88552ae75244 | 43 | for (;;) |
mazgch | 12:88552ae75244 | 44 | { |
mazgch | 12:88552ae75244 | 45 | ret = modem.connect(MODEM_APN, MODEM_USERNAME, MODEM_PASSWORD); // eventaully set another apn here |
mazgch | 12:88552ae75244 | 46 | if (!ret) |
mazgch | 12:88552ae75244 | 47 | break; |
mazgch | 12:88552ae75244 | 48 | wait_ms(1000); |
mazgch | 12: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 | } |