This is a quick example of a simple HTTP client program using the network-socket API that is provided as a part of mbed-os. The program brings up an underlying network interface, and uses it to perform an HTTP transaction over a TCPSocket.

Committer:
mbed_official
Date:
Tue Jun 19 12:30:04 2018 +0100
Revision:
49:1923a727df5b
Parent:
40:afef93b6d854
Child:
53:0d44278430d3
ONME-3556: Use default network interface

.
Commit copied from https://github.com/ARMmbed/mbed-os-example-sockets

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 49:1923a727df5b 1 ## Getting started with the network-socket API
mbed_official 0:17bd84fc5087 2
mbed_official 0:17bd84fc5087 3 This is a quick example of a simple HTTP client program using the
mbed_official 33:d470701728e6 4 [network-socket API](https://os.mbed.com/docs/latest/reference/network-socket.html) that [Mbed OS](https://github.com/ARMmbed/mbed-os) provides.
mbed_official 0:17bd84fc5087 5
mbed_official 0:17bd84fc5087 6 The program brings up an underlying network interface, and uses it to perform an HTTP
mbed_official 0:17bd84fc5087 7 transaction over a TCPSocket.
mbed_official 0:17bd84fc5087 8
mbed_official 49:1923a727df5b 9 ### Selecting the network interface
mbed_official 49:1923a727df5b 10
mbed_official 49:1923a727df5b 11 This application is able to use any network inteface it finds. Please see the Mbed OS documentationg for [selecting the default network interface](https://os.mbed.com/docs/v5.9/reference/configuration-connectivity.html#selecting-the-default-network-interface).
mbed_official 49:1923a727df5b 12
mbed_official 49:1923a727df5b 13 For example, building on Ethernet enabled boards, you do not do any configuration.
mbed_official 49:1923a727df5b 14
mbed_official 49:1923a727df5b 15 Building for WiFi boards, you need to provide SSID, password and security settings in `mbed_app.json` as instructed in the documentation.
mbed_official 49:1923a727df5b 16
mbed_official 49:1923a727df5b 17 Building for boards that have more that one network interface, you might need to override `target.network-default-interface-type` variable.
mbed_official 0:17bd84fc5087 18
mbed_official 40:afef93b6d854 19 ### Building
mbed_official 40:afef93b6d854 20
mbed_official 40:afef93b6d854 21 ```
mbed_official 40:afef93b6d854 22 mbed compile -t <toolchain> -m <target>
mbed_official 40:afef93b6d854 23 ```
mbed_official 40:afef93b6d854 24
mbed_official 40:afef93b6d854 25 For example, building for K64F using GCC: `mbed compile -t GCC_ARM -m K64F`
mbed_official 24:0449435e2ef2 26
mbed_official 13:ed9e4aa00044 27 ### Expected output ###
mbed_official 13:ed9e4aa00044 28
mbed_official 40:afef93b6d854 29 **Note:** The default serial port baud rate is 9600 bit/s.
mbed_official 40:afef93b6d854 30
mbed_official 13:ed9e4aa00044 31 ```
mbed_official 13:ed9e4aa00044 32 IP address: 10.118.14.45
mbed_official 13:ed9e4aa00044 33 Netmask: 255.255.252.0
mbed_official 13:ed9e4aa00044 34 Gateway: 10.118.12.1
mbed_official 13:ed9e4aa00044 35 sent 39 [GET / HTTP/1.1]
mbed_official 13:ed9e4aa00044 36 recv 173 [HTTP/1.1 200 OK]
mbed_official 13:ed9e4aa00044 37 External IP address: 217.140.111.135
mbed_official 13:ed9e4aa00044 38 Done
mbed_official 13:ed9e4aa00044 39 ```
mbed_official 13:ed9e4aa00044 40
mbed_official 0:17bd84fc5087 41 ### Documentation ###
mbed_official 0:17bd84fc5087 42
mbed_official 12:2e7466eba9a3 43 More information on the network-socket API can be found in the [mbed handbook](https://docs.mbed.com/docs/mbed-os-api-reference/en/latest/APIs/communication/network_sockets/).
mbed_official 33:d470701728e6 44
mbed_official 33:d470701728e6 45 ## Troubleshooting
mbed_official 33:d470701728e6 46
mbed_official 33:d470701728e6 47 If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.