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.

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Tue Feb 07 10:30:06 2017 +0000
Parent:
9:29a158009f0b
Child:
11:7a4445d07787
Commit message:
Use mbed_app.json to define wifi pins

.
Commit copied from https://github.com/ARMmbed/mbed-os-example-wifi

Changed in this revision

README.md Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed_app.json Show annotated file Show diff for this revision Revisions of this file
--- a/README.md	Wed Feb 01 11:00:05 2017 +0000
+++ b/README.md	Tue Feb 07 10:30:06 2017 +0000
@@ -10,7 +10,9 @@
 
 ### Supported hardware ###
 
-* [UBLOX Odin board](https://developer.mbed.org/platforms/ublox-EVK-ODIN-W2/) (`UBLOX_EVK_ODIN_W2` target when using mbed CLI)
+* [UBLOX Odin board](https://developer.mbed.org/platforms/ublox-EVK-ODIN-W2/) (`UBLOX_EVK_ODIN_W2` target when using mbed CLI) with ESP8266-01 module using pins D1 D0
+* [NUCLEO_F429ZI](https://developer.mbed.org/platforms/ST-Nucleo-F429ZI/) with ESP8266-01 module using pins D1 D0
+* [NUCLEO_L476RG](https://developer.mbed.org/platforms/ST-Nucleo-L476RG/) with ESP8266-01 module using pins D8 D2
 * Other mbed target with ESP2866 module (Board it's connected to shouldn't have other network interface eg. Ethernet)
 
 ESP2866 is a fallback option and will be used if the build is for unsupported platform.
--- a/main.cpp	Wed Feb 01 11:00:05 2017 +0000
+++ b/main.cpp	Tue Feb 07 10:30:06 2017 +0000
@@ -20,12 +20,15 @@
 #if TARGET_UBLOX_EVK_ODIN_W2
 #include "OdinWiFiInterface.h"
 OdinWiFiInterface wifi;
+
 #else
 #if !TARGET_FF_ARDUINO
 #error [NOT_SUPPORTED] Only Arduino form factor devices are supported at this time
 #endif
 #include "ESP8266Interface.h"
-ESP8266Interface wifi(D1, D0);
+
+ESP8266Interface wifi(MBED_CONF_APP_WIFI_TX, MBED_CONF_APP_WIFI_RX);
+
 #endif
 
 const char *sec2str(nsapi_security_t sec)
--- a/mbed_app.json	Wed Feb 01 11:00:05 2017 +0000
+++ b/mbed_app.json	Tue Feb 07 10:30:06 2017 +0000
@@ -6,12 +6,24 @@
         },
         "wifi-password": {
             "help": "WiFi Password",
-            "value": "\"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": {
         "UBLOX_EVK_ODIN_W2": {
             "target.device_has": ["EMAC"]
+        },
+        "NUCLEO_L476RG": {
+            "wifi-tx": "D8",
+            "wifi-rx": "D2"
         }
     }
 }