Mohamad Nazrin Napiah
/
http-example
mbed os 5 http example by nazrin
Fork of http-example by
README.md@19:fbf5b033149a, 2017-10-26 (annotated)
- Committer:
- Jan Jongboom
- Date:
- Thu Oct 26 17:08:32 2017 -0700
- Revision:
- 19:fbf5b033149a
- Parent:
- 17:97b1dd566b07
- Child:
- 23:6a9d776c9794
Add note on flash size
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jan Jongboom |
0:85fdc69bc10c | 1 | # mbed-os-example-http(s) |
Jan Jongboom |
0:85fdc69bc10c | 2 | |
Jan Jongboom |
0:85fdc69bc10c | 3 | This application demonstrates how to make HTTP and HTTPS requests and parse the response from mbed OS 5. |
Jan Jongboom |
0:85fdc69bc10c | 4 | |
Jan Jongboom |
11:72c089200302 | 5 | It consists of four demo's, which you can select in ``source/select-demo.h``. |
Jan Jongboom |
0:85fdc69bc10c | 6 | |
Jan Jongboom |
11:72c089200302 | 7 | * HTTP demo: |
Jan Jongboom |
4:27fd8efb5bab | 8 | * Does a GET request to http://httpbin.org/status/418. |
Jan Jongboom |
4:27fd8efb5bab | 9 | * Does a POST request to http://httpbin.org/post. |
Jan Jongboom |
11:72c089200302 | 10 | * HTTPS demo: |
Jan Jongboom |
4:27fd8efb5bab | 11 | * Does a GET request to https://developer.mbed.org/media/uploads/mbed_official/hello.txt. |
Jan Jongboom |
4:27fd8efb5bab | 12 | * Does a POST request to https://httpbin.org/post. |
Jan Jongboom |
11:72c089200302 | 13 | * HTTP demo with socket re-use. |
Jan Jongboom |
11:72c089200302 | 14 | * HTTPS demo with socket re-use. |
Jan Jongboom |
0:85fdc69bc10c | 15 | |
Jan Jongboom |
0:85fdc69bc10c | 16 | Response parsing is done through [nodejs/http-parser](https://github.com/nodejs/http-parser). |
Jan Jongboom |
0:85fdc69bc10c | 17 | |
Jan Jongboom |
17:97b1dd566b07 | 18 | **Note:** HTTPS requests do not work on targets with less than 128K of RAM due to the size of the TLS handshake. For more background see [mbed-http](https://developer.mbed.org/teams/sandbox/code/mbed-http). |
Jan Jongboom |
17:97b1dd566b07 | 19 | |
Jan Jongboom |
0:85fdc69bc10c | 20 | ## To build |
Jan Jongboom |
0:85fdc69bc10c | 21 | |
Jan Jongboom |
0:85fdc69bc10c | 22 | 1. Open ``mbed_app.json`` and change the `network-interface` option to your connectivity method ([more info](https://github.com/ARMmbed/easy-connect)). |
Jan Jongboom |
0:85fdc69bc10c | 23 | 2. Build the project in the online compiler or using mbed CLI. |
Jan Jongboom |
0:85fdc69bc10c | 24 | 3. Flash the project to your development board. |
Jan Jongboom |
0:85fdc69bc10c | 25 | 4. Attach a serial monitor to your board to see the debug messages. |
Jan Jongboom |
0:85fdc69bc10c | 26 | |
Jan Jongboom |
0:85fdc69bc10c | 27 | ## Entropy (or lack thereof) |
Jan Jongboom |
0:85fdc69bc10c | 28 | |
Jan Jongboom |
17:97b1dd566b07 | 29 | On all platforms **except** the FRDM-K64F, FRDM-K22F and EVK-ODIN-W2, the application is compiled without TLS entropy sources. This means that your code is inherently unsafe and should not be deployed to any production systems. To enable entropy, remove the `MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES` and `MBEDTLS_TEST_NULL_ENTROPY` macros from mbed_app.json. |
Jan Jongboom |
0:85fdc69bc10c | 30 | |
Jan Jongboom |
19:fbf5b033149a | 31 | ## Flash size |
Jan Jongboom |
19:fbf5b033149a | 32 | |
Jan Jongboom |
19:fbf5b033149a | 33 | Default flash size for HTTPS is very large, as the application is loading the default mbed TLS configuration. To use a more optimized version, include `mbedtls_config.h` in your mbed_app.json, by adding: |
Jan Jongboom |
19:fbf5b033149a | 34 | |
Jan Jongboom |
19:fbf5b033149a | 35 | ``` |
Jan Jongboom |
19:fbf5b033149a | 36 | "MBEDTLS_CONFIG_FILE=\"fotalora_mbedtls_config.h\"" |
Jan Jongboom |
19:fbf5b033149a | 37 | ``` |
Jan Jongboom |
19:fbf5b033149a | 38 | |
Jan Jongboom |
19:fbf5b033149a | 39 | to the `macros` array. |
Jan Jongboom |
19:fbf5b033149a | 40 | |
Jan Jongboom |
0:85fdc69bc10c | 41 | ## Tested on |
Jan Jongboom |
0:85fdc69bc10c | 42 | |
Jan Jongboom |
0:85fdc69bc10c | 43 | * K64F with Ethernet. |
Jan Jongboom |
0:85fdc69bc10c | 44 | * NUCLEO_F411RE with ESP8266. |
Jan Jongboom |
17:97b1dd566b07 | 45 | * ODIN-W2 with WiFi. |