WiFi 9 Click Board
WiFi 9 Click Board
The WiFi 9 Click Board™ is a fully embedded stand-alone Wi-Fi module, equipped with the PAN9420 a 2.4 GHz ISM band WiFi-embedded module which includes a wireless radio and an MCU for easy integration of WiFi connectivity into various electronic devices. This module combines a high-performance CPU with Wireless radio and integrated memory, which offers many features like webpage storing of HTML or image data, the possibility to work in the access point or infrastructure mode, and dual UART interface for communication with the host controllers.
Software Support
We provide a library for the WiFi 9 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library carries generic command parser adopted for WiFi 9 command based modules.
Generic parser
Key Functions
wifi9_cmdSingle
- Sends provided command to the module.wifi9_setHandler
- Handler assignation to the provied command.wifi9_modulePower
- Turn on module.
Example Description
The application is composed of three sections :
- System Initialization - Initializes all necessary GPIO pins, UART used for the communication with WIFI module and UART used for information logging.
- Application Initialization - Initializes driver, power on module and a procedure has been created with commands where the module connects to the WIFI router and opens the Netcat server.
- Application Task - running in parallel core state machine.
void applicationInit() { // TIMER INIT wifi9_configTimer(); // DRIVER INIT wifi9_uartDriverInit((T_WIFI9_P)&_MIKROBUS1_GPIO, (T_WIFI9_P)&_MIKROBUS1_UART); wifi9_coreInit( wifi9_default_handler, 1500 ); // MODULE POWER ON wifi9_hfcEnable( 0 ); wifi9_modulePower( 1 ); wifi9_selectUart(_WIFI9_SELECT_CMD_UART); Delay_ms( 4000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); mikrobus_logWrite( "---- System Info ----", _LOG_LINE ); mikrobus_logWrite( "---------------------", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_FIRMWARE[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_MAC_ADDR[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_SERIAL_NUM[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_RADIO_VER[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_BOOTL_VER[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_HW_REV[0]); Delay_ms( 5000 ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); mikrobus_logWrite( "---- Start NETCAT app ----", _LOG_LINE ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); mikrobus_logWrite( "> Reads the current Station status", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_WLAN_STATE_STA[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Set Station to ON status", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_WLAN_STATE_STA_ON[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Sets Station SSID and PASSWORD", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_WLAN_CFG_STA[0]); Delay_ms( 4000 ); mikrobus_logWrite( "> Turn OFF - Netcat module", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_STATE_OFF[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Turn ON - Netcat module", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_STATE_ON[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Sets the Netcat module as a server with port 1234", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_CFG_SERVER[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Excludes Netcat authentication", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_AUTH_OFF[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Gets the current received IP address", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_NET_CFG_STA[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> At the moment, a netcat server at port 1234 has been built", _LOG_LINE ); mikrobus_logWrite( "> The module is transferred to BIN-UART - for data collection", _LOG_LINE ); wifi9_selectUart(_WIFI9_SELECT_BIN_UART); Delay_ms( 5000 ); }
Additional Functions :
All additional functions such as timer initialization and default handler.
Notes :
- First hold the reset button on the click board for about 5 seconds so that the module would perform a factory reset.
- When the module turns on and writes "factory reset" on the terminal.
- it's ready to be configured.
- In the example we've created a procedure that connects your module to WiFi network and sends commands for creating Netcat server with port (1234).
- After all commands are finished executing, it is necessary to create a Netcat client on a terminal (we used Cygwin64 terminal).
- In the example only some of the supported commands were used.
- the rest you can find in the technical documentation.
- Keep in mind that the click board uses two UART modules.
- CMD-UART(for sending commands) and BIN-UART(for sending the data)..
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- String
- Conversion
- UART
Additional Notes and Information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The WiFi 9 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
WiFi 9 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.