Wi-Fi Commissioning Logs
The image below illustrates the debug messages displayed in the serial console during a Wi-Fi commissioning process.
Change the Default Settings
Use the UART Command Line Interface
If you want to change the default settings used by the demonstration, a first solution is to press Enter within the 5 seconds after the microcontroller boot to start the UART command line interface. You can either select to start as a SoftAP or as a station. You are then prompted to provide the required information.
Recompile the Project
You can change the default settings by recompiling the project. Go to the demo_config.h file and change the settings to suit your needs. Use your preferred IDE to recompile the project and flash your board.
The most common configurations are included in the IDE project files. These build configurations can for instance select the bus interface (SPI / SDIO) to use to communicate with the WF(M)200 chip or enable the Low Power feature.
With this configuration, the host uses the SPI bus to communicate with the Wi-Fi solution. Remember to put the bus switch of the WF200 Expansion Board accordingly.
With this configuration, the host uses the SDIO bus to communicate with the Wi-Fi solution. Remember to put the bus switch of the WF200 Expansion Board accordingly.
With this configuration, the demonstration allows the host to put the Wi-Fi solution in power save mode. Note that this feature is enabled in station mode only. It is automatically disabled when the SoftAP interface is started.
To test the Low Power Configuration, download the related binary available in the project or select the configuration in your IDE, rebuild the project and flash your product. Once done, make sure the application only starts in station mode (using the UART CLI for example).
You can refer to the AN1219: Power Consumption Measurement Setup and Results on WF(M)200 document to perform measurements on the WF(M)200.
This example starts a TCP Server for iPerf testing by default. When enabled, the TCP Server for iPerf will be listening for incoming connections at any time. The method to start an iPerf test is dependent on the platform you are using to run the iPerf client:
- For PCs, install iPerf on your machine. Once installed, call the command below:
iperf -c 10.10.0.1
You simply need to issue this command as illustrated in the following image:
- For Android smartphones, install Magic iPerf using the Google Play Store. Open the application and enter the command above without the 'iperf'. Make sure [iPerf2] is selected. You can start the test by using the [Stopped] switch.
- For IOS smartphones, install HE.NET Network Tools using the Apple Store. Open the application and open the side menu to click on 'iperf'. Make sure 'TCP' is selected. Enter the number of bytes you want to send (e.g., 100 M) and finally enter the IP address in the upper text box (e.g., 10.10.0.1). The iPerf test starts.
Wi-Fi FMAC Driver Documentation
For your own application development or for more information about the Wi-Fi FMAC Driver, please refer to the documentation.
Connecting the STM32 MCU Starter Kit to your Wireless Network is a complex process. If any of the steps in the process is not done correctly, failure can occur. This section describes a few basic steps you can take to troubleshoot this demo.
Check the Debugging Messages from a Serial Terminal
Open a serial terminal as described in the section Start the Example.
Check the Hardware Connections
Check the boards connection to ensure that the WF(M)200 Expansion Board is inserted tightly into the Arduino/Nucleo interposer, as described in section Set up your Kit. Make sure that all the switches are in the correct position, as described in section Set up your Kit.
Verify Wi-Fi Access Point Settings
Use your Wi-Fi router’s (i.e., AP) administrative GUI to verify network settings for the wireless network Service Set Identifier (SSID) to which your WF200 Wi-Fi module is trying to connect. Locate the SSID that you are troubleshooting. On a basic Wi-Fi router, there may be just one SSID, or one for each radio band (2.4 GHz and 5 GHz). Identify the IP subnet assigned to that SSID. Upon successful connection, your WF200 Wi-Fi module should receive a local IP address from this subnet. Identify the Wi-Fi router’s local IP address that should be reachable through this subnet. Check your Wi-Fi router's events log or status GUI to verify that an IP address from this subnet is assigned to your WF200 when it connects. After you have all the above information, ensure that it matches the settings in your embedded application, as described in the section Change the Default Settings.
Verify Network Connection with Ping
After your WF200 has a valid IP address, use ping to verify network connectivity. Ping your WF200 from another station or from your Wi-Fi router.
Check Wireless-Specific Issues
If your WF200 still can't connect, get a valid IP address or ping your Wi-Fi router. Then, it's time to consider wireless-specific problems. The Wi-Fi AP or router and WF200 must use compatible 802.11 standards and the same network name (SSID). Use your AP or router's admin GUI to view WLAN settings and compare them to your embedded application's wireless connection parameters. Run the scan command in the Serial Console and verify that your Wi-Fi AP or Router is displayed in the list. If your SSID does not appear in the WF200's Available Networks list, enable SSID broadcasts on your AP or router. Be sure to match the SSID exactly, including capitalization.
Look for a Security Mismatch
If your WF200 and Wi-Fi AP or router can hear each other but still cannot connect or exchange traffic, look for a security mismatch.
Configure the Wi-Fi AP or Router to one of the security modes the WF200 supports: Open, WEP, WPA or WPA2. Compare your Wi-Fi AP or router's WLAN security settings to your embedded application's Wi-Fi connection properties to match them, as described in the section Change the Default Settings.