ST
A world leader in providing the semiconductor solutions that make a positive contribution to people’s lives, both today and in the future.
You are viewing an older revision! See the latest version
How to make wifi tests
WIFI ST boards¶
STM32 boards with this ISM43362 built-in module¶
- DISCO_L475VG_IOT01A : https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/
- DISCO_F413ZH : https://os.mbed.com/platforms/ST-Discovery-F413H/
WIFI driver code¶
https://github.com/ARMmbed/wifi-ism43362
Add this wifi driver in your mbed-os directory :
cd mbed-os git clone https://github.com/ARMmbed/wifi-ism43362.git
There is no git label, use the master branch.
Configuration for both ST boards are provided by this driver.
For information, file is : https://github.com/ARMmbed/wifi-ism43362/blob/master/mbed_lib.json
mbed-os tests¶
Wifi tests¶
Several mbed-os tests are using WiFi connection :
- tests-netsocket-dns
- tests-netsocket-tcp
- tests-netsocket-tls
- tests-netsocket-udp
- tests-network-interface
- tests-network-wifi
Test setup¶
For netsocket tests, you need to configure 1 access point :
- Internet access
- SSID name : "wifi-secure-ssid" (SSID can be private)
- WPA2 password : "wifi-password"
For network-wifi test, you need to configure 2 access points:
- no need to Internet access
- SSID name : "wifi-secure-ssid" (SSID has to be broadcasted)
- WPA2 password : "wifi-password"
- guest SSID name : "wifi-unsecure-ssid" (SSID has to be broadcasted)
- channel and the BSSID of secure AP : "wifi-ch-secure", "ap-mac-secure"
- channel and the BSSID of unsecure AP : "wifi-ch-unsecure", "ap-mac-unsecure"
Test configuration¶
Now update your mbed_app.json file with :
{ "config": { "echo-server-addr" : { "help" : "IP address of echo server", "value" : "\"echo.mbedcloudtesting.com\"" }, "echo-server-port" : { "help" : "Port of echo server", "value" : "7" }, "echo-server-discard-port" : { "help" : "Discard port of echo server", "value" : "9" }, "echo-server-port-tls" : { "help" : "Echo port of echo server", "value" : "2007" }, "echo-server-discard-port-tls" : { "help" : "Discard port of echo server", "value" : "2009" }, "wifi-secure-ssid": { "help": "WiFi SSID for WPA2 secured network", "value": "\"TOREPLACE\"" }, "wifi-unsecure-ssid": { "help": "WiFi SSID for unsecure network", "value": "\"TOREPLACE\"" }, "wifi-password": { "help": "WiFi Password", "value": "\"TOREPLACE\"" }, "wifi-secure-protocol": { "help": "WiFi security protocol, valid values are WEP, WPA, WPA2, WPA/WPA2", "value": "\"WPA2\"" }, "wifi-ch-secure": { "help": "Channel number of secure SSID", "value": 1 }, "wifi-ch-unsecure": { "help": "Channel number of unsecure SSID", "value": 2 }, "ap-mac-secure": { "help": "BSSID of secure AP in form of AA:BB:CC:DD:EE:FF", "value": "\"TOREPLACE\"" }, "ap-mac-unsecure": { "help": "BSSID of unsecure AP in form of \"AA:BB:CC:DD:EE:FF\"", "value": "\"TOREPLACE\"" }, "max-scan-size": { "help": "How many networks may appear in Wifi scan result", "value": 10 } }, "target_overrides": { "DISCO_F413ZH": { "target.network-default-interface-type": "WIFI", "nsapi.default-wifi-ssid": "\"TOREPLACE\"", "nsapi.default-wifi-password": "\"TOREPLACE\"", "nsapi.default-wifi-security": "WPA2", "ism43362.provide-default": true }, "DISCO_L475VG_IOT01A": { "target.network-default-interface-type": "WIFI", "nsapi.default-wifi-ssid": "\"TOREPLACE\"", "nsapi.default-wifi-password": "\"TOREPLACE\"", "nsapi.default-wifi-security": "WPA2", "ism43362.provide-default": true } } }
You need to update it to indicate your local settings (network SSID, password, ...)
Test execution¶
mbed test -m DISCO_F413ZH -t ARM -v -n tests-net* mbed test -m DISCO_F413ZH -t ARM -v -n tests-network* mbed test -m DISCO_F413ZH -t ARM -v -n tests-network-wifi mbed test -m DISCO_L475VG_IOT01A -t GCC_ARM -v -n tests-netsocket* mbed test -m DISCO_L475VG_IOT01A -t GCC_ARM -v -n tests-netsocket-tcp
WIFI example applications¶
mbed-os-example-wifi¶
https://github.com/ARMmbed/mbed-os-example-wifi
mbed import mbed-os-example-wifi cd mbed-os-example-wifi mbed add wifi-ism43362 <edit mbed_app.json file> "value": "\"SSID\"" "value": "\"PASSWORD\"" mbed compile -t GCC_ARM -m DISCO_L475VG_IOT01A --flash
Pelion Device Ready example¶
https://github.com/ARMmbed/pelion-ready-example
WIFI firmware update¶
Only Wifi module from DISCO_L475VG_IOT01A can be updated (HW limitation for DISCO_F413ZH).
- Drag and drop binary InventekBootloaderPassthrough.bin file from https://www.st.com/resource/en/utilities/inventek_fw_updater.zip
Blue LED should be ON now.
- Download the latest STM32L4 Discovery kit IoT node binary from https://www.inventeksys.com/iwin/firmware/
- Install FLASHER-STM32 tool : https://www.st.com/en/development-tools/flasher-stm32.html
- Start STMFlashLoader Demo.exe
- select the correct COM port (keep Baud Rate 115200 / Parity Even / Echo Disabled / Timeout 30s) => Next
- "Target is readable" => Next
- Select "STM32F2_1024K" => Next
- Download to device: select ISM43362_M3G_L44_SPI_C3.5.2.5.STM.bin / Global Erase / Verify after download => Next