betzw / mbed-os-example-wifi

Wi-fi example for mbed OS 5.0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mbed-os-example-wifi

WiFi example for mbed OS

Getting started with the WiFi API

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.

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

ESP8266 is a fallback option and will be used if the build is for unsupported platform.

Connecting the ESP8266

To connect the ESP8266 module to your development board, look at the ESP8266 Cookbook page. In general, this means hooking up the ESP8266 TX pin to D0 and the ESP8266 RX pin to D1 on your development board.

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-IDW0XX1

To connect the X-NUCLEO-IDW04A1 or 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

  1. Import the example

    mbed import mbed-os-example-wifi
    cd mbed-os-example-wifi
    
  2. Configure the WiFi shield to use

    Edit mbed_app.json to include correct WiFi shield, SSID and Password:

        "config": {
       "wifi-shield": {
                "help": "Options are WIFI_ESP8266, WIFI_IDW0XX1",
                "value": "WIFI_ESP8266"
         	  },
            "wifi-ssid": {
                "help": "WiFi SSID",
                "value": "\"SSID\""
            },
            "wifi-password": {
                "help": "WiFi Password",
                "value": "\"Password\""
            }
        },
    

    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. Compile and generate binary

    For example, for GCC:

    mbed compile -t GCC_ARM -m UBLOX_EVK_ODIN_W2
    
  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
  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.

  6. The serial console should display a similar output to below, indicating a successful WiFi connection:

WiFi example

Scan:
Network: Dave Hot Spot secured: Unknown BSSID: 00:01:02:03:04:05 RSSI: -58 Ch: 1
1 network available.

Connecting...
Success

MAC: 00:01:02:03:04:05
IP: 192.168.0.5
Netmask: 255.255.255.0
Gateway: 192.168.0.1
RSSI: -27

Sending HTTP request to www.arm.com...
sent 38 [GET / HTTP/1.1]
recv 64 [HTTP/1.1 301 Moved Permanently]

Done

Documentation

More information on the network-socket API can be found in the mbed handbook.

About

Wi-fi example for mbed OS 5.0

License:Apache License 2.0


Languages

Language:C++ 100.0%