
Murata TypeYD - HTTPClient example.
Dependencies: HTTPClient SNICInterface_PullReq mbed-rtos mbed
main.cpp@0:b0e7a802fc2a, 2014-11-22 (annotated)
- Committer:
- ban4jp
- Date:
- Sat Nov 22 11:02:42 2014 +0000
- Revision:
- 0:b0e7a802fc2a
Initial commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ban4jp | 0:b0e7a802fc2a | 1 | #include "mbed.h" |
ban4jp | 0:b0e7a802fc2a | 2 | #include "SNIC_WifiInterface.h" |
ban4jp | 0:b0e7a802fc2a | 3 | #include "HTTPClient.h" |
ban4jp | 0:b0e7a802fc2a | 4 | |
ban4jp | 0:b0e7a802fc2a | 5 | #define WIFI_SSID "mbed_ap" |
ban4jp | 0:b0e7a802fc2a | 6 | #define WIFI_SECUTIRY_KEY "password1234" |
ban4jp | 0:b0e7a802fc2a | 7 | #define WIFI_SECURITY_TYPE e_SEC_WPA2_AES |
ban4jp | 0:b0e7a802fc2a | 8 | |
ban4jp | 0:b0e7a802fc2a | 9 | #if defined(TARGET_LPC1768) |
ban4jp | 0:b0e7a802fc2a | 10 | C_SNIC_WifiInterface wifi( p9, p10, NC, NC, p30 ); |
ban4jp | 0:b0e7a802fc2a | 11 | Serial pc(USBTX, USBRX); // This is required when defined "_DEBUG" |
ban4jp | 0:b0e7a802fc2a | 12 | #else |
ban4jp | 0:b0e7a802fc2a | 13 | #error no defined pin. |
ban4jp | 0:b0e7a802fc2a | 14 | #endif |
ban4jp | 0:b0e7a802fc2a | 15 | |
ban4jp | 0:b0e7a802fc2a | 16 | HTTPClient http; |
ban4jp | 0:b0e7a802fc2a | 17 | char str[512]; |
ban4jp | 0:b0e7a802fc2a | 18 | |
ban4jp | 0:b0e7a802fc2a | 19 | int main() |
ban4jp | 0:b0e7a802fc2a | 20 | { |
ban4jp | 0:b0e7a802fc2a | 21 | pc.baud( 115200 ); |
ban4jp | 0:b0e7a802fc2a | 22 | pc.printf("----------------\n"); |
ban4jp | 0:b0e7a802fc2a | 23 | pc.printf("Murata TypeYD - HTTPClient example\n"); |
ban4jp | 0:b0e7a802fc2a | 24 | |
ban4jp | 0:b0e7a802fc2a | 25 | int ret = wifi.init(); |
ban4jp | 0:b0e7a802fc2a | 26 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 27 | printf("Initialized\n"); |
ban4jp | 0:b0e7a802fc2a | 28 | //printf("Initialized, MAC: %s\n", wifi.getMACAddress()); |
ban4jp | 0:b0e7a802fc2a | 29 | } else { |
ban4jp | 0:b0e7a802fc2a | 30 | printf("Error wifi.init() - ret = %d\n", ret); |
ban4jp | 0:b0e7a802fc2a | 31 | return -1; |
ban4jp | 0:b0e7a802fc2a | 32 | } |
ban4jp | 0:b0e7a802fc2a | 33 | |
ban4jp | 0:b0e7a802fc2a | 34 | wait(0.5); |
ban4jp | 0:b0e7a802fc2a | 35 | |
ban4jp | 0:b0e7a802fc2a | 36 | ret = wifi.disconnect(); |
ban4jp | 0:b0e7a802fc2a | 37 | |
ban4jp | 0:b0e7a802fc2a | 38 | wait(0.5); |
ban4jp | 0:b0e7a802fc2a | 39 | |
ban4jp | 0:b0e7a802fc2a | 40 | ret = wifi.getFWVersion((unsigned char *)str); |
ban4jp | 0:b0e7a802fc2a | 41 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 42 | printf("Firmware version: %s\n", str); |
ban4jp | 0:b0e7a802fc2a | 43 | } else { |
ban4jp | 0:b0e7a802fc2a | 44 | printf("Error wifi.getFWVersion() - ret = %d\n", ret); |
ban4jp | 0:b0e7a802fc2a | 45 | return -1; |
ban4jp | 0:b0e7a802fc2a | 46 | } |
ban4jp | 0:b0e7a802fc2a | 47 | |
ban4jp | 0:b0e7a802fc2a | 48 | wait(0.5); |
ban4jp | 0:b0e7a802fc2a | 49 | |
ban4jp | 0:b0e7a802fc2a | 50 | ret = wifi.connect( WIFI_SSID, strlen(WIFI_SSID) |
ban4jp | 0:b0e7a802fc2a | 51 | , WIFI_SECURITY_TYPE |
ban4jp | 0:b0e7a802fc2a | 52 | , WIFI_SECUTIRY_KEY, strlen(WIFI_SECUTIRY_KEY) ); |
ban4jp | 0:b0e7a802fc2a | 53 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 54 | printf("Connected\n"); |
ban4jp | 0:b0e7a802fc2a | 55 | /* |
ban4jp | 0:b0e7a802fc2a | 56 | printf("Connected, IP: %s, MASK: %s, GW: %s\n", |
ban4jp | 0:b0e7a802fc2a | 57 | wifi.getIPAddress(), wifi.getNetworkMask(), wifi.getGateway()); |
ban4jp | 0:b0e7a802fc2a | 58 | */ |
ban4jp | 0:b0e7a802fc2a | 59 | } else { |
ban4jp | 0:b0e7a802fc2a | 60 | printf("Error wifi.connect() - ret = %d\n", ret); |
ban4jp | 0:b0e7a802fc2a | 61 | return -1; |
ban4jp | 0:b0e7a802fc2a | 62 | } |
ban4jp | 0:b0e7a802fc2a | 63 | |
ban4jp | 0:b0e7a802fc2a | 64 | // Use DHCP |
ban4jp | 0:b0e7a802fc2a | 65 | wifi.setIPConfig( true ); |
ban4jp | 0:b0e7a802fc2a | 66 | // Use Static IP |
ban4jp | 0:b0e7a802fc2a | 67 | //wifi.setIPConfig( false, "192.168.0.48", "255.255.255.0", "192.168.0.1" ); |
ban4jp | 0:b0e7a802fc2a | 68 | |
ban4jp | 0:b0e7a802fc2a | 69 | wait(0.5); |
ban4jp | 0:b0e7a802fc2a | 70 | |
ban4jp | 0:b0e7a802fc2a | 71 | // GET data |
ban4jp | 0:b0e7a802fc2a | 72 | { |
ban4jp | 0:b0e7a802fc2a | 73 | printf("\nTrying to GET request...\n"); |
ban4jp | 0:b0e7a802fc2a | 74 | ret = http.get("http://developer.mbed.org/media/uploads/donatien/hello.txt", str, sizeof(str)); |
ban4jp | 0:b0e7a802fc2a | 75 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 76 | printf("Page fetched successfully - read %d characters\n", strlen(str)); |
ban4jp | 0:b0e7a802fc2a | 77 | printf("Result: %s\n", str); |
ban4jp | 0:b0e7a802fc2a | 78 | } else { |
ban4jp | 0:b0e7a802fc2a | 79 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
ban4jp | 0:b0e7a802fc2a | 80 | } |
ban4jp | 0:b0e7a802fc2a | 81 | } |
ban4jp | 0:b0e7a802fc2a | 82 | |
ban4jp | 0:b0e7a802fc2a | 83 | // POST data |
ban4jp | 0:b0e7a802fc2a | 84 | { |
ban4jp | 0:b0e7a802fc2a | 85 | HTTPMap map; |
ban4jp | 0:b0e7a802fc2a | 86 | HTTPText inText(str, sizeof(str)); |
ban4jp | 0:b0e7a802fc2a | 87 | map.put("Hello", "World"); |
ban4jp | 0:b0e7a802fc2a | 88 | map.put("test", "1234"); |
ban4jp | 0:b0e7a802fc2a | 89 | |
ban4jp | 0:b0e7a802fc2a | 90 | printf("\nTrying to POST request...\n"); |
ban4jp | 0:b0e7a802fc2a | 91 | ret = http.post("http://httpbin.org/post", map, &inText); |
ban4jp | 0:b0e7a802fc2a | 92 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 93 | printf("Executed POST successfully - read %d characters\n", strlen(str)); |
ban4jp | 0:b0e7a802fc2a | 94 | printf("Result: %s\n", str); |
ban4jp | 0:b0e7a802fc2a | 95 | } else { |
ban4jp | 0:b0e7a802fc2a | 96 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
ban4jp | 0:b0e7a802fc2a | 97 | } |
ban4jp | 0:b0e7a802fc2a | 98 | } |
ban4jp | 0:b0e7a802fc2a | 99 | |
ban4jp | 0:b0e7a802fc2a | 100 | // PUT data |
ban4jp | 0:b0e7a802fc2a | 101 | { |
ban4jp | 0:b0e7a802fc2a | 102 | strcpy(str, "This is a PUT test!"); |
ban4jp | 0:b0e7a802fc2a | 103 | HTTPText outText(str); |
ban4jp | 0:b0e7a802fc2a | 104 | HTTPText inText(str, sizeof(str)); |
ban4jp | 0:b0e7a802fc2a | 105 | |
ban4jp | 0:b0e7a802fc2a | 106 | printf("\nTrying to PUT request...\n"); |
ban4jp | 0:b0e7a802fc2a | 107 | ret = http.put("http://httpbin.org/put", outText, &inText); |
ban4jp | 0:b0e7a802fc2a | 108 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 109 | printf("Executed PUT successfully - read %d characters\n", strlen(str)); |
ban4jp | 0:b0e7a802fc2a | 110 | printf("Result: %s\n", str); |
ban4jp | 0:b0e7a802fc2a | 111 | } else { |
ban4jp | 0:b0e7a802fc2a | 112 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
ban4jp | 0:b0e7a802fc2a | 113 | } |
ban4jp | 0:b0e7a802fc2a | 114 | } |
ban4jp | 0:b0e7a802fc2a | 115 | |
ban4jp | 0:b0e7a802fc2a | 116 | // DELETE data |
ban4jp | 0:b0e7a802fc2a | 117 | { |
ban4jp | 0:b0e7a802fc2a | 118 | HTTPText inText(str, sizeof(str)); |
ban4jp | 0:b0e7a802fc2a | 119 | |
ban4jp | 0:b0e7a802fc2a | 120 | printf("\nTrying to DELETE request...\n"); |
ban4jp | 0:b0e7a802fc2a | 121 | ret = http.del("http://httpbin.org/delete", &inText); |
ban4jp | 0:b0e7a802fc2a | 122 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 123 | printf("Executed DELETE successfully - read %d characters\n", strlen(str)); |
ban4jp | 0:b0e7a802fc2a | 124 | printf("Result: %s\n", str); |
ban4jp | 0:b0e7a802fc2a | 125 | } else { |
ban4jp | 0:b0e7a802fc2a | 126 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
ban4jp | 0:b0e7a802fc2a | 127 | } |
ban4jp | 0:b0e7a802fc2a | 128 | } |
ban4jp | 0:b0e7a802fc2a | 129 | |
ban4jp | 0:b0e7a802fc2a | 130 | printf("\n"); |
ban4jp | 0:b0e7a802fc2a | 131 | |
ban4jp | 0:b0e7a802fc2a | 132 | ret = wifi.disconnect(); |
ban4jp | 0:b0e7a802fc2a | 133 | if (!ret) { |
ban4jp | 0:b0e7a802fc2a | 134 | printf("Disconnected\n"); |
ban4jp | 0:b0e7a802fc2a | 135 | } else { |
ban4jp | 0:b0e7a802fc2a | 136 | printf("Error wifi.disconnect() - ret = %d\n", ret); |
ban4jp | 0:b0e7a802fc2a | 137 | } |
ban4jp | 0:b0e7a802fc2a | 138 | |
ban4jp | 0:b0e7a802fc2a | 139 | while(1) { |
ban4jp | 0:b0e7a802fc2a | 140 | } |
ban4jp | 0:b0e7a802fc2a | 141 | } |