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:
2018-06-06
Revision:
65:c6833441fd15
Parent:
63:99e063d738ee
Child:
71:a0fbcc153b55

File content as of revision 65:c6833441fd15:

{
    "config": {
        "wifi-shield": {
            "help": "Options are internal, WIFI_ESP8266, WIFI_ISM43362, WIFI_IDW0XX1",
            "value": "internal"
        },
        "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"]
        },
        "DISCO_F413ZH": {
            "wifi-shield": "WIFI_ISM43362"
        },
        "DISCO_L475VG_IOT01A": {
            "wifi-shield": "WIFI_ISM43362"
        },
        "NUCLEO_L476RG": {
            "wifi-tx": "D8",
            "wifi-rx": "D2"
        },
        "NUCLEO_F401RE": {
            "wifi-tx": "D8",
            "wifi-rx": "D2"
        }
    }
}