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.

mbed_app.json

Committer:
mbed_official
Date:
2017-09-26
Revision:
35:052c1ba06ce7
Parent:
32:bca3f5f442b3
Child:
43:45429aa163a0

File content as of revision 35:052c1ba06ce7:

{
    "config": {
	"wifi-shield": {
            "help": "Options are WIFI_ESP8266, WIFI_IDW01M1",
            "value": "WIFI_IDW01M1"
	},
        "wifi-ssid": {
            "help": "WiFi SSID",
            "value": "\"SSID\""
        },
        "wifi-password": {
            "help": "WiFi Password",
            "value": "\"PASSWORD\""
        },
        "wifi-tx": {
            "help": "TX pin for serial connection to external device",
            "value": "D1"
        },
        "wifi-rx": {
            "help": "RX pin for serial connection to external device",
            "value": "D0"
        }
    },
    "target_overrides": {
        "*": {
            "platform.stdio-convert-newlines": true
        },
        "UBLOX_EVK_ODIN_W2": {
            "target.device_has": ["EMAC"]
        },
        "NUCLEO_L476RG": {
            "wifi-tx": "D8",
            "wifi-rx": "D2"
        },
        "NUCLEO_F401RE": {
            "wifi-tx": "D8",
            "wifi-rx": "D2"
        }
    }
}