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.

Revision:
46:9282f93cd1ce
Parent:
43:45429aa163a0
Child:
47:6796df310c90
--- a/Jenkinsfile	Wed Nov 22 09:15:03 2017 +0000
+++ b/Jenkinsfile	Wed Nov 22 11:00:03 2017 +0000
@@ -14,9 +14,9 @@
 // List of targets with supported RF shields to compile
 def targets = [
   "UBLOX_EVK_ODIN_W2": ["builtin"],
-  "REALTEK_RTL8195AM": ["builtin"],
+  // "REALTEK_RTL8195AM": ["builtin"], // Disabled because of https://github.com/ARMmbed/mbed-os/issues/5545
   "K64F": ["WIFI_ESP8266"],
-  "NUCLEO_F401RE": ["WIFI_IDW01M1"],
+  "NUCLEO_F401RE": ["WIFI_IDW0XX1"],
   "NUCLEO_F429ZI": ["WIFI_ESP8266"]
   ]
 
@@ -72,10 +72,6 @@
             execute("sed -i 's/\"value\": \"internal\"/\"value\": \"${radioShield}\"/' ${config_file}")
           }
 
-          if ("${radioShield}" == "WIFI_IDW01M1") {
-            execute("rm .mbedignore")
-          }
-
           // Set mbed-os to revision received as parameter
           execute ("mbed deploy --protocol ssh")
           if (params.mbed_os_revision != '') {
@@ -88,7 +84,7 @@
               }
             }
           }
-
+          execute("mbed new .")
           execute ("mbed compile --build out/${target}_${toolchain}_${radioShield}/ -m ${target} -t ${toolchain} -c --app-config ${config_file}")
         }
         stash name: "${target}_${toolchain}_${radioShield}", includes: '**/mbed-os-example-wifi.bin'