A quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of mbed-os.
Fork of mbed-os-example-mbed5-wifi by
README.md@10:5b5beb106156, 2017-02-07 (annotated)
- Committer:
- mbed_official
- Date:
- Tue Feb 07 10:30:06 2017 +0000
- Revision:
- 10:5b5beb106156
- Parent:
- 6:9944c5308062
- Child:
- 22:887649aaedcb
Use mbed_app.json to define wifi pins
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-wifi
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:857719181846 | 1 | # mbed-os-example-wifi # |
mbed_official | 0:857719181846 | 2 | |
mbed_official | 0:857719181846 | 3 | WiFi example for mbed OS |
mbed_official | 0:857719181846 | 4 | |
mbed_official | 0:857719181846 | 5 | ## Getting started with the WiFi API ## |
mbed_official | 0:857719181846 | 6 | |
mbed_official | 0:857719181846 | 7 | This is a quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of [mbed-os](github.com/armmbed/mbed-os). |
mbed_official | 0:857719181846 | 8 | |
mbed_official | 0:857719181846 | 9 | 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. |
mbed_official | 0:857719181846 | 10 | |
mbed_official | 0:857719181846 | 11 | ### Supported hardware ### |
mbed_official | 0:857719181846 | 12 | |
mbed_official | 10:5b5beb106156 | 13 | * [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 |
mbed_official | 10:5b5beb106156 | 14 | * [NUCLEO_F429ZI](https://developer.mbed.org/platforms/ST-Nucleo-F429ZI/) with ESP8266-01 module using pins D1 D0 |
mbed_official | 10:5b5beb106156 | 15 | * [NUCLEO_L476RG](https://developer.mbed.org/platforms/ST-Nucleo-L476RG/) with ESP8266-01 module using pins D8 D2 |
mbed_official | 0:857719181846 | 16 | * Other mbed target with ESP2866 module (Board it's connected to shouldn't have other network interface eg. Ethernet) |
mbed_official | 0:857719181846 | 17 | |
mbed_official | 0:857719181846 | 18 | ESP2866 is a fallback option and will be used if the build is for unsupported platform. |
mbed_official | 0:857719181846 | 19 | |
mbed_official | 6:9944c5308062 | 20 | #### Connecting the ESP2866 #### |
mbed_official | 6:9944c5308062 | 21 | |
mbed_official | 6:9944c5308062 | 22 | ESP module needs to be connected to RX and TX UART pins (+ power and ground) on your target board. That can be achieved using Grove shield or connected directly using jumper wires, please note that not all Arduino form factor boards have UART compatible with the Grove shiled. |
mbed_official | 6:9944c5308062 | 23 | |
mbed_official | 6:9944c5308062 | 24 | For Grove shield TX has to be connected to D1 and RX to D0. |
mbed_official | 6:9944c5308062 | 25 | |
mbed_official | 6:9944c5308062 | 26 | Make sure that UART module you're connecting ESP to is different than the debug UART connected to your USB port. |
mbed_official | 6:9944c5308062 | 27 | |
mbed_official | 0:857719181846 | 28 | ## Getting started |
mbed_official | 0:857719181846 | 29 | |
mbed_official | 0:857719181846 | 30 | 1. Import the example |
mbed_official | 0:857719181846 | 31 | |
mbed_official | 0:857719181846 | 32 | ``` |
mbed_official | 0:857719181846 | 33 | mbed import mbed-os-example-wifi |
mbed_official | 0:857719181846 | 34 | cd mbed-os-example-wifi |
mbed_official | 0:857719181846 | 35 | ``` |
mbed_official | 0:857719181846 | 36 | 2. Configure the WiFi credentials |
mbed_official | 0:857719181846 | 37 | |
mbed_official | 0:857719181846 | 38 | Edit ```mbed_app.json``` to include correct SSID and Password: |
mbed_official | 0:857719181846 | 39 | |
mbed_official | 0:857719181846 | 40 | ``` |
mbed_official | 0:857719181846 | 41 | "config": { |
mbed_official | 0:857719181846 | 42 | "wifi-ssid": { |
mbed_official | 0:857719181846 | 43 | "help": "WiFi SSID", |
mbed_official | 0:857719181846 | 44 | "value": "\"SSID\"" |
mbed_official | 0:857719181846 | 45 | }, |
mbed_official | 0:857719181846 | 46 | "wifi-password": { |
mbed_official | 0:857719181846 | 47 | "help": "WiFi Password", |
mbed_official | 0:857719181846 | 48 | "value": "\"Password\"" |
mbed_official | 0:857719181846 | 49 | } |
mbed_official | 0:857719181846 | 50 | }, |
mbed_official | 0:857719181846 | 51 | ``` |
mbed_official | 0:857719181846 | 52 | |
mbed_official | 0:857719181846 | 53 | 3. Compile and generate binary |
mbed_official | 0:857719181846 | 54 | |
mbed_official | 0:857719181846 | 55 | For example, for `GCC`: |
mbed_official | 0:857719181846 | 56 | |
mbed_official | 0:857719181846 | 57 | ``` |
mbed_official | 0:857719181846 | 58 | mbed compile -t GCC_ARM -m UBLOX_EVK_ODIN_W2 |
mbed_official | 0:857719181846 | 59 | ``` |
mbed_official | 0:857719181846 | 60 | |
mbed_official | 0:857719181846 | 61 | ## Documentation ## |
mbed_official | 0:857719181846 | 62 | |
mbed_official | 0:857719181846 | 63 | More information on the network-socket API can be found in the [mbed handbook](https://docs.mbed.com/docs/mbed-os-api-reference/en/5.2/APIs/communication/network_sockets/). |