this is a demo code for HTTPClient_GPRS library
Dependencies: GPRSInterface HTTPClient_GPRS mbed USBDevice
Fork of Seeed_HTTPClient_GPRSInterface_HelloWorld by
main.cpp@0:cc0bec77f305, 2014-02-27 (annotated)
- Committer:
- lawliet
- Date:
- Thu Feb 27 07:39:48 2014 +0000
- Revision:
- 0:cc0bec77f305
- Child:
- 1:16498811e319
Initial Version of Seeed_HTTPClient_GPRSInterface_HelloWorld
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lawliet | 0:cc0bec77f305 | 1 | #include "mbed.h" |
lawliet | 0:cc0bec77f305 | 2 | #include "GPRSInterface.h" |
lawliet | 0:cc0bec77f305 | 3 | #include "HTTPClient.h" |
lawliet | 0:cc0bec77f305 | 4 | |
lawliet | 0:cc0bec77f305 | 5 | #define TEST_HTTP_GET 1 |
lawliet | 0:cc0bec77f305 | 6 | #define TEST_HTTP_POST 1 |
lawliet | 0:cc0bec77f305 | 7 | #define TEST_HTTP_PUT 1 |
lawliet | 0:cc0bec77f305 | 8 | #define TEST_HTTP_DELETE 1 |
lawliet | 0:cc0bec77f305 | 9 | |
lawliet | 0:cc0bec77f305 | 10 | #define PIN_TX P0_0 |
lawliet | 0:cc0bec77f305 | 11 | #define PIN_RX P0_1 |
lawliet | 0:cc0bec77f305 | 12 | |
lawliet | 0:cc0bec77f305 | 13 | GPRSInterface gprs(PIN_TX,PIN_RX,19200,"cmnet",NULL,NULL); |
lawliet | 0:cc0bec77f305 | 14 | HTTPClient http; |
lawliet | 0:cc0bec77f305 | 15 | char str[512]; |
lawliet | 0:cc0bec77f305 | 16 | |
lawliet | 0:cc0bec77f305 | 17 | int main() |
lawliet | 0:cc0bec77f305 | 18 | { |
lawliet | 0:cc0bec77f305 | 19 | gprs.init(); |
lawliet | 0:cc0bec77f305 | 20 | |
lawliet | 0:cc0bec77f305 | 21 | while(false == gprs.connect()) { |
lawliet | 0:cc0bec77f305 | 22 | printf("gprs connect error\n"); |
lawliet | 0:cc0bec77f305 | 23 | wait(2); |
lawliet | 0:cc0bec77f305 | 24 | } |
lawliet | 0:cc0bec77f305 | 25 | |
lawliet | 0:cc0bec77f305 | 26 | // successful DHCP |
lawliet | 0:cc0bec77f305 | 27 | printf("IP Address is %s\n", gprs.getIPAddress()); |
lawliet | 0:cc0bec77f305 | 28 | |
lawliet | 0:cc0bec77f305 | 29 | int ret; |
lawliet | 0:cc0bec77f305 | 30 | HTTPMap map; |
lawliet | 0:cc0bec77f305 | 31 | HTTPText inText(str, 512); |
lawliet | 0:cc0bec77f305 | 32 | HTTPText outText(str); |
lawliet | 0:cc0bec77f305 | 33 | |
lawliet | 0:cc0bec77f305 | 34 | #if TEST_HTTP_GET |
lawliet | 0:cc0bec77f305 | 35 | //GET data |
lawliet | 0:cc0bec77f305 | 36 | printf("\nTrying to fetch page...\n"); |
lawliet | 0:cc0bec77f305 | 37 | ret = http.get("http://mbed.org/media/uploads/mbed_official/hello.txt", str, 512); |
lawliet | 0:cc0bec77f305 | 38 | if (!ret) { |
lawliet | 0:cc0bec77f305 | 39 | printf("Page fetched successfully - read %d characters\n", strlen(str)); |
lawliet | 0:cc0bec77f305 | 40 | printf("Result: %s\n", str); |
lawliet | 0:cc0bec77f305 | 41 | } else { |
lawliet | 0:cc0bec77f305 | 42 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
lawliet | 0:cc0bec77f305 | 43 | } |
lawliet | 0:cc0bec77f305 | 44 | #endif |
lawliet | 0:cc0bec77f305 | 45 | |
lawliet | 0:cc0bec77f305 | 46 | #if TEST_HTTP_POST |
lawliet | 0:cc0bec77f305 | 47 | //POST data |
lawliet | 0:cc0bec77f305 | 48 | map.put("Hello", "World"); |
lawliet | 0:cc0bec77f305 | 49 | map.put("test", "1234"); |
lawliet | 0:cc0bec77f305 | 50 | printf("\nTrying to post data...\n"); |
lawliet | 0:cc0bec77f305 | 51 | ret = http.post("http://httpbin.org/post", map, &inText); |
lawliet | 0:cc0bec77f305 | 52 | if (!ret) { |
lawliet | 0:cc0bec77f305 | 53 | printf("Executed POST successfully\n"); |
lawliet | 0:cc0bec77f305 | 54 | } else { |
lawliet | 0:cc0bec77f305 | 55 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
lawliet | 0:cc0bec77f305 | 56 | } |
lawliet | 0:cc0bec77f305 | 57 | #endif |
lawliet | 0:cc0bec77f305 | 58 | |
lawliet | 0:cc0bec77f305 | 59 | #if TEST_HTTP_PUT |
lawliet | 0:cc0bec77f305 | 60 | //PUT data |
lawliet | 0:cc0bec77f305 | 61 | strcpy(str, "This is a PUT test!"); |
lawliet | 0:cc0bec77f305 | 62 | printf("\nTrying to put resource...\n"); |
lawliet | 0:cc0bec77f305 | 63 | ret = http.put("http://httpbin.org/put", outText, &inText); |
lawliet | 0:cc0bec77f305 | 64 | if (!ret) { |
lawliet | 0:cc0bec77f305 | 65 | printf("Executed PUT successfully - read %d characters\n", strlen(str)); |
lawliet | 0:cc0bec77f305 | 66 | printf("Result: %s\n", str); |
lawliet | 0:cc0bec77f305 | 67 | } else { |
lawliet | 0:cc0bec77f305 | 68 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
lawliet | 0:cc0bec77f305 | 69 | } |
lawliet | 0:cc0bec77f305 | 70 | #endif |
lawliet | 0:cc0bec77f305 | 71 | |
lawliet | 0:cc0bec77f305 | 72 | #if TEST_HTTP_DELETE |
lawliet | 0:cc0bec77f305 | 73 | //DELETE data |
lawliet | 0:cc0bec77f305 | 74 | printf("\nTrying to delete resource...\n"); |
lawliet | 0:cc0bec77f305 | 75 | ret = http.del("http://httpbin.org/delete", &inText); |
lawliet | 0:cc0bec77f305 | 76 | if (!ret) { |
lawliet | 0:cc0bec77f305 | 77 | printf("Executed DELETE successfully\n"); |
lawliet | 0:cc0bec77f305 | 78 | } else { |
lawliet | 0:cc0bec77f305 | 79 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
lawliet | 0:cc0bec77f305 | 80 | } |
lawliet | 0:cc0bec77f305 | 81 | #endif |
lawliet | 0:cc0bec77f305 | 82 | |
lawliet | 0:cc0bec77f305 | 83 | gprs.disconnect(); |
lawliet | 0:cc0bec77f305 | 84 | |
lawliet | 0:cc0bec77f305 | 85 | return 0; |
lawliet | 0:cc0bec77f305 | 86 | } |