TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (388 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (120 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (140363 times)
  2. FAT32 Library (72765 times)
  3. Network Ethernet Library (57875 times)
  4. USB Device Library (48025 times)
  5. Network WiFi Library (43608 times)
  6. FT800 Library (43041 times)
  7. GSM click (30173 times)
  8. mikroSDK (28850 times)
  9. PID Library (27080 times)
  10. microSD click (26605 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

WiFi BLE click

Not published

Rating:

5

Author: MIKROE

Last Updated: 2023-04-10

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: WiFi+BLE

Downloaded: 4010 times

Not followed.

License: MIT license  

WiFi BLE click is a Click boardâ„¢ which provides Internet and BT/BLE connectivity for any embedded application. It features the ESP32-WROOM-32, an integrated wireless connectivity solution.

No Abuse Reported
  • Information
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
mikroBasic PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

WiFi BLE click

WiFi BLE click

Native view of the WiFi BLE click board.

View full image
WiFi BLE click

WiFi BLE click

Front and back view of the WiFi BLE click board.

View full image

Library Description

Library carries generic command parser adopted for AT command based modules. Generic parser.

Key functions:

  • wifible_cmdSingle - Sends provided command to the module.
  • wifible_setHandler - Handler assignation to the provied command.
  • wifible_modulePower - Turn on module.

Examples description

The application is composed of the three sections :

  • System Initialization - Initializes all necessary GPIO pins, UART used for the communcation with WiFi-BLE module and UART used for infromation logging.
  • Application Initialization - Initializes driver, power on module and sends few command for the default module configuration.
  • Application Task - Waits for valid user input and executes functions based on set of valid commands.

Commands : '+' - Next command 's' - Start command 'e' - change example (WiFi example / BLE example)

Additional Functions :

  • void _packageBeaconData( ) - Package iBeacon data
  • void _WiFi_TCPServer( ) - WiFi example / command list
  • void _BLE_iBeacon( ) - BLE example / command list

Timer initialization and default handler.

Note:

  • For click test we've created two examples which you can change by sending the command [e] to the terminal.
  • In the WiFi example, the module connects to TCP server (we used application called "TCP Server" for Android) and sends the message "MikroE" to it.
  • BLE example demonstrates how WiFi BLE Click acts as iBeacon - with the help of the right commands we've created a beacon which allows us to scan it using the app called Beacon scanner.
  • Only some of the commands that WiFi BLE click supports were used in the example
  • for the rest of the available commands check the documentation
  • Before starting the program it is necessary to provide valid parameters for connecting to the router (SSID, password) as well as the IP address and port of the TCP server which the Click board is going to connect to.
void applicationTask()
{
    uint8_t dataReady_;
    char receivedData_;

    dataReady_ = UART_Rdy_Ptr( );
    wifible_process();
    
    if (dataReady_ != 0)
    {
        receivedData_ = UART_Rd_Ptr( );

        switch (receivedData_)
        {
            case '+' :
            {
                command_cnt++;
                if(command_cnt > 5)
                {
                    command_cnt = 0;
                }
                fCommand = _WIFIBLE_NEXT_COMMAND;
                break;
            }
            case 's' :
            {
                fCommand = _WIFIBLE_START_COMMAND;
                break;
            }
            case 'e' :
            {
                if(fExample == _WIFIBLE_BLE_EXAMPLE)
                {
                    fExample = _WIFIBLE_WIFI_EXAMPLE;
                    mikrobus_logWrite("- Example: WiFi - TCP example ", _LOG_LINE);
                    mikrobus_logWrite("- [+] First command // [e] Next example", _LOG_LINE);
                    command_cnt = -1;
                    fCommand = _WIFIBLE_NO_COMMAND;
                }
                if(fExample == _WIFIBLE_WIFI_EXAMPLE)
                {
                    fExample = _WIFIBLE_BLE_EXAMPLE;
                    mikrobus_logWrite("- Example: BLE - iBeacon example ", _LOG_LINE);
                    mikrobus_logWrite("- [+] First command // [e] Next example", _LOG_LINE);
                    command_cnt = -1;
                    fCommand = _WIFIBLE_NO_COMMAND;
                }
                break;
            }
        }
        
        if(fExample == _WIFIBLE_WIFI_EXAMPLE)
        {
            _WiFi_TCPServer(command_cnt);
        }
        if(fExample == _WIFIBLE_BLE_EXAMPLE)
        {
            _BLE_iBeacon(command_cnt);
        }
    }
}

Alongside with the demo application timer initialization functions are provided. Note that timer is configured acording to default develoment system and MCUs, changing the system or MCU may require update of timer init and timer ISR functions.

Other mikroE Libraries used in the example:

  • String
  • Conversion

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB 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.

ALSO FROM THIS AUTHOR

1-Wire I2C click

10

1-Wire I2C click converts the 1-wire signal from the MCU to I2C signal, which is then sent to the slave, and vice versa. The click carries DS28E17 1-Wire-to-I2C master bridge from Maxim Integrated. 1-Wire I2C click runs on a 3.3V power supply.

[Learn More]

Angle 8 Click

0

Angle 8 Click is a compact add-on board that detects the absolute angular position of a permanent magnet. This board features the MA782GGU, a low-power angle sensor with integrated wake-up angle detection from Monolithic Power Systems. With its power cycling ability, the MA782GGU can be optimized for applications that require low average power. It supports a wide range of magnetic field strengths and spatial configurations, with both end-of-shaft and off-axis (side-shaft mounting), supported configurations. Fast data acquisition and processing provides accurate angle measurement at an applied magnetic field of 60mT, alongside magnetic field strength detection with programmable thresholds. This Click board™ is suitable for general-purpose angle measurements, in embedded motion control applications, as a power/speed control trigger solution, and more.

[Learn More]

Expand 5 Click

0

EXPAND 5 Click features a low-voltage 24-bit I2C and SMBus I/O expander. This 24-bit I/O expander is designed to provide general-purpose remote I/O expansion for most microcontroller families via the I2C serial interface.

[Learn More]
Close menu