A quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of mbed-os.

Dependencies:   C12832

Revision:
44:63be19b7a3db
Parent:
36:aa0b6789bbd2
Child:
49:d44cac40bf15
diff -r 45429aa163a0 -r 63be19b7a3db README.md
--- a/README.md	Tue Nov 21 08:15:03 2017 +0000
+++ b/README.md	Tue Nov 21 11:30:03 2017 +0000
@@ -12,10 +12,11 @@
 
 * [UBLOX Odin board](https://developer.mbed.org/platforms/ublox-EVK-ODIN-W2/) built-in WiFi module
 * [REALTEK_RTL8195AM](https://developer.mbed.org/platforms/REALTEK-RTL8195AM/) built-in WiFi module
-* [NUCLEO_F401RE](https://developer.mbed.org/platforms/ST-Nucleo-F401RE/) with [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) WiFi expansion board using pins D8 D2
+* [NUCLEO_F401RE](https://developer.mbed.org/platforms/ST-Nucleo-F401RE/) with [X-NUCLEO-IDW04A1](http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-connect-hw/x-nucleo-idw04a1.html) WiFi expansion board using pins D8 D2 _(of the Arduino connector)_
+* [NUCLEO_F401RE](https://developer.mbed.org/platforms/ST-Nucleo-F401RE/) with [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) WiFi expansion board using pins PA_9 PA_10 _(of the Morpho connector)_
 * [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 targets with ESP8266 module or [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) expansion board
+* Other mbed targets with ESP8266 module, [X-NUCLEO-IDW04A1](http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-connect-hw/x-nucleo-idw04a1.html), or [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) expansion board
   *(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.
@@ -25,10 +26,10 @@
 
 **Note:** on NUCLEO development boards, pins `D0` and `D1` are used for serial communication with the computer. Use pins `D8` (to ESP8266 TX) and `D2` (to ESP8266 RX) instead.
 
-#### Connecting the X-NUCLEO-IDW01M1 ####
-To connect the [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) expansion board to your NUCLEO development board, just plug the expansion board on top of the NUCLEO board using the Morpho connector.
+#### Connecting the X-NUCLEO-IDW0XX1 ####
+To connect the [X-NUCLEO-IDW04A1](http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-connect-hw/x-nucleo-idw04a1.html) or [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) expansion board to your NUCLEO development board, just plug the expansion board on top of the NUCLEO board using the Arduino or Morpho connector, respectively.
 
-##  Getting started
+##  Getting started ##
 
 1. Import the example
 
@@ -43,8 +44,8 @@
    ```
        "config": {
  	  "wifi-shield": {
-               "help": "Options are WIFI_ESP8266, WIFI_IDW01M1",
-               "value": "WIFI_IDW01M1"
+               "help": "Options are WIFI_ESP8266, WIFI_IDW0XX1",
+               "value": "WIFI_ESP8266"
         	  },
            "wifi-ssid": {
                "help": "WiFi SSID",
@@ -57,14 +58,11 @@
        },
    ```
 
+   Sample ```mbed_app.json``` files are provided for ESP8266 (```mbed_app_esp8266.json```), X-NUCLEO-IDW04A1 (```mbed_app_idw04a1.json```, and X-NUCLEO-IDW01M1 (```mbed_app_idw01m1```).
+   
    For built-in WiFi, ignore the value of `wifi-shield`
 
-3. Copy the respective _ignore_ file to `.mbedignore`
-   * Copy `esp8266-mbedignore` when using ESP8266 module.
-   * Copy `idw01m1-mbedignore` when using [X-NUCLEO-IDW01M1](https://developer.mbed.org/components/X-NUCLEO-IDW01M1/) expansion board.
-   * For built-in WiFi, keep the default `.mbedignore`
-
-4. Compile and generate binary
+3. Compile and generate binary
 
    For example, for `GCC`:
 
@@ -72,15 +70,15 @@
    mbed compile -t GCC_ARM -m UBLOX_EVK_ODIN_W2
    ```
    
- 5. Open a serial console session with the target platform using the following parameters:
+ 4. Open a serial console session with the target platform using the following parameters:
     * **Baud rate:** 9600
     * **Data bits:** 8
     * **Stop bits:** 1
     * **Parity:** None
  
- 6. Copy or drag the application `mbed-os-example-wifi.bin` in the folder `mbed-os-example-wifi/BUILD/<TARGET NAME>/<PLATFORM NAME>` onto the target board.
+ 5. Copy or drag the application `mbed-os-example-wifi.bin` in the folder `mbed-os-example-wifi/BUILD/<TARGET NAME>/<PLATFORM NAME>` onto the target board.
  
- 7. The serial console should display a similar output to below, indicating a successful WiFi connection:
+ 6. The serial console should display a similar output to below, indicating a successful WiFi connection:
  ```
  WiFi example