A quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of mbed-os.

The program brings up the WiFi and the underlying network interface, and uses it to scans available networks, connects to a network, prints interface and connection details and performs simple HTTP operation.

Supported hardware:

Not that the mbed target board the WiFi shield gets connected to shouldn't have any other network interface e.g. Ethernet.

ESP8266 is a fallback option and will be used if the build is for unsupported platform.

Committer:
mbed_official
Date:
Thu Jun 22 14:15:04 2017 +0100
Revision:
22:887649aaedcb
Parent:
10:5b5beb106156
Child:
27:b3c6dba3b6e9
Include REALTEK_RTL8195AM and clean up docs
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-wifi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:857719181846 1 # mbed-os-example-wifi #
mbed_official 0:857719181846 2
mbed_official 0:857719181846 3 WiFi example for mbed OS
mbed_official 0:857719181846 4
mbed_official 0:857719181846 5 ## Getting started with the WiFi API ##
mbed_official 0:857719181846 6
mbed_official 0:857719181846 7 This is a quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of [mbed-os](github.com/armmbed/mbed-os).
mbed_official 0:857719181846 8
mbed_official 0:857719181846 9 The program brings up the WiFi and the underlying network interface, and uses it to scans available networks, connects to a network, prints interface and connection details and performs simple HTTP operation.
mbed_official 0:857719181846 10
mbed_official 0:857719181846 11 ### Supported hardware ###
mbed_official 0:857719181846 12
mbed_official 22:887649aaedcb 13 * [UBLOX Odin board](https://developer.mbed.org/platforms/ublox-EVK-ODIN-W2/) built-in WiFi module
mbed_official 22:887649aaedcb 14 * [REALTEK_RTL8195AM](https://developer.mbed.org/platforms/REALTEK-RTL8195AM/) built-in WiFi module
mbed_official 10:5b5beb106156 15 * [NUCLEO_F429ZI](https://developer.mbed.org/platforms/ST-Nucleo-F429ZI/) with ESP8266-01 module using pins D1 D0
mbed_official 10:5b5beb106156 16 * [NUCLEO_L476RG](https://developer.mbed.org/platforms/ST-Nucleo-L476RG/) with ESP8266-01 module using pins D8 D2
mbed_official 0:857719181846 17 * Other mbed target with ESP2866 module (Board it's connected to shouldn't have other network interface eg. Ethernet)
mbed_official 0:857719181846 18
mbed_official 0:857719181846 19 ESP2866 is a fallback option and will be used if the build is for unsupported platform.
mbed_official 0:857719181846 20
mbed_official 6:9944c5308062 21 #### Connecting the ESP2866 ####
mbed_official 6:9944c5308062 22
mbed_official 6:9944c5308062 23 ESP module needs to be connected to RX and TX UART pins (+ power and ground) on your target board. That can be achieved using Grove shield or connected directly using jumper wires, please note that not all Arduino form factor boards have UART compatible with the Grove shiled.
mbed_official 6:9944c5308062 24
mbed_official 6:9944c5308062 25 For Grove shield TX has to be connected to D1 and RX to D0.
mbed_official 6:9944c5308062 26
mbed_official 6:9944c5308062 27 Make sure that UART module you're connecting ESP to is different than the debug UART connected to your USB port.
mbed_official 6:9944c5308062 28
mbed_official 0:857719181846 29 ## Getting started
mbed_official 0:857719181846 30
mbed_official 0:857719181846 31 1. Import the example
mbed_official 0:857719181846 32
mbed_official 0:857719181846 33 ```
mbed_official 0:857719181846 34 mbed import mbed-os-example-wifi
mbed_official 0:857719181846 35 cd mbed-os-example-wifi
mbed_official 0:857719181846 36 ```
mbed_official 0:857719181846 37 2. Configure the WiFi credentials
mbed_official 0:857719181846 38
mbed_official 0:857719181846 39 Edit ```mbed_app.json``` to include correct SSID and Password:
mbed_official 0:857719181846 40
mbed_official 0:857719181846 41 ```
mbed_official 0:857719181846 42 "config": {
mbed_official 0:857719181846 43 "wifi-ssid": {
mbed_official 0:857719181846 44 "help": "WiFi SSID",
mbed_official 0:857719181846 45 "value": "\"SSID\""
mbed_official 0:857719181846 46 },
mbed_official 0:857719181846 47 "wifi-password": {
mbed_official 0:857719181846 48 "help": "WiFi Password",
mbed_official 0:857719181846 49 "value": "\"Password\""
mbed_official 0:857719181846 50 }
mbed_official 0:857719181846 51 },
mbed_official 0:857719181846 52 ```
mbed_official 0:857719181846 53
mbed_official 0:857719181846 54 3. Compile and generate binary
mbed_official 0:857719181846 55
mbed_official 0:857719181846 56 For example, for `GCC`:
mbed_official 0:857719181846 57
mbed_official 0:857719181846 58 ```
mbed_official 0:857719181846 59 mbed compile -t GCC_ARM -m UBLOX_EVK_ODIN_W2
mbed_official 0:857719181846 60 ```
mbed_official 0:857719181846 61
mbed_official 0:857719181846 62 ## Documentation ##
mbed_official 0:857719181846 63
mbed_official 0:857719181846 64 More information on the network-socket API can be found in the [mbed handbook](https://docs.mbed.com/docs/mbed-os-api-reference/en/5.2/APIs/communication/network_sockets/).