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: main.cpp
- Revision:
- 77:b74ac6641a3e
- Parent:
- 74:af086eac5e99
- Child:
- 91:dab9882e2b49
--- a/main.cpp Tue Aug 28 11:15:03 2018 +0100 +++ b/main.cpp Fri Aug 31 12:15:03 2018 +0100 @@ -17,43 +17,8 @@ #include "mbed.h" #include "TCPSocket.h" -#define internal 1 -#define WIFI_ESP8266 2 -#define WIFI_IDW0XX1 3 -#define WIFI_ISM43362 4 - WiFiInterface *wifi; -#if MBED_CONF_APP_WIFI_SHIELD == WIFI_ESP8266 - -#include "ESP8266Interface.h" - -WiFiInterface *WiFiInterface::get_default_instance() { - static ESP8266Interface esp(MBED_CONF_APP_WIFI_TX, MBED_CONF_APP_WIFI_RX); - return &esp; -} - -#elif MBED_CONF_APP_WIFI_SHIELD == WIFI_ISM43362 - -#include "ISM43362Interface.h" - -WiFiInterface *WiFiInterface::get_default_instance() { - static ISM43362Interface ism; - return &ism; -} - -#elif MBED_CONF_APP_WIFI_SHIELD == WIFI_IDW0XX1 - -#include "SpwfSAInterface.h" - -WiFiInterface *WiFiInterface::get_default_instance() { - static SpwfSAInterface spwf(MBED_CONF_APP_WIFI_TX, MBED_CONF_APP_WIFI_RX); - return &spwf; -} - -#endif - - const char *sec2str(nsapi_security_t sec) { switch (sec) {