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:
- UBLOX Odin board built-in WiFi module
- REALTEK_RTL8195AM built-in WiFi module
- NUCLEO_F401RE with X-NUCLEO-IDW01M1 WiFi expansion board using pins D8 D2
- NUCLEO_F429ZI with ESP8266-01 module using pins D1 D0
- NUCLEO_L476RG with ESP8266-01 module using pins D8 D2
- Other mbed targets with ESP8266 module or X-NUCLEO-IDW01M1 expansion board
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.
Diff: mbed_app.json
- Revision:
- 77:b74ac6641a3e
- Parent:
- 71:a0fbcc153b55
--- a/mbed_app.json Tue Aug 28 11:15:03 2018 +0100 +++ b/mbed_app.json Fri Aug 31 12:15:03 2018 +0100 @@ -1,9 +1,5 @@ { "config": { - "wifi-shield": { - "help": "Options are internal, WIFI_ESP8266, WIFI_ISM43362, WIFI_IDW0XX1", - "value": "internal" - }, "wifi-ssid": { "help": "WiFi SSID", "value": "\"SSID\"" @@ -11,33 +7,11 @@ "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 - }, - "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" } } }